FullStack Dev at Nouvelles Donnes·
Needs advice
on
Node.jsNode.jsRailsRails
and
Rails APIRails API

Currently working on my company's new saas, the main goal is to manage content and user. I'm familiar with the rails framework and how it is easy to code and deploy. The thing is I'm the only dev on the project, and in terms of the tech stack, there is no preference. However, because Node.js is everywhere and there is enough dev on the market, I am stuck between choosing Rails or Node.js. I don't mind implementing Vue.js or React on the frontend, but I need a solid argument to explain to people that aren't necessarily tech-savvy as to why we should choose Rails over Nodejs.

READ LESS
3 upvotes·247.7K views
Replies (6)
Co-Founder at Launch Academy·
Recommends
Node.js

I hate to admit it, because I loved my time with Rails (and I still love the framework), I have a hard time justifying new Rails applications these days. Core team has made some tragic design decisions, and developers just don't perceive it as being "cool" any more. The latter is a terrible metric for which to base a technology decision, but I think you'll find it more difficult to recruit additional engineers if you choose Ruby on Rails.

Without knowing too much of the details, Node/Express (ideally with Typescript) seems like a better solution here, given you'll be building out the front-end in Vue or React. It might be worth looking at NestJS, as it's the closest I've seen to a well-formed opinionated framework on the Node side of things. We're also fans of Objection ORM.

I hope that's helpful!

READ MORE
4 upvotes·2 comments·217.3K views
Serguei Cambour
Serguei Cambour
·
July 10th 2020 at 7:14AM

"Node.js is everywhere" is not the argument to use or not to use it. First - it depends on WHY you need it for your app. Today you can have a very robust and responsive JS front-end with no matter which JS framework (Ember, Vue, Angular, Stimulus, etc..) or library (React, Electron, etc.). I'd say, the most common way to go is to use a Rails API app on the back-end side and a JS framework/lib on the front-end side using JSON API format. Most front-end frameworks offer a bunch of ready-to-use solutions/add-ons for authentication, authorization, file uploads, etc and most of them even have Rails gems for easier integration. So it's up to you make a choice for a good one. I used Rails+Ember, deployed on separate platforms. Advantages of splitting into 2 separate apps are: each of them can be developed and deployed separately, you can have 2 separate teams working in their own way. And even if you have to replace one of the app by another framework/language (Java, Elixir, Vue, Angular, etc.), you can also do it separately, - JSON API standard will stay the same to exchange with data.

·
Reply
Dan Pickett
Dan Pickett
·
July 10th 2020 at 12:46PM

The pervasiveness of the technology should absolutely be considered in your selection. It impacts everything.

The libraries available, the talent available, the security and maintenance of the tool and its peripheral technologies; it all correlates to how widely it is used.

We don't develop in an isolated vacuum. The community around a technology must be considered.

·
Reply
Recommends
Node.js

You are probably referring to ruby on rails for web development and nodejs for building the backend. Nodejs has frameworks such as express and next which not only provides a minimal code to build a backend but also gives the flexibility to try and experiment with the framework choices. For example you can have express framework + Passport for OAuth .... etc. The flexibility and the constant improvement of the language provides a good reason to opt for nodejs. Nodejs uses javascript which makes your code uniform when you are working full stack i.e react in front end and nodejs in backend.

READ MORE
7 upvotes·2 comments·218.9K views
Max Loua
Max Loua
·
June 17th 2020 at 2:08PM

I'm familiar with Nodejs, express and vue, i have worked on a coupled of project with those stacks. my question was mainly towards how can i explain to a group of people (my supervisors) that arent tech savvy why working on rails is good for such product which is small and im the only dev on it. the goal is to dev it using rails api for the backend with a vuejs frontend.

·
Reply
Niket Kulkarni
Niket Kulkarni
·
June 17th 2020 at 8:58PM

You can tell them by showing the google trends , the manner in which nodejs has taken over ruby on rails over the years. You can show the amount of support that has been gained in the community when nodejs is being used and lastly you can tell them that nodejs is blazing fast due to v8 engine on which it runs.

·
Reply
View all (6)
Avatar of Dan Pickett

Dan Pickett

Co-Founder at Launch Academy