3 ms·
I can't speak to PHP, but I can speak to the others. Node's easy, as it's technology, not a framework, so you'd pick Rails over it if you wanted a lot out of t
by RangerScience 5y ago
I can't speak to PHP, but I can speak to the others.
Node's easy, as it's technology, not a framework, so you'd pick Rails over it if you wanted a lot out of the box. JS also "thinks" differently than Ruby (callbacks, and now async, pretty much everywhere). PS - If you haven't played with lots of curried functions in JS, it's fantastic (IMHO).
If I wanted a more same-same comparison, the choice is between Sinatra and Node, and IMHO that's a lot more even (and for me, broken by one of them being in Ruby ;) )
Django's more subjective, but my experience with it was very not-great. There's a lot of decisions in Django that look good on the surface (apps, for example) that then don't pan out (apps all end up blurred together, for example). Particularly compared to Rails, I found Django waaay more boiler-plate and frictiony (particularly the migrations), but that's fitting for a language (Python) that's actually more lower-level than expected. Python (and Django) are opinionated where Ruby (and Rails) are welcoming, IMHO.
- SavantIdiot 5y agoGood point about tech vs framework. Node isn't opinionated, to borrow a UI term. I was really happy when I was able to stop using Bluebird and switch to JS promises, and formal async/await in JS was a game changer: it cleans up code significantly. It is hard to use languages that don't have async/await now that my brain has become so habitualized. However, I'm a little bummed currying was effectively nixed (or just ugly) with JS module imports; require() had an edge there.
- shafyy 5y agoComparing JavaScript (or Node) to Rails doesn't seem right, since, like you said, one is a programming language, the other is a framework. But the reality is that this comparisoin is what you end up with in real life decisions. Even if you pick a Node framework like Express, it will only give you a handful of tools, not really a batteries-included framework like Rails. I haven't come across a Rails-like framework for Node. I wonder why? Didn't people try to make it? Is it because of the language specific features and Node ecosystem that it's hard to come up with a coherent, opinionated, all-inclusive framework?
- suction 5y agoI've sometimes read that Sails.js is the "Rails" of the JS world, but when "I did my own research" about it there were enough red flags experienced by real world devs that I never considered it for a project. For instance, all benchmarks I read showed a very poor performance compared to other frameworks, also very poor real world adoption so it doesn't look good on the resume. I chose to go the Rails API with a Vue.js frontend route (actually, Quasar), and I'm very happy with it.