

Ask HN: Is Ruby on Rails still hot? - eluos

I haven&#x27;t heard much in the way of web framework discussion as of late.<p>If you&#x27;re starting off on a new project, what does your stack look like? Is Rails your go to framework, or is node.js more appealing?
======
thecommentator
If you are choosing a technology stack based on "Whats Hot" rather then "What
provides the best solution for my team and my problem" then it doesn't matter
what you choose, as it will probably be wrong.

Is your team heavy with javascript developers? Do you have a need for an
event-driven framework that can handle large load? Great, here comes node.

Is speed of development and a wealth of 3rd party libraries for almost any
need critical to your ability to get started? Well, RoR has you covered.

Every language has strengths and weaknesses. Picking a tech stack is a
decision that should be based on your needs.

------
declandewet
Node.js is not a framework for developing web applications. Express.js is a
framework for developing web applications on the Node.js platform. As per the
question, I tend to go towards Node with Express. It doesn't do all the
abstractions in terms of controllers and associations in models, though - so
development is not as quick for trivial apps.

One reason I choose Node over Ruby/Rails is the Websocket libraries available
in Node. Here's an example of why: I've been exploring a lot of JavaScript
lately. Backbone.js is nice, but it doesn't have nice data-binding. Angular.js
is really nice, but it's "templates" (directives) cannot be parsed by a
server, so you couldn't serve the same content from the server. Ember is nice,
but it's a little slow compared to the other frameworks (from my experience
with it, I know it will improve).

I prefer Backbone + Handlebars because I can serve the same templates as views
from the server if I adhere to a rule that essentially means each page of the
app is a separate Backbone template associated with it's own view. These can
still have subviews, but the client will handle that. The only thing I don't
like is the data binding.

So, lately in my apps, I've found myself writing simple data binding
"plugins". But instead of detecting regular events - I bring socket.io into
the mix. This makes for really fast data binding, plus everyone can see the
changes.

Having everything in JavaScript prevents me from straying between different
programming languages and distracts me less, and for the socket work it just
makes so much more sense to me.

------
seren
Check recent blog post from Jeff Atwood. He explicitly mentions that he chose
ruby because it has become boring, and this is a good thing !

[http://www.codinghorror.com/blog/2013/03/why-
ruby.html](http://www.codinghorror.com/blog/2013/03/why-ruby.html)

