DEV Community

Discussion on: Why we love and choose Ruby instead of Node.js?

Collapse
 
guledali profile image
guledali • Edited

When you compare something like ruby on rails to Node.js, ruby wins that fight. A webframework vs language is not a fair comparison at all.

I do wonder though companies such github, airbnb and shopify, if their system went down today and they had to greenfield a new app. Would they still use ruby today? Maybe they would maybe not

I have tried ruby what bother me most with the language was the lack of static typing and intellense. This is so much of issue that the creator of ruby himself have said that ruby 3 is going to ship with static typing much like TypeScript.

Kinda wish they did that in ruby 2 so that all of the 3-party gems had type definitions in them. Better late than never I guess.

Another thing one should also consider is time? They way we build apps these days is more component driven architecture some call it SPA or as I like to call it fat client. Ruby on rails is MVC framework, while rails still fitting for api development, it was designed more for doing fat servers and using baas like firebase + cloud functions and amplify framework is more suitable for building fat client in my opinion.

For example with these services you getting authentication out-of-the-box, and I always liked how the device gem worked. You install and run generator puff you had auth ready to use. When you decouple you're app the integration gets wacky you spend half day figure out how to do a current_user method that you can use on your client both firebase and aws amplify gives you that for free.

We live in a different time and they way we build web apps today is different, no one was using react.js or vue.js 2005-2011

Collapse
 
simonoff profile image
Oleksandr Simonov

If you look at all frameworks/libraries for Node.js - in most cases they are clones of projects from Ruby world.

It's still faster build apps with Ruby even with any node.js frameworks like sails.js or similar due to the language features like metaprogramming.