DEV Community

Discussion on: Why should I not choose Ruby on Rails ?

Collapse
 
martyonthefly profile image
Sylvain Marty

Hi Lorenzo and thanks a lot for your reply !

When I posted this post on dev.to, this is the type of answer I have expected :)

I didn't know that Ruby and RoR were slow !

About your last sentence, I'm also reading about GoLang to see if it can be a good choice. I didn't find a good framework yet but it seems like the ecosystem contains a lot of modules that can be used to build backend services. Any idea about this language ?

Collapse
 
lpasqualis profile image
Lorenzo Pasqualis

GoLang is new(ish) compared to other languages. It was developed by Google and it is quite low-level. It is very fast, mostly because it is a compiled language that compiles to native code.

I don't have any direct experience with it, I only worked with it for small experiments. I am aware of the existence of a framework called revel, but I don't have any direct experience with it.

I also heard people say that you don't necessarily need a framework with Go, because it was created with modern Web development in mind. Here is an article on the topic.

If I had to start a project I'd choose Ruby on Rails if I want to get something running quickly. I'd choose GoLang or Java if I wanted something fast that can scale well.

That said, note that there are several very large websites built in RoR (including GitHub). So, it is possible to do it. It just takes some work a good design. Another example is dev.to itself, that is also built on RoR, and it is nice and fast.

Collapse
 
rossbates profile image
Ross Bates

Hi Sylvain - integration with external services and 3rd party APIs is something that's a strength of Ruby/Rails that's often overlooked when people are comparing web frameworks.

Browse rubygems.org to get a sense of the size and scope of the contributions made by the community. As your app grows and you look to connect with other services for authentication, storage, monitoring, etc... you'll find that someone has already written a gem for that service resulting in less code that you need to implement.

I won't lie, this can lead to dependency hell if you start adding others to the dev team. But in the long run you're still more productive than writing everything from scratch.