These stories about switching to node are pretty funny: "I switched from a dump truck to a motorbike and now I can drive way faster!" Node.js isn't really faster than most other popular languages with an evented library, but if switching to Node involves scrapping years of enterprise cruft, then maybe it's worth it.
By the way, enterprise adoption of Node is surely a sign that we need to jump ship. Glad I got out of Rails before enterprise adopted it!
What did you switch to after abandoning Rails? I consider the tooling and rails ecosystem to be the best for small, agile projects and I'm really interested in the alternatives.
I switched to node.js because it was the trendy new thing and I could charge 3x the rate of boring mainstream programmers to deliver the same product, except worse (because it's node.js).
I need a new thing though, since apparently node.js is getting too mainstream. Maybe if I can convince enough businesses that they NEED clojure, then I can go that route.
We see more apps being developed for the web with heavy javascript UIs. I've worked on a number of "enterprise" apps that are simply rest client SPAs. I could see a huge benefit to having a unified build/CI process for the UI and backend which makes a javascript runtime particularly unique.
OpenResty consistently handles 5 times more connections than Node.js, without requiring any of the continuation passing nonsense. As usual, popularity doesn't reflect upon quality at all -- Node.js is the Kim Kardashian of web frameworks.
OpenResty is fine for just that... REST interfaces.
If you're making an entire web application with a lot of front-end code that is already written in Javascript it is an added cost to also support C and Lua.
A lot of important development time can be retained by not having to write the same functionality in multiple languages.
A module can be written in Javascript and used on both the client AND the server.
Don't conflate mainstream media fashion with the sort of pragmatic convergence that has been a big part of driving the adoption of node.
"Raw speed" over everything else is the Yngwie Malmsteen of programming language metrics.
I do hear people saying that code can be reused across client and server but I don't find many examples of it. I understand that using one programming language for both client and server is really good as there is no context switch but I don't think that there can be much code can be shared between client and the server.
Also you don't need to program entire application in open resty. Just the idea of using lua instead of nginx mini- language for the config files can be a good enough reason to give it a try. Every body uses nginx anyways for their front end, no?
I discovered openresty a few weeks back and I must say that I am very impressed by it. I think it is one of those frameworks that can be immediately useful to everyone who is already using nginx as it provides a better way to work with nginx than the default configuration rules.
And the best part is it is 100% compatible with nginx config file. So all your default locations and blocks that already work with nginx are going to work with open resty. You can now organize and program it better.
By the way, enterprise adoption of Node is surely a sign that we need to jump ship. Glad I got out of Rails before enterprise adopted it!