Hacker News new | ask | show | jobs
by Donito 4866 days ago
Asking whether to use Rails vs. Node is like asking whether you should use DirectX or XAML. Both can be used for rendering UI, but every technology has its strengths and weaknesses so the answer is "it depends".

You can either start by choosing a technology, then a project that is adapted to it. Or pick a project, and choose the framework that is best for achieving said project. Here are some thoughts about Node vs. Rails to help with your decision:

Node: - Uses Javascript (on back-end) - Asynchronous IO, great for handling high volume of requests or massive amount of simultaneous connections. - Smaller learning curve, given you're most likely already familiar with JS - Can do much more than traditional web frameworks (e.g. php/rails), like binding to a specific port, handling socket connections etc.. - It's pretty fun :)

Rails: - Uses Ruby, so there's a bit of a learning curve here - Extremely mature framework with impressive amount of existing libraries (known as gems) that plugs into it - By nature, enforces great software practices (e.g. testing) - Best adapted for creating traditional SaaS applications - It's also a lot of fun :P

Honestly, if it's for fun, just pick one and start doing a project. They're both in their respective ways fantastic.

1 comments

This is my favorite answer... I am building a SAAS, so I think the available gems and options make me lean towards rails for this project... I will chew on it for a little... How is rails on windows? I have a macbook but I prefer working in windows.
I've gone that route in the past, and truth is it's painful to run rails on windows (albeit not impossible). The main issue I ran into was that some gems (libraries) rely on native extensions that are not available on Windows.

HOWEVER, there's still a way which works pretty well, which involves running rails from a Virtual Machine (e.g. Ubuntu) to which to ssh into, while coding from windows. Take a look at http://tinyurl.com/b8w4exm (using vagrant might be easier than this tutorial).

I might add that for learning, Windows is pretty good (now... it was not used to be this way, haha) - though the problem you mentioned consists and it is better to switch to Linux after a while (when you need those gems).