4 ms·
This is very sad. Hapi.js seriously tried to bring some sanity back to node.js development. Eran Hammer is a rock star. He did an amazing job, brought a super c
by yagodragon 6y ago
This is very sad. Hapi.js seriously tried to bring some sanity back to node.js development. Eran Hammer is a rock star. He did an amazing job, brought a super clean codebase, secure defaults etc but i feel the timing was bad. Hapi.js was good just for API's. Do you want to use it with a database? Good luck finding an orm and setting up migrations on your own. Meanwhile, in the last couple of years golang exploded and the node.js found it's niche in react server side rendering.
I feel that every node.js MVC backend framework or the MERN stack of the 2015 era will become obsolete. That includes adonis.js , nest.js , meteor etc. I still haven't found any job description mentioning these frameworks. If you're looking for a backend language for your next project, look at python, php and rails and use javascript where it's good at, the front-end.
- claytongulick 6y agoThis opinion doesn't seem to be backed by much evidence. The single-thread async-by-default execution model that nodejs shines at is brilliant for io bound tasks, like REST APIs. Go is fine and has it's strengths, but is by no means a nodejs killer. It's another tool in the toolbox. Reducing one of the most popular and effective modern server-side languages to "react server side rendering" is inaccurate, at best. It also ignores node's massive use in the embedded space, desktop (electron, nwjs, etc...) and emerging data science space. When I'm looking for a backend for my next project, it would be very hard to convince me to move backwards to python etc... Those feel very legacy to me. Slow, apartment threaded model with blocking io, tons of context thrash from thread switching, bad package management, difficult environment configuration, etc... I'll stick with node until there's another truly innovative technology that comes along.
- kostarelo 6y agoAlso, Node.js is doing just fine without a full-fledged framework like RoR or Django. In my current environment (~100 engineers, cross-functional teams, many Node.js services per pod), we have a few recommendations for libraries (Koa, knex, Passport, Boom, etc) but the glue on how to connect those are left to the engineer/pod. We don't feel the need for a stricter framework. Although I would like to hear other opinions on how that could be bad and if with a framework things would be better.
- yagodragon 6y agoIt doesn't really matter anyway but Koa.js(and express.js) creator TJ Holowaychuk switched from Node to Go at ~2014 and hasn't look back. After all these years he's still the number one contributor on github. It's very sad seeing how poorly maintained all these nodejs stuff is. 5 years ago everyone thought that express.js is gonna disrupt the world and replace "legacy" web stack
- BossingAround 6y ago> replace "legacy" web stack As Ruby wanes into death, Express takes its place. Not sure about Python and Django/Flask, but I have a feeling they never got any overwhelming foothold in webdev anyways. The question is whether web developers want to learn strongly typed Go, which is quite a jump from Python, PHP, JS, or Ruby. Go has quite a steep learning curve even coming from TS. I personally feel like Go is the future, but I wouldn't be surprised if Node became the defacto standard. Year after year, JS is among top 3, if not #1, used language in developer surveys.
- yagodragon 6y agoI'm not talking about Javascript as a language vs Ruby/Python. Javascript is super hot and exciting and react.js is eating the web no doubt. I'm talking about classic, stateful MVC monolithic backends, which is the most common architecture for web apps. This is where Node.js sucks. Seriously, if you created a new SaaS business, would you choose express.js instead of Rails for your backend? I believe you'd be in a serious disadvantage. > As Ruby wanes into death, Express takes its place. Say that to Github, AirBnb, Shopify, Stripe and many more companies.I don't even know ruby or rails but i appreciate what it has done for the web and how much time it's saving people around the world. Express.js basically ignores all these advancements in productivity brought by rails, by requiring you to install so many small packages for small details that you'll probably need at some point anyway.
- BossingAround 6y ago> Seriously, if you created a new SaaS business, would you choose express.js instead of Rails for your backend? To be completely honest, probably yes. As far as I know, Ruby has some serious performance and memory leak problems. > Say that to Github, AirBnb, Shopify, Stripe and many more companies. Sure... My company has legacy code in Groovy. It's still used, maintained, and productive. That said, I'd never say that my company is a heavy groovy user. Rather, my company didn't want to spend resources to get rid of Groovy. I don't know Ruby that well, but I'm having hard time seeing cool new cloud-native projects heavily utilizing containerized Ruby.
- yagodragon 6y agoMost of the web apps are mostly CRUD at the end of the day and boring stacks like rails,php,python are perfect for this kind of job. The most popular node.js framework is express.js and it doesn't even have anything built-in to parse request bodies. You'll have to reinvent the wheel in every single step of your app. Sails.js, adonis.js, nest.js meteor etc are all pretty much dead. They try to poorly re-implement everything we love about rails/django. Heck, even modern PHP with type-hints and symphony/laravel is better than full-stack nodejs these days. If you're so lucky that your django,rails api can't scale your load, you can use Go which is also way better than node.js in every single aspect (standard library, language, tooling, deployment, performance). That being said though, i'm really excited and curious about graphql servers and prisma.js and how all these tools could eventually introduce a new way to build crud apps but for now i'll stick with proven tech and wait.
- agustif 6y agoNestJS seems very much alive, although is a little bit bloated for my taste. I would recommend TS+GraphQL-Modules+GQL-Codegen instead. Apollo is a must too both server and client. GraphQL Subscriptions = WebSockets = Real Time bi-directional channel. Lots of cool stuff on TypeScript/GraphQL being done. Nothing wrong with one framework fading off
- nesarkvechnep 6y agoYes, because GraphQL is a fix for everything.
- mikermcneil 6y agoFor the record, Sails === not dead (unless I am also dead) In all seriousness: I maintain it every day with a team of 4 other core team members with the help of an incredible community of contributors. https://sailsjs.com/about https://sailsjs.com/about
- aogaili 6y ago"That includes adonis.js , nest.js , meteor etc" Adonis just released a new version and the developer is working full-time. Nest.js is only 3 years old! And Meteor is receiving updates everyday. "I feel that every node.js MVC backend framework or the MERN stack of the 2015 era will become obsolete. " Don't feel, look for clear facts and think critically, if one framework is down because literally there are 5+ alternatives to it, it doesn't mean all the ecosystem is down.