It’s hard for startups to choose the right language for development. One of the biggest fights in the development world is between Node.JS and Ruby on Rails. So, who is the winner in this battle? If you asked this question 5 years ago, the answer would have been Ruby, but time is changing and we have a new leader. Let’s have a look at Google trends:
During the last 4 years, Node.JS has just smashed Ruby, and node continues to expand in the market. Now, let’s compare programming languages runtime.
As we can see from this graph, Ruby has the slowest runtime. Another factor is the quantity of jobs. The more jobs in the market the more demands on a particular language.
RUBY ON RAILS PROS
- It is a flexible and IDE-friendly framework.
- Database migrations. It will be easily portable to any platform.
- Easy functions and manipulations.
- It is consistent with structure and methodology.
- The language is very powerful and expressive. It’s easy to express application logic in an intuitive way.
RUBY ON RAILS CONS
- Best programming skills are required so top-notch programmers with high pay are required.
- Much trickier if making large projects.
- Documentation is only for popular frameworks
- More computing resources are required.
- Performance. Rails can be slow, and this bubbles up to the experience of the end user.
- Large stack frames. The fact that Rails has so many layers of abstraction makes debugging a pain.
- Powerful underlying libraries. libuv, the library behind Node that handles non-blocking I/O, is super awesome and wicked fast.
- Full stack. From HTTP server to templating engine, Node.JS is the whole package. Rails relies on something like Nginx or Apache with mod_rails (aka Passenger) in order to actually work.
- High market demand and very popular in startups at this time.
- Same language on client and server side.
- Easy to monitor, deploy and support.
- Page load is faster across the site. (Our tests showed that websites are usually 2 or 3 times faster with node.
- Node is not suitable for processor intensive tasks.
- Unstable API: The Node API has a habit of changing in backwards-incompatible ways from release to release, and frequent changes to your codebase are required to keep things running on the latest version. That said, things are supposed to be more stable since 0.2.0 has been released.
- Because it’s new and very hot, there are fewer developers in market for node.js.
BIG COMPANIES ARE CHOOSING NODE.JS INSTEAD OF RUBY ON RAILS
When it comes to scalability you can’t compete with Node.JS. Because of this, these companies recently switched from Ruby on Rails to Node.js:
- The New York Times