NestJS vs Node.js vs Rails

Need advice about which tool to choose?Ask the StackShare community!

NestJS

1.1K
1.5K
+ 1
270
Node.js

117.1K
95.8K
+ 1
8.4K
Rails

15K
10.2K
+ 1
5.4K
Advice on NestJS, Node.js, and Rails
Needs advice
on
Node.js
.NET Core
and
Django

Looking for Advice! I am developing a hybrid app for video streaming, I have a prior experience with .NET Core and would like to use it for my back end but the latest buzz on characteristics of Node.js such as light weight, event loop and Async capabilities is really tempting me to reconsider my decision. On a quick research I could observe that a lot of Internet companies use either Python Django or Node JS for their back end which has thrown me into confusion, looking for an expert advice, thx.

See more
Replies (5)
anas mattar
Technical Lead at DPO International · | 4 upvotes · 59.6K views
Recommends
.NET Core

That's depend on your experience if you are very well in C# you should start using the Technology that's you know and like it.

See more
Brandon Miller
Recommends
Go

If you want to create a reliable video streaming service, you'll probably want to go with a UDP approach. TCP will throw an exception as soon as a packet drops. That being said..... Node.js is ultimately a bad choice. Way too high-level. I've found, when working with UDP, it's much more performant on lower level languages like C, etc. As far as my recommendation, if you want to go with something 'new' and fun, check out GoLang. It's low level, and developed to handle high performance at scale.

See more

So none of these tools may be bad for your implementation of this streaming app. But one thing to consider is what are you trying to achieve. If your application is more front end facing with streaming to a backend service C# may be your better implementation path just due to its greater overall versatility in terms of options for mobile, backend development, front end development, service development, etc... However if your focused purely on the streaming aspects and utilizing Amazon or Azure services in conjunction with the language of choice, Python, Node.Js, Django or other technologies may offer a faster option to success. Another thing to consider is many of the streaming platforms today utilize services from cloud vendors to achieve their success more than simply the ingenuity on the part of their internal staff's programming skills. Traditional programming languages like Java, C++, C# are used less these days. Today most teams are piggybacking off these services where its possible to give your application the greatest ability to compete with the big boys. - Your Friendly Neighborhood Tech Manager

See more
Pavel Nekrasov
MyOpenTour at MyOpenTour · | 1 upvotes · 22.3K views
Recommends
fastapi
at

Take a look at FastAPI if you are going to choose Python

See more
Aslam Mohammad
Systems Engineer at Infosys · | 1 upvotes · 45.6K views
Recommends
Node.js
Django

You could apparently go for both Node or Django but I would recommend choosing Node as you're building a video streaming app and the biggest video streaming service Netflix used Node in the production.

See more
Needs advice
on
Node.js
and
Laravel

What will be better Laravel or Node.js to handle a logistics portal which displays thousands (20-50k) of delivery data information in an interactive table (searchable, filterable), live delivery tracking, basic user management, and report creation?

Data comes usually in CSV (manually uploaded or via API from courier companies). Live tracking uses checks tracking numbers on the courier page using API.

See more
Replies (1)
Francis Rodrigues
FullStack JavaScript Developer at PanelADM · | 4 upvotes · 55.1K views
Recommends
Node.js
Laravel

My question for you is: "Which one are you familiar with?" Following your needs, both could do it, but think about it. Now talking about Node.js, in my opinion, if you use JavaScript, there are lots of packages to support your entire project, including native ones for testing TDD and others for BDD. Also the best support on AWS (Amazon Web Services) and GCP (Google Cloud Platform).

See more
Leonardo Viada
Project manager and web developer at Revo Digital · | 4 upvotes · 19.9K views
Needs advice
on
Scala
Rails
and
Play
at

In the past few months, a project we're working on grew up quite fast. Since we're adding more and more features, I'm considering migrating my Express/TS REST API towards a more solid and more "enterprise-like" framework. Since I am experienced with TypeScript but not so much with Rails nor Play (Scala), I'd like to have some advice on which one could provide the best development experience, and most importantly, the smoothest paradigm transition from the JS/TS world. I've worked on some personal project with Rails, but I've found the Ruby language really distant from what the TypeScript ecosystem and syntax are, whereas on the opposite - during the brief tours I've taken in the past weeks - it's been a pleasure coding in Scala. Obviously, there are some key differences between the two languages - and the two frameworks consequently - but despite all the ROR automation and ease of use I don't despise at all Scala's pragmatic and great features such as static typing, pattern matching, and type inference. So... Please help me out with the choice! Regards

See more
Replies (4)
Kevin Emery
QE Systems Engineer at Discovery, Inc. · | 6 upvotes · 16K views
Recommends
Rails

I don't have the Scala experience to compare the two, but I can say that Ruby is a wonderful language. For procedural programming where you don't need a lot of concurrent execution threads, it's superior to Node.JS in my opinion. All of the concepts from Typescript have equivalent syntax in Ruby, but there are fewer symbols (e.g. () => { ... }); ) and more keywords (eg 'do ... end'). It's a very flexible language and allows for a lot of different approaches to how it's written, so coding standards and careful organization is important. In the long run, however, you'll find it quicker to debug than Node.JS and just as powerful.

See more
ALESSIO SALTARIN
Master IT Architect at IBM · | 5 upvotes · 16.4K views

If you are comfortable with TypeScript, why not evolve to a C# ecosystem? Asp.Net Core + Entity Framework is a mature and well supported technology. As far as I can see in the enterprise market, the most adopted choice is still Java. So, maybe you may have a look to SpringBoot - and ultimately Quarkus.

See more
malekmfs
at Meam Software Engineering Group · | 3 upvotes · 8.6K views
Recommends
Scala
Rails

This is advice regardless of your background and requirements. The Play framework has a terrible and complicated design, don't risk it. I even suggest Spring and Kotlin over it! You can use Scala for small services and Data Engineering stuff and benefit optimizations and threading of JVM. RoR, on the other hand, has a huge development speed, which I believe is a big advantage cause you can handle performance bottlenecks later. Also, Scala has another downside, which is featureful in terms of OO and FP paradigms, which makes anyone write code freely with any personal style and makes it a problem in a team, Hence a coding style has to be defined if there would be Scala development team.

See more
Hosam Aly
Senior Software Engineer · | 3 upvotes · 8.3K views
Recommends
Scala
Rails
Play

If software performance is your top priority, then Scala/Play is probably best. If developer productivity is your top priority, then Ruby on Rails is the best choice in my opinion.

The Rails framework is batteries-included. The framework takes care of many things by default so that you don't have to. Logging, security, etc. It's also well-integrated; for example, controllers understand models out of the box. I had a better experience with RoR than with Play.

On the other hand, Scala and the JVM are more performant in general, so they can scale to serve more requests per second on the same hardware.

If you're considering serverless functions, then Scala is probably a better choice because it would be faster to load, giving you better economics.

See more
Needs advice
on
Node.js
Java
and
Django

I am starting a new project to build a simple ERP system for small businesses, where the owners can also manage orders on their phones.

I have decided to use JavaScript & React on the front-end and MySQL for the database. But I am really struggling to pick a backend language. I'm familiar with Node.js, but when I search for ERP (CRM & order mgt) projects on Youtube, I see that most build with Python (Django). Many also recommend Java.

So I'm a little confused. Please advice.

See more
Replies (10)
Luiz H. Rapatão
Senior Software Engineer at rapatao.com · | 7 upvotes · 50.6K views
Recommends
Node.js

There is no problem to keep using node.js for your backend. Keep in mind that you already have expertise in it, so you could focus on development instead of to learn a new syntax/framework. There are good libraries in node.js that could help you in the development (services, validations, integrations, etc) also keeps you with a single language to the whole system. Django, as far as I know, it will provide a solid base for you, but it could be too much for your purpose, also could be more complex than you could need. Java provides to you many frameworks to simplify your integrations also could achieve a good performance. Anyway, I recommend you to follow using node.js, since you already know the syntax/platform.

See more
Recommends
Django

Django is best suited for your requirement and has a very good community base to reach out for any queries. I have myself built and seen a lot of stuffs which match your requirement.

See more
Recommends
Node.js

Hello, Node.js is simply a better option than python if you wish to make your application real-time operations. Also Node.js is a better choice than python for server side development.

But let's get your problem now. For most ERP projects, Node.js is a better choice. Also, since you are already familiar with Node.js, continue with it. Personally, I think Node.js is way better than Django mainly because JS is the god of ERP projects. Java is a good counterpart though.

See more
Michael R.
Full-Stack Web Developer at STHCoders · | 3 upvotes · 38.7K views
Recommends
at

I recommend Node.js because you are creating a new application and will likely not have a huge workload, at least not initially. Node is incredibly fast and used in more SPA's than any other solution, but as the CPU load increases, the efficiency starts to drop off.

I could see how scalability could eventually become a concern if your SaaS platform becomes extremely popular, but considering that you already know Node, I think it would be wiser to shorten your time to market and develop a quality product rather comfortably.

Otherwise you also run the risk of security flaws due to inexperience with a new framework and that is not something you want when you are handling other people's data.

See more
Sinisha Mihajlovski
Design Lead | Senior Software Developer at Endava · | 2 upvotes · 40.9K views
Recommends
SugarCRM

Will you build it from scratch? There are some open source ERP/CRM solutions that you can use as a base for your solution. SugarCrm is an example. By looking at those, you can then decide which language you'll use for the backend.

See more
Mukesh PM
Recommends
Node.js

I personally suggest NodeJs as you are also familiar with it. Even nodeJS has its own strong frameworks such as NestJS, Loopback etc. And the community is pretty much strong though. If you are looking for a faster development , then always you can go for NodeJS. And its pretty fast though.

See more
anas mattar
Technical Lead at DPO International · | 1 upvotes · 37.9K views
Recommends

I prefer to use Node.js because you have experainse in it and also you can do anything for this language.

See more
Ruslan Rayanov
Recommends

I can recommend you a flexible constructor for this purpose. To create a system, you only need sql, and you can connect to any database without any problems. Please see the introductory article about the features, and if you are interested, I can provide access to the test site. My contacts for communication are on the site page https://falconspace.site/docs/vvedenie-v-falcon-space--c-chego-nachat https://falconspace.site/for-it

See more

Go with Node.js and use a framework. I can recommend NestJS or Fastifiy as a Backend Framework. They both have a strong community and Fastify is the successor of Express but much faster.

See more
Nicolai Kamphenkel
Full-Stack-Engineer at Kamphenkel Datensysteme GmbH · | 1 upvotes · 39.4K views
Recommends
Node.js
AdonisJS

Hey if you are allready familar with nodejs then just go with it. There are some very nice frameworks out there that can be hold with the big ones.

Examples: AdonisJS or SailsJS

AdonisJS is even very similar like django.

See more
haydenlingle

I'm going to do an independent study with React for school, and I'm looking to build a full-stack application. I have lots of experience with react, but everything else I'd need is somewhat foreign to me. What I'm looking for is to provide a back-end for a React application.

I'm trying to find a back-end framework that can provide and integrate with almost everything I need (database, API, authentication). I will also need to be able to host everything eventually online rather than just locally on my computer. I don't want to use something that is just click-and-go: I want to learn a lot but find something that has much built in functionality, so I don't have to completely re-invent the wheel.

Does anyone else have experience with a stack you'd recommend that is a happy medium of helpful features while still requiring you to understand and implement the functionality yourself? Something well documented (e.g., it's easy to find documentation regarding putting all the pieces together) would be great.

Thanks in advance!

See more
Replies (7)
Marcelo Escobar
Recommends
Rails

Greate documentation, lot's of info on StackOverflow and it's easy to learn, a lot of things it's already implemented on the stack. It's based on Ruby which is stable and constantly evolving.

Ruby/Rails have a lot of gems(libraries) that will allow you to connect to many DB systems, implement JWT or use a library for authentication.

I have a lot of API's created in Rails that respond to website and mobile apps, and you can create your first one without a lot of stress, responding with JSON easily.

You can use VSCode has good support for ruby and you will have all syntax help etc, I use Atom but I don't have the syntax support, didn't found a good package for that.

See more
Recommends
Node.js

The most popular stack that comes to mind for your case if MERN ( Mongo, Express, React and Node) I would use Nodejs + Express for backend. Easy to build dynamic and powerful REST APIs. For DB, it would be Mongo DB and front end can be React + Redux (for global state management). Plus NPM has a ton of packages for most cases. PS : Webstorm (free for students) or VS Code ( free for all) for IDE

See more
Alberto Mazaira
Recommends
Rails
Node.js

I would take either Rails or Node for your problem.

Rails is a great framework: super complete in regards of testing frameworks, authentication libraries, great community support.... but I would say that the latest versions are a bit of a mess for newcomers, because of the way they manage assets: if the assets are served by the framework(Assets Pipeline) vs using Webpack .

If you are already familiar with React, Node is another great framework that will require a bit more effort on selecting the dependencies but for your use case seems a great candidate.

In regards of what you are commenting about learning during the process, both can be Dockerized pretty easy and you can spend some time digging on the lifecycle of putting it into production. Rails has a ridiculous easy way of deploying with Heroku avoiding any kind of work, but if you want to get your hands dirty you can deploy either of the frameworks on a Dockerized environment to any cloud provider you like. That part is really interesting too, and if you are interested on the Devops side, I would say that Node is a bit easier and more convenient(smaller image sizes and times to build) than Rails. All in all:

Rails pros: stable framework, great community support, great testing utilities. Rails cons: How they manage the assets lately(Assets Pipeline vs Webpack), dockerize the app.

Node pros: You are already familiar with Js, simple, easy to put in prod allowing to spend time in the Devops side. Node cons: Dependency management in Js environments is a pain in the ass

See more
Julien DeFrance
Principal Software Engineer at Tophatter · | 4 upvotes · 8.9K views
Recommends
Rails

Rails is an easy framework to pick up, and you'll get to love all of the magic it does for you. Some of that can be a little confusing at first but once you've got acquainted, this is part of the productivity Rails offers as opposed to other languages or frameworks that sometimes tend to require developers to waste a ton of valuable time setting up their own boilerplate when starting to work on a new project. More pragmatically, Rails is still extremely popular at both startups and at large companies, you can use it to power web applications, or backend APIs, and this will be extremely valuable on your resume. There also is a very large/rich set of libraries (called gems) that will allow you to focus on your actual project/product, rather than rebuilding what already exists. I'd recommend you go with the latest versions of Ruby (3.0) and Rails (6.1.1) so you are from the get-go learning them in their most current form.

See more

Node.js is great if you already know Javascript. If not, JS is pretty easy to learn. There are many resources and tutorials online for JS and Node. ASP.NET (Core) is a good option if you know C# or need high performance. Node.js isn't a complete framework like .NET, so you need to add Express or another HTTP server, and Database connectors etc.

See more
Rogério R. Alcântara
Recommends

Although not entirely confident, as I've never used Django and I've not used ASP.NET since 2.0, but given your requirements, at first thought, I'd go with Rails.

Yet, may I ask if have you considered some BAAS such as Firebase, Hasura and the like? Although I've admittedly suffered a bit with Firebase - I'm not totally sure if I've used it correctly, tho. But I've heard really awesome things about Hasura. This slant compairson shows some Firebase's alternatives that I've never heard. In your position, I would have a look.

Cheers.

See more
Rafsanjanee Rizvi
Owner at Mingchen Information And Technology · | 4 upvotes · 75.8K views
Needs advice
on
Spring Boot
NestJS
and
ExpressJS

Hi, I am a new developer using Ionic to develop a mobile app. I have recently tried to build a social mobile app which will have video calling, payment transaction, chatting, sharing, etc. I am now confused as to which framework I should use for the backend: Spring Boot or ExpressJS or NestJS? Any detailed advice will be better for my development. Looking forward to your valuable reply.

See more
Replies (2)

Any tools that achieve your software functionalities is good. you should check if with these frameworks you can do video-call, chat etc. how the scalability is achieved and the complexity of using it with them. since you are starting from scratch you can do this kind of feasibility before starting

See more
Recommends

If I want to write server api, I will use NestJS as primary framework. It base on express | fastify so I can use anything of expressJs. SpringBoot is a java framework. I will think to write as payment transaction service. If you are Ionic developer. you will know Js / ES6. You can try NestJS / ExpressJS. - video calling: You can not create video calling feature. Some keywords: ffmpeg / coturn / webrtc - chatting: realtime (socket.io / websocket) - you can try some opensource as rocketchat. It also have video calling feature.

See more
Needs advice
on
Node.js
Laravel
and
Django

I am looking to make a website builder web app, where users can publish built websites with a custom or subdomain (much like Wix, Weebly, Squarespace, etc.), and I was wondering about any advice on which web framework to build it on? I currently know Node.js, but I would be excited to learn Laravel or Django if those would be better options. Any advice would be much appreciated!

See more
Replies (3)

The tools you mentioned are all backend focused frameworks. I will say, you can choose one of them as you may prefer (maybe Laravel and Django will be better since it's more organized than Node.js). But no matter what, if you will create a website builder application, today you'll need a frontend framework like Vue.js, React or Angular - or maybe Ember.js, Svelte and Meteor.

See more
Đam Lê Đình
Senior Software Engineer at NAB · | 6 upvotes · 87.1K views
Recommends
Laravel

If you use Nodejs, you should use one more frontend language like reactjs or angularjs. Laravel is the better option. They are more power for rendering.

See more
Needs advice
on
Spring
and
Node.js

I am provided with the opportunity to learn one of these technologies during my training. I have prior experience with Spring and found it tough and still haven't figured out when to use what annotations among the thousands of annotations provided. On the other hand, I am very proficient in Java data structures and algorithms (custom comparators, etc.)

I have used Node.js and found it interesting, but I am wondering If I am taking the risk of choosing a framework that has a comparatively lesser scope in the future. One advantage I see with the node.js is the number of tutorials available and the ease with which I can code.

Please recommend which path to take. Is Spring learnable, or should I spend my energy on learning Node.js instead?

See more
Replies (2)

I do not know Spring or your company/specialty. Of course it must be learnable and I won't tell you to give up on anything. Java is and will remain valuable.

Regardless, I don't think "lesser scope" is a valid strike against Node.js here. Node.js fulfills JavaScript's original vision of an everywhere language and can run anywhere that Java can. It serves webpages, communicates with hardware, powers command line tools, and builds desktop applications. A huge complexity-saver for teams running many environments (my biggest regret is that it cannot run a microcontroller).

Node.js' biggest practical weakness is that JavaScript is less structured than Java. Luckily, the large influx of Java developers has been helping with this: gaps like constants and private properties are gradually filling in, and TypeScript firms up the types to the point where JavaScript looks a lot like Java.

Probably more potential competition from the larger pool of JS developers, but the compensation is allegedly similar so I guess there is a similar supply/demand situation.

See more
Recommends

hi this depends where you want to advance . If you want to work for an big aged company with a lot of legacy go the spring way (banks, insurances netflix etc ) if you want to go the new agile fast cloud way learn node js it is much more suited for cloud and micro service even spring cloud can do that as well but it is much more heavier

See more
Needs advice
on
Node.js
Laravel
and
ASP.NET

Hi. We are planning to develop web, desktop, and mobile app for procurement, logistics, and contracts. Procure to Pay and Source to pay, spend management, supplier management, catalog management. ( similar to SAP Ariba, gap.com, coupa.com, ivalua.com vroozi.com, procurify.com

We got stuck when deciding which technology stack is good for the future. We look forward to your kind guidance that will help us.

We want to integrate with multiple databases with seamless bidirectional integration. What APIs and middleware available are best to achieve this? SAP HANA, Oracle, MySQL, MongoDB...

ASP.NET / Node.js / Laravel. ......?

Please guide us

See more
Replies (1)
Recommends
ASP.NET

i recommended .NET because the library so rich, you can integrated any sources to computed , compiling, integrating, your apps to high complexity, easy to communicated with SAP BAPI. used Oracle DB, Cheers.

See more
Needs advice
on
Node.js
and
Laravel

I would like to share my stack in Web/Mobile application Development for Mid Sized Applications.

Project-1 : Laravel + jQuery + Android Java + IOS Swift

Project-2 : Node.js + React + React Native + Electron.

This is my current Stack, Can you comment on my selection and add your thoughts if my choice is a perfect match? Thanks

See more
Replies (2)
John Clifford de Vera
Software Engineer at CircleYY · | 5 upvotes · 89.7K views
Recommends
Node.js

I would say go for Node.js since you probably would only build a REST API that would talk to the frontend and some communication with the database.

On the other hand, Laravel is a much heavier framework that follows MVC pattern. Since you don't need the V in the MVC of Laravel. You can go for a straight Express that just handles the API request and return a response.

See more
Nathan De Pachtere
Fullstack Developer at Alpsify · | 3 upvotes · 94.4K views
Recommends
Flutter
at

Hello Varun S,

Project-1 : If the Laravel part is an API, you should check Flutter or Quasar Framework for your frontend in order to reduce the development time and process.

See more
Decisions about NestJS, Node.js, and Rails

We choose Next.js for our React framework because it's very minimal and has a very organized file structure. Also, it offers key features like zero setups, automatic server rendering and code splitting, typescript support. Our app requires some loading time to process the video, server-side rendering will allow our website to display faster than client-side rending.

See more
Ing. Alvaro Rodríguez Scelza
Software Systems Engineer at Ripio · | 11 upvotes · 113.5K views

I was considering focusing on learning RoR and looking for a work that uses those techs.

After some investigation, I decided to stay with C# .NET:

  • It is more requested on job positions (7 to 1 in my personal searches average).

  • It's been around for longer.

  • it has better documentation and community.

  • One of Ruby advantages (its amazing community gems, that allows to quickly build parts of your systems by merely putting together third party components) gets quite complicated to use and maintain in huge applications, where building and reusing your own components may become a better approach.

  • Rail's front end support is starting to waver.

  • C# .NET code is far easier to understand, debug and maintain. Although certainly not easier to learn from scratch.

  • Though Rails has an excellent programming speed, C# tends to get the upper hand in long term projects.

I would avise to stick to rails when building small projects, and switching to C# for more long term ones.

Opinions are welcome!

See more
Hampton Catlin
VP of Engineering at Rent The Runway · | 7 upvotes · 125.5K views

Starting a new company in 2020, with a whole new stack, is a really interesting opportunity for me to look back over the last 20 years of my career with web software and make the right decision for my company.

And, I went with the most radical decision– which is to ignore "sexy" / "hype" technologies almost entirely, and go back to a stack that I first used over 15 years ago.

For my purposes, we are building a video streaming platform, where I wanted rapid customer-facing feature development, high testability, simple scaling, and ease of hiring great, experienced talent. To be clear, our web platform is NOT responsible for handling the actual bits and bytes of the video itself, that's an entirely different stack. It simply needs to manage the business rules and the customers experience of the video content.

I reviewed a lot of different technologies, but none of them seemed to fit the bill as well as Rails did! The hype train had long left the station with Rails, and the community is a little more sparse than it was previously. And, to be honest, Ruby was the language that was easiest for developers, but I find that most languages out there have adopted many of it's innovations for ease of use – or at least corrected their own.

Even with all of that, Rails still seems like the best framework for developing web applications that are no more complex than they need to be. And that's key to me, because it's very easy to go use React and Redux and GraphQL and a whole host of AWS Lamba's to power my blog... but you simply don't actually NEED that.

There are two choices I made in our stack that were new for me personally, and very different than what I would have chosen even 5 years ago.

1) Postgres - I decided to switch from MySql to Postgres for this project. I wanted to use UUID's instead of numeric primary keys, and knew I'd have a couple places where better JSON/object support would be key. Mysql remains far more popular, but almost every developer I respect has switched and preferred Postgres with a strong passion. It's not "sexy" but it's considered "better".

2) Stimulus.js - This was definitely the biggest and wildest choice to make. Stimulus is a Javascript framework by my old friend Sam Stephenson (Prototype.js, rbenv, turbolinks) and DHH, and it is a sort of radical declaration that your Javascript in the browser can be both powerful and modern AND simple. It leans heavily on the belief that HTML-is-good and that data-* attributes are good. It focuses on the actions and interactions and not on the rendering aspects. It took me a while to wrap my head around, and I still have to remind myself, that server-side-HTML is how you solve many problems with this stack, and avoid trying to re-render things just in the browser. So far, I'm happy with this choice, but it is definitely a radical departure from the current trends.

See more
Chose
Rails
over
Django

I have used both the tools . Both of them are super awesome , very reliable and their learning curve is also super easy. But, the reason I choose Ruby on Rails over Django is the fact that the dependency injection is super easy in Rails than Django. What I mean is the fact that, Django requires a lot of import statement to do a lot of work, which remembering is not so easy and even after that you may need to write a lot of code. But Ruby on Rails uses gem to add addition feature or dependency in the project. Which requires just copying the gem statement from github and pasting it in the Gemfile, then running bundle install(these days just bundle works super fine). And there you are with the new feature in your app. You can see this with the example of Authentication, where in Django you require several steps like adding class based views and many more, but in rails it's just as easy as installing the 'devise' gem . And if you want to make it beautiful use bootstrap_template gem to make it look prettier. Now with Rails 6 , Rails is a total developer's fervent friend because it has come up with features like Action Mail and Action Text.

See more
Omran Jamal
CTO & Co-founder at Bonton Connect · | 7 upvotes · 235.3K views

We actually initially wrote a lot of networking code in Kotlin but the complexities involved prompted us to try and compile NodeJS for Android and port over all the networking logic to Node and communicate with node over the Java Native Interface.

This turned out to be a great decision considering our battery usage fell by 40% and rate of development increased by a factor of 2.

See more

Since I came from python I had two choices: #django or #flask. It felt like it was a better idea to go for #django considering I was building a blogging platform, this is kind of what #django was made for. On the other hand, #rails seems to be a fantastic framework to get things done. Although I do not regret any of my time spent on developing with #django I want to give #rails a try some day in the future for the sake of curiosity.

See more

As a small team, we wanted to pick the framework which allowed us to move quickly. There's no option better than Rails. Not having to solve the fundamentals means we can more quickly build our feature set. No other framework can beat ActiveRecord in terms of integration & ease-of use. To top it all of, there's a lot of attention paid to security in the framework, making almost everything safe-by-default.

See more

Hey guys,

My backend set up is Prisma / GraphQL-Yoga at the moment, and I love it. It's so intuitive to learn and is really neat on the frontend too, however, there were a few gotchas when I was learning! Especially around understanding how it all pieces together (the stack). There isn't a great deal of information out there on exactly how to put into production my set up, which is a backend set up on a Digital Ocean droplet with Prisma/GraphQL Yoga in a Docker Container using Next & Apollo Client on the frontend somewhere else. It's such a niche subject, so I bet only a few hundred people have got a website with this stack in production. Anyway, I wrote a blog post to help those who might need help understanding it. Here it is, hope it helps!

See more
Christopher Wray
Web Developer at Soltech LLC · | 6 upvotes · 145.2K views

When I started on this project as the sole developer, I was new to web development and I was looking at all of the web frameworks available for the job. I had some experience with Ruby on Rails and I had looked into .net for a bit, but when I found Laravel, it felt like the best framework for me to get the product to market. What made me choose Laravel was the easy to read documentation and active community. Rails had great documentation, but lacked some features built in that I wanted out of the box, while .net had a ton of video documentation tutorials, but nothing as straightforward as Laravels. So far, I am happy with the decision I made, and looking forward to the website release!

See more

This basically came down to two things: performance on compute-heavy tasks and a need for good tooling. We used to have a Meteor based Node.js application which worked great for RAD and getting a working prototype in a short time, but we felt pains trying to scale it, especially when doing anything involving crunching data, which Node sucks at. We also had bad experience with tooling support for doing large scale refactorings in Javascript compared to the best-in-class tools available for Java (IntelliJ). Given the heavy domain and very involved logic we wanted good tooling support to be able to do great refactorings that are just not possible in Javascript. Java is an old warhorse, but it performs fantastically and we have not regretted going down this route, avoiding "enterprise" smells and going as lightweight as we can, using Jdbi instead of Persistence API, a homegrown Actor Model library for massive concurrency, etc ...

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of NestJS
Pros of Node.js
Pros of Rails
  • 44
    Powerful but super friendly to work with
  • 37
    Fast development
  • 35
    Easy to understand documentation
  • 29
    Angular style syntax for the backend
  • 29
    NodeJS ecosystem
  • 23
    Its easy to understand since it follows angular syntax
  • 20
    Typescript
  • 13
    Good architecture
  • 11
    Integrates with Narwhal Extensions
  • 9
    Typescript makes it well integrated in vscode
  • 7
    Graphql support easy
  • 5
    Agnosticism
  • 4
    Easily integrate with others external extensions
  • 1
  • 1.4K
    Npm
  • 1.3K
    Javascript
  • 1.1K
    Great libraries
  • 1K
    High-performance
  • 794
    Open source
  • 482
    Great for apis
  • 473
    Asynchronous
  • 419
    Great community
  • 388
    Great for realtime apps
  • 294
    Great for command line utilities
  • 80
    Node Modules
  • 78
    Websockets
  • 67
    Uber Simple
  • 55
    Great modularity
  • 55
    Allows us to reuse code in the frontend
  • 39
    Easy to start
  • 34
    Great for Data Streaming
  • 30
    Realtime
  • 25
    Awesome
  • 23
    Non blocking IO
  • 17
    Can be used as a proxy
  • 15
    High performance, open source, scalable
  • 14
    Non-blocking and modular
  • 13
    Easy and Fun
  • 12
    Same lang as AngularJS
  • 11
    Easy and powerful
  • 10
    Future of BackEnd
  • 9
    Fast
  • 8
    Cross platform
  • 8
    Fullstack
  • 8
    Scalability
  • 7
    Mean Stack
  • 7
    Simple
  • 5
    React
  • 5
    Great for webapps
  • 5
    Easy concurrency
  • 4
    Friendly
  • 4
    Easy to use and fast and goes well with JSONdb's
  • 4
    Typescript
  • 4
    Fast, simple code and async
  • 3
    Fast development
  • 3
    Great speed
  • 3
    Its amazingly fast and scalable
  • 3
    Scalable
  • 3
    Isomorphic coolness
  • 3
    Control everything
  • 2
    Less boilerplate code
  • 2
    It's fast
  • 2
    Blazing fast
  • 2
    Scales, fast, simple, great community, npm, express
  • 2
    Not Python
  • 2
    TypeScript Support
  • 2
    Easy to learn
  • 2
    Easy to use
  • 2
    Javascript2
  • 2
    Great community
  • 2
    One language, end-to-end
  • 2
    Easy
  • 2
    Performant and fast prototyping
  • 2
    Sooper easy for the Backend connectivity
  • 1
    Lovely
  • 0
    Event Driven
  • 848
    Rapid development
  • 648
    Great gems
  • 604
    Great community
  • 480
    Convention over configuration
  • 416
    Mvc
  • 349
    Great for web
  • 344
    Beautiful code
  • 311
    Open source
  • 270
    Great libraries
  • 260
    Active record
  • 105
    Elegant
  • 88
    Easy to learn
  • 86
    Easy Database Migrations
  • 78
    Makes you happy
  • 73
    Free
  • 62
    Great routing
  • 53
    Has everything you need to get the job done
  • 41
    Great Data Modeling
  • 38
    Beautiful
  • 38
    MVC - Easy to start on
  • 35
    Easy setup
  • 26
    Great caching
  • 25
    Ultra rapid development time
  • 22
    It's super easy
  • 17
    Great Resources
  • 16
    Easy to build mockups that work
  • 14
    Less Boilerplate
  • 7
    Developer Friendly
  • 7
    API Development
  • 6
    Great documentation
  • 5
    Easy REST API creation
  • 5
    Quick
  • 4
    Great language
  • 4
    Intuitive
  • 4
    Haml and sass
  • 4
    Easy to learn, use, improvise and update
  • 2
    It works
  • 2
    Jet packs come standard
  • 2
    Easy and fast
  • 2
    Legacy
  • 2
    Metaprogramming
  • 1
    Convention over configuration
  • 1
    Easy Testing
  • 1
    Cancan
  • 1
    It's intuitive

Sign up to add or upvote prosMake informed product decisions

Cons of NestJS
Cons of Node.js
Cons of Rails
  • 6
    Difficult to debug
  • 6
    User base is small. Less help on Stackoverflow
  • 4
    Angular-like architecture
  • 2
    Updates with breaking changes
  • 1
    Javascript
  • 1
    Unstable
  • 1
    Frontend in backend
  • 1
    Ddddd
  • 46
    Bound to a single CPU
  • 40
    New framework every day
  • 34
    Lots of terrible examples on the internet
  • 28
    Asynchronous programming is the worst
  • 22
    Callback
  • 16
    Javascript
  • 11
    Dependency based on GitHub
  • 10
    Dependency hell
  • 10
    Low computational power
  • 7
    Can block whole server easily
  • 6
    Very very Slow
  • 6
    Callback functions may not fire on expected sequence
  • 3
    Unneeded over complication
  • 3
    Unstable
  • 3
    Breaking updates
  • 1
    No standard approach
  • 21
    Too much "magic" (hidden behavior)
  • 13
    Poor raw performance
  • 11
    Asset system is too primitive and outdated
  • 6
    Bloat in models
  • 6
    Heavy use of mixins
  • 3
    Very Very slow

Sign up to add or upvote consMake informed product decisions

What is NestJS?

Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript (preserves compatibility with pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming). Under the hood, Nest makes use of Express, but also, provides compatibility with a wide range of other libraries, like e.g. Fastify, allowing for easy use of the myriad third-party plugins which are available.

What is Node.js?

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

What is Rails?

Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.

Need advice about which tool to choose?Ask the StackShare community!

What companies use NestJS?
What companies use Node.js?
What companies use Rails?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with NestJS?
What tools integrate with Node.js?
What tools integrate with Rails?
    No integrations found

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    Oct 24 2019 at 7:43PM

    AppSignal

    +8
    5
    710
    Oct 3 2019 at 7:13PM

    Ably Realtime

    +8
    4
    3235
    +6
    1
    1143
    +5
    7
    1645
    Jun 6 2019 at 5:11PM

    AppSignal

    +9
    15
    1116
    What are some alternatives to NestJS, Node.js, and Rails?
    AdonisJS
    It is a Node.js Framework which is highly focused on developer ergonomics, stability and confidence.
    FeathersJS
    Feathers is a real-time, micro-service web framework for NodeJS that gives you control over your data via RESTful resources, sockets and flexible plug-ins.
    Koa
    Koa aims to be a smaller, more expressive, and more robust foundation for web applications and APIs. Through leveraging generators Koa allows you to ditch callbacks and greatly increase error-handling. Koa does not bundle any middleware.
    LoopBack
    A highly-extensible, open-source Node.js framework that enables you to create dynamic end-to-end REST APIs with little or no coding. Connect to multiple data sources, write business logic in Node.js, glue on top of your existing services and data, connect using JS, iOS & Android SDKs.
    hapi
    hapi is a simple to use configuration-centric framework with built-in support for input validation, caching, authentication, and other essential facilities for building web applications and services.
    See all alternatives