[{"data":1,"prerenderedAt":701},["ShallowReactive",2],{"project-10849460":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":46,"post_text":47,"what":48,"said":96,"maker_in_thread":214,"shape":222,"grid":227,"attempts":664,"same_week":665,"maker_shows":542,"maker_hidden":693,"reader_version":694,"card":695},"10849460","Nodal","Nodal. Next-Generation Node.js Server and Framework","title","Show HN: Nodal. Next-Generation Node.js Server and Framework","http:\u002F\u002Fwww.nodaljs.com\u002F","nodaljs.com","keithwhor",1452072019,2016,288,168,72,2264,4,"legend","languages","web framework","library",[24,25,26,27],"node.js framework","es6 orm","node migrations","postgres orm","mixed",-0.144,{"positive":31,"neutral":32,"mixed":33,"critical":34},8,15,5,14,42,{"design":37,"idea":39,"docs":42,"execution":44},{"positive":18,"critical":38},6,{"positive":40,"critical":41},0,3,{"positive":40,"critical":43},2,{"positive":45,"critical":43},1,[33,45,33,40,40,40,40,40,40,40,40,40,40,40,40,45,40,40,40,40,40,40,43,41,41,43,45,41,33,45,18,40,45,41,45,41,18,41,40,40],null,{"problem":49,"audience":63,"pricing":47,"motivation":73,"time_to_build":47,"stack":77,"openness":94,"stage":95,"team_size":94},{"value":50,"source":51,"evidence":52},"Lack of a standard, batteries-included Node framework with ORM and migrations","maker",[53,57,60],{"id":54,"by":55,"text":56},"10849654","dev360","Long time Django (and occassional rails) dev here.. I've messed with Node from time to time but never really been wowed by the fragmented eco-system around Express (or flask…",{"id":58,"by":11,"text":59},"10849676","Most of it is written from scratch. For better or worse, I'm very systems-oriented, meaning I like to understand everything from the ground up and I spend a lot of time…",{"id":61,"by":11,"text":62},"10849790","Understand completely. I share the same feelings, which is why I built Nodal. I was building my Node applications from the ground and building the same things each time ;), felt…",{"value":64,"source":65,"evidence":66},"Node.js developers building ES6 applications and microservices","inferred",[67,70],{"id":68,"by":11,"text":69},"10849757","I found this a difficult line to toe during development. Where do I encourage developers to do whatever they'd like, and where do I enforce some sort of standard? I tried to pick…",{"id":71,"by":11,"text":72},"10849641","Systems modularity. Nodal is about building independent micro services which each have their own internal consistency (the Nodal environment) but are not tied to each other.…",{"value":74,"source":51,"evidence":75},"Maker rebuilt the same Node app pieces each time and wanted a standard toolset",[76],{"id":61,"by":11,"text":62},[78,82],{"value":79,"source":51,"evidence":80},"Node.js",[81],{"id":68,"by":11,"text":69},{"value":83,"source":84,"evidence":85},"PostgreSQL","commenter",[86,90],{"id":87,"by":88,"text":89},"10849969","bshimmin","Nice to see Postgres as a\u002Fthe first-class citizen here! From a quick glance at the documentation, the \"server types\" seem very sensible.",{"id":91,"by":92,"text":93},"10853296","gisenberg","FWIW, I checked out at the \"go install PostGres\" pre-requisite. I'd prefer either being less opinionated about pgsql or making the dependency transparent via something like Docker.","unknown","beta",{"praise":97,"objections":117,"requests":155,"questions":180,"alternatives":200},[98,102,110],{"value":99,"source":84,"evidence":100},"ES6 class-based design feels modern",[101],{"id":54,"by":55,"text":56},{"value":103,"source":84,"evidence":104},"Built-in ORM and migrations are valuable",[105,106],{"id":54,"by":55,"text":56},{"id":107,"by":108,"text":109},"10851385","chrishn","This looks awesome. The ORM itself may be the thing that makes me switch to Node. Are soft deletes planned in the future? I saw that cascading is on the roadmap.",{"value":111,"source":84,"evidence":112},"Source is good for learning MVC framework design",[113],{"id":114,"by":115,"text":116},"10852592","seivan","The source is amazing for anyone wanting to learn how to write decent MVC framework. Though I got some reservation about letting users write regex for routes and middleware…",[118,129,140,151],{"value":119,"source":84,"evidence":120},"Documentation is lacking",[121,125],{"id":122,"by":123,"text":124},"10849601","foxpc","The docs do seem to be a little lacking - it's mostly technical stuff about methods and might not be what the developer is looking for. Looking at documentations from Laravel,…",{"id":126,"by":127,"text":128},"10851366","tomjen3","The framework might be good, but you need to ditch that video and replace it with some example code. I need to know why it is better than Express or other Node frameworks and…",{"value":130,"source":84,"evidence":131},"Too batteries-included; prefers modular packages",[132,136],{"id":133,"by":134,"text":135},"10849872","amelius","Perhaps it is just me, but I much prefer functionality broken down in small packages, rather than offered as a complete framework. The advantage is that module boundaries are…",{"id":137,"by":138,"text":139},"10849805","pfooti","This looks interesting, and although I'm already committed to an ad-hoc framework on my current projects, I'll check it out for future ideas (or to import some of your ideas into…",{"value":141,"source":84,"evidence":142},"Code is arcane and custom require and static methods hurt readability",[143,147],{"id":144,"by":145,"text":146},"10852899","angersock","I won't speak for anyone else, but looking at the code samples, pretty much everything I was worried about in terms of readability for ES6\u002Fsilly uses of 'this' is present here.…",{"id":148,"by":149,"text":150},"10853416","voidr","The project is still 0.5 and it has a lot of cool ideas that most other NodeJS frameworks lack. That being said, here are the things I feel would be worth improving, based on the…",{"value":152,"source":84,"evidence":153},"Requires PostgreSQL install as prerequisite",[154],{"id":91,"by":92,"text":93},[156,163,169,176],{"value":157,"source":84,"evidence":158},"Transaction support in the ORM",[159],{"id":160,"by":161,"text":162},"10850817","p0larboy","Doesn't seem to have transaction support for the ORM",{"value":164,"source":84,"evidence":165},"Built-in socket support",[166],{"id":167,"by":11,"text":168},"10849921","Nodal doesn't have built-in socket support right now but the benefits of non-blocking IO in node are obviously huge. (It will. I just want to make sure I do integrated socket…",{"value":170,"source":84,"evidence":171},"MySQL support",[172],{"id":173,"by":174,"text":175},"10850717","xjlin0","This is awesome, how about mysql users?",{"value":177,"source":84,"evidence":178},"Soft deletes and cascading",[179],{"id":107,"by":108,"text":109},[181,188,196],{"value":182,"source":84,"evidence":183},"Why not ES6 imports instead of custom require",[184],{"id":185,"by":186,"text":187},"10850026","chvid","Great work and very good presentation. (These comments are just from watching the first video.) But how is this next-generation? It seems to be very inspired by established…",{"value":189,"source":84,"evidence":190},"What makes it next-generation",[191,195],{"id":192,"by":193,"text":194},"10849881","vvpan","What does \"next-generation\" mean?",{"id":126,"by":127,"text":128},{"value":197,"source":84,"evidence":198},"Why an ORM instead of a JS-oriented NoSQL database",[199],{"id":185,"by":186,"text":187},[201,205,209],{"value":202,"source":84,"evidence":203},"Express",[204],{"id":126,"by":127,"text":128},{"value":206,"source":84,"evidence":207},"Hapi.js",[208],{"id":137,"by":138,"text":139},{"value":210,"source":84,"evidence":211},"Rails and Django",[212,213],{"id":54,"by":55,"text":56},{"id":148,"by":149,"text":150},{"comments":215,"answered":38,"key":216},17,[217,218,219],{"id":58,"text":59},{"id":68,"text":69},{"id":220,"text":221},"10849795","I'm beaming. Thank you so much for your comment.",{"commenters":223,"max_depth":224,"maker_replies":215,"first_comment_mins":225,"lifespan_hours":226},98,10,29,223,[228,230,232,235,237,241,243,247,249,252,254,258,260,263,266,269,272,275,277,280,283,286,289,291,293,295,297,299,302,304,306,309,312,314,317,319,322,324,327,329,331,333,336,339,342,344,346,348,350,353,355,358,361,364,366,369,372,375,378,380,382,384,387,389,392,395,398,402,405,407,410,412,415,417,419,421,423,426,429,432,435,437,440,443,446,449,451,453,456,459,462,465,467,470,472,475,478,481,484,487,490,491,493,494,496,498,500,502,506,509,511,513,515,518,520,523,525,527,530,532,535,539,541,543,545,548,551,553,555,557,562,564,567,570,573,575,578,581,584,587,588,589,594,596,599,600,603,605,608,610,612,615,618,621,624,628,632,634,638,640,642,644,647,649,652,655,658,661],[54,40,33,229,55,40],"project\u002Fpositive\u002Fdesign",[58,40,40,231,11,45],"maker\u002Fneutral\u002Fnone",[233,40,41,234,55,40],"10849706","project\u002Fneutral\u002Fdesign",[68,40,40,236,11,45],"maker\u002Fneutral\u002Fdesign",[238,40,40,239,240,40],"10849775","commenter\u002Fneutral\u002Fnone","lumpypua",[242,40,40,239,55,40],"10849916",[244,40,45,245,246,40],"10850659","project\u002Fcritical\u002Fidea","agconti",[248,40,40,239,55,40],"10851356",[250,40,33,229,251,40],"10849782","davej",[220,40,40,253,11,45],"maker\u002Fpositive\u002Fnone",[255,40,40,256,257,40],"10851174","other\u002Fneutral\u002Fnone","tbrock",[259,40,40,256,55,40],"10851287",[261,40,40,256,262,40],"10851453","ph4",[264,45,40,256,265,40],"10849889","irregularexp",[267,45,40,256,268,40],"10849909","tzaman",[270,45,40,256,271,40],"10849933","moonchrome",[273,45,40,239,274,40],"10849958","enkephalin",[276,45,40,256,271,40],"10850024",[278,45,40,239,279,40],"10850296","krisdol",[281,45,40,239,282,40],"10852459","TranquilMarmot",[284,45,40,256,285,40],"10850763","qwertyuiop924",[287,45,40,256,288,40],"10851734","EvanPlaice",[290,45,40,239,285,40],"10857733",[292,45,40,256,288,40],"10898456",[294,45,40,239,285,40],"10910374",[296,45,40,239,268,40],"10849960",[298,45,40,239,92,40],"10853263",[300,45,40,239,301,40],"10849980","Wintamute",[303,45,40,239,271,40],"10850061",[305,45,40,239,138,40],"10851706",[307,45,40,239,308,40],"10850424","rhinoceraptor",[310,45,40,239,311,40],"10849940","cantagi",[313,45,40,239,301,40],"10849986",[315,45,40,256,316,40],"10849977","bottled_poe",[318,45,40,239,268,40],"10849992",[320,45,40,256,321,40],"10850010","wslh",[323,45,40,239,301,40],"10850041",[325,45,40,239,326,40],"10850650","rco8786",[328,45,40,239,321,40],"10851332",[330,45,40,239,326,40],"10852139",[332,45,40,239,321,40],"10855516",[334,45,40,256,335,40],"10850204","davedx",[337,45,40,256,338,40],"10850955","johnnydoebk",[340,45,40,256,341,40],"10851120","s_kilk",[343,45,40,256,55,40],"10849910",[167,45,40,345,11,45],"maker\u002Fneutral\u002Fexecution",[347,45,40,256,265,40],"10849937",[349,45,40,256,55,40],"10849994",[351,45,40,256,352,40],"10849913","zodiac",[354,45,40,256,265,40],"10849944",[356,45,40,239,357,40],"10850040","matthewrudy",[359,45,40,239,360,40],"10850826","Scarbutt",[362,45,40,256,363,40],"10849946","spoiler",[365,45,40,256,271,40],"10849948",[367,45,40,256,368,40],"10849919","gldalmaso",[370,45,40,256,371,40],"10849950","tomelders",[373,45,40,239,374,40],"10852092","Keats",[376,45,40,256,377,40],"10849926","chaostheory",[379,45,40,239,274,40],"10849949",[381,45,40,239,377,40],"10850000",[383,45,40,256,274,40],"10849932",[385,45,40,256,386,40],"10849955","wootez",[388,45,40,239,274,40],"10849966",[390,45,40,239,391,40],"10851205","humbleMouse",[393,45,40,239,394,40],"10851583","Gigablah",[396,45,40,256,397,40],"10849965","hellbanTHIS",[399,45,45,400,401,40],"10849983","project\u002Fcritical\u002Fdesign","dustingetz",[403,45,40,256,404,40],"10850003","anatari",[406,45,40,256,301,40],"10850008",[408,45,40,256,409,40],"10850048","yulaow",[411,45,40,239,301,40],"10850080",[413,45,40,239,414,40],"10850405","mgkimsal",[416,45,40,239,301,40],"10850554",[418,45,40,239,414,40],"10853645",[420,45,40,239,301,40],"10857464",[422,45,40,256,145,40],"10852885",[424,45,40,256,425,40],"10850027","qaq",[427,45,40,256,428,40],"10850117","dbattaglia",[430,45,40,256,431,40],"10850288","bryanlarsen",[433,45,40,239,434,40],"10850430","paulpepper",[436,45,40,239,431,40],"10850468",[438,45,40,256,439,40],"10850334","impostervt",[441,45,40,239,442,40],"10851190","hitgeek",[444,45,40,256,445,40],"10851028","rdtsc",[447,45,40,239,448,40],"10851093","Tloewald",[450,45,40,239,445,40],"10851252",[452,45,40,239,301,40],"10857406",[454,45,40,256,455,40],"10851128","JohnDotAwesome",[457,45,40,239,458,40],"10851224","it_learnses",[460,45,40,256,461,40],"10855986","morenoh149",[463,45,40,239,464,40],"10851445","brndn",[466,45,40,239,455,40],"10887624",[468,45,40,256,469,40],"10851688","curun1r",[185,43,41,471,186,40],"project\u002Fmixed\u002Fdesign",[473,43,45,400,474,40],"10850973","brazzledazzle",[476,43,41,234,477,40],"10851231","adrusi",[479,43,41,234,480,40],"10851402","bpicolo",[482,43,41,234,483,40],"10851793","vectorpush",[485,43,41,234,486,40],"10854296","jessaustin",[488,43,41,234,489,40],"10854647","mnutt",[148,41,41,471,149,40],[492,41,40,231,11,45],"10854338",[137,18,41,234,138,40],[495,18,40,231,11,45],"10849821",[497,18,41,471,138,40],"10849828",[499,18,40,236,11,45],"10849855",[501,18,41,234,138,40],"10850005",[503,18,45,504,505,40],"10852281","project\u002Fcritical\u002Fnone","novaleaf",[507,33,41,234,508,40],"10850037","xixixao",[510,33,40,236,11,45],"10851323",[512,33,41,234,469,40],"10851962",[514,33,40,236,11,45],"10852347",[516,38,45,400,517,40],"10849579","janjongboom",[519,38,40,236,11,45],"10849586",[521,38,41,234,522,40],"10852328","icebraining",[524,38,40,239,115,40],"10849594",[526,38,40,236,11,45],"10849597",[528,38,33,229,529,40],"10849624","altern8",[531,38,40,239,55,40],"10849671",[533,38,40,256,534,40],"10849672","vdfs",[536,38,40,537,538,40],"10849647","other\u002Fneutral\u002Fdesign","chrisfarms",[540,38,40,537,474,40],"10851183",[133,542,45,245,134,40],7,[544,542,40,239,115,40],"10850322",[546,31,45,400,547,40],"10849833","freshyill",[549,31,45,400,550,40],"10849863","PuffinBlue",[552,31,40,236,11,45],"10849912",[554,31,41,236,550,40],"10849975",[556,31,33,229,428,40],"10850134",[558,559,41,560,561,40],"10849776",9,"project\u002Fmixed\u002Fidea","fcanela",[61,559,40,563,11,45],"maker\u002Fneutral\u002Fidea",[565,224,40,256,566,40],"10851412","antjanus",[568,224,40,569,149,40],"10853277","other\u002Fcritical\u002Fnone",[571,572,40,256,115,40],"10849611",11,[574,572,40,256,55,40],"10849699",[576,572,40,256,577,40],"10850107","pluma",[122,579,45,580,123,40],12,"project\u002Fcritical\u002Fdocs",[582,579,40,583,11,45],"10849627","maker\u002Fneutral\u002Fdocs",[87,585,33,586,88,40],13,"project\u002Fpositive\u002Fnone",[144,34,45,400,145,40],[114,32,41,471,115,40],[590,591,41,592,593,40],"10849553",16,"project\u002Fneutral\u002Fdocs","johnhenry",[595,591,40,583,11,45],"10849590",[597,591,45,245,598,40],"10849615","joekrill",[71,591,40,563,11,45],[601,591,40,239,602,40],"10849643","tckr",[91,215,45,604,92,40],"project\u002Fcritical\u002Fexecution",[606,215,40,239,607,40],"10853382","mikewhy",[160,609,45,604,161,40],18,[611,609,40,345,11,45],"10852550",[107,613,33,614,108,40],19,"project\u002Fpositive\u002Fexecution",[616,617,40,256,442,40],"10851204",20,[192,619,41,620,193,40],21,"project\u002Fneutral\u002Fidea",[173,622,41,623,174,40],22,"project\u002Fneutral\u002Fexecution",[625,626,33,586,627,40],"10850971",23,"akoumjian",[629,630,33,253,631,40],"10853351",24,"GeorgeMatthews",[126,633,45,580,127,40],25,[635,636,40,569,637,40],"10849638",26,"rms_returns",[639,636,40,239,55,40],"10849677",[641,636,40,256,637,40],"10849711",[643,636,40,256,55,40],"10849731",[645,636,40,239,646,40],"10849746","progx",[648,636,40,239,138,40],"10849750",[650,636,40,239,651,40],"10849781","connor4312",[653,636,40,239,654,40],"10849792","oneweekwonder",[656,636,40,239,657,40],"10849982","br3w5",[659,636,40,239,660,40],"10850848","slashink",[662,636,40,256,663,40],"10849692","kzhahou",[],[666,670,675,680,684,688],{"id":667,"name":668,"points":669,"category":20},"10824064","GPU text rendering with vector textures",334,{"id":671,"name":672,"points":673,"category":674},"10830587","Saola",151,"dev_tools",{"id":676,"name":677,"points":678,"category":679},"10830799","friends",96,"productivity",{"id":681,"name":682,"points":683,"category":679},"10850811","GitBook Editor Beta",92,{"id":685,"name":686,"points":687,"category":20},"10832207","Searchkit",74,{"id":689,"name":690,"points":691,"category":692},"10849544","dataviztalk.blogspot.com",70,"data",false,"v2",{"id":696,"name":5,"line":6,"ai":693,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":697,"top":18,"kw":698,"maker":11,"domain":10,"tier":19,"attempts":40,"strip":699,"url":9,"mix":700,"praise":99,"objection":119,"sub":21},10849460,-0.14,[24,25,26,27],"5150000000000001000000233213514013134300",[31,32,33,34],1794036539332]