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

Node.js

182.6K
155.1K
+ 1
8.5K
Phoenix Framework

939
988
+ 1
678
Rails

19.2K
13.4K
+ 1
5.4K

Node.js vs Phoenix Framework vs Rails: What are the differences?

  1. Scalability: Node.js is known for its scalability due to its non-blocking, event-driven architecture that allows it to handle large amounts of I/O operations concurrently. Phoenix Framework, on the other hand, utilizes the Elixir programming language which is built on top of the Erlang VM known for its fault-tolerance and concurrency capabilities. Rails is also scalable but might not be as efficient as Node.js or Phoenix due to its monolithic architecture.

  2. Performance: Node.js is known for its high performance as it uses the V8 engine which compiles JavaScript into native machine code. Phoenix Framework, being built on Elixir with its lightweight processes, can handle massive numbers of simultaneous connections efficiently. Rails, while robust, might not offer the same level of performance as Node.js or Phoenix due to its higher resource usage.

  3. Community Support: Node.js has a large and active community with a plethora of libraries and modules available for developers to use. Phoenix Framework, although newer, has a growing community that values performance and scalability. Rails, being one of the older frameworks, has a mature community with a vast array of plugins and gems but might not be as cutting-edge as Node.js or Phoenix.

  4. Language: Node.js primarily uses JavaScript, a versatile and widely-used language, making it accessible to a large pool of developers. Phoenix Framework utilizes Elixir, a functional programming language that emphasizes immutability and concurrency, providing a different approach to web development. Rails uses Ruby, known for its elegance and developer-friendliness, but might not offer the same level of performance as Elixir or JavaScript.

  5. Real-Time Web Applications: Node.js is well-suited for real-time applications like chat or streaming services due to its event-driven architecture and WebSocket support. Phoenix Framework, with its built-in support for WebSockets and channels, excels in real-time features out of the box. Rails can also handle real-time web applications, but it might require additional setup and configuration compared to Node.js or Phoenix.

  6. Learning Curve: Node.js is relatively easy to get started with for developers familiar with JavaScript. Phoenix Framework, with its Elixir language, has a steeper learning curve but offers powerful features for those willing to invest the time. Rails, with its convention over configuration approach, is beginner-friendly but might lack some advanced functionalities that Node.js or Phoenix can provide.

In Summary, Node.js, Phoenix Framework, and Rails differ in terms of scalability, performance, community support, language, real-time capabilities, and learning curve.

Advice on Node.js, Phoenix Framework, and Rails
Needs advice
on
DjangoDjango.NET Core.NET Core
and
Node.jsNode.js

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)
Brandon Miller
Recommends
on
GolangGolang

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
anas mattar
Technical Lead at DPO International · | 5 upvotes · 192K views
Recommends
on
.NET Core.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

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
Aslam Mohammad
Systems Engineer at Infosys · | 2 upvotes · 176.8K views
Recommends
on
DjangoDjangoNode.jsNode.js

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
Pavel Nekrasov
MyOpenTour at MyOpenTour · | 1 upvotes · 153.9K views
Recommends
on
fastapifastapi
at

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

See more
Needs advice
on
LaravelLaravel
and
Node.jsNode.js

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
Recommends
on
LaravelLaravelNode.jsNode.js

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 · 2.7M views
Needs advice
on
PlayPlayRailsRails
and
ScalaScala
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 · 53.4K views
Recommends
on
RailsRails

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
Distinguished IT Architect at IBM · | 5 upvotes · 54.1K 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
Reza Malek
at Meam Software Engineering Group · | 3 upvotes · 45.6K views
Recommends
on
RailsRailsScalaScala

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 · 45.5K views
Recommends
on
PlayPlayRailsRailsScalaScala

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
DjangoDjangoJavaJava
and
Node.jsNode.js

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 (9)
Luiz H. Rapatão
Tech Lead at rapatao.com · | 8 upvotes · 203.9K views
Recommends
on
Node.jsNode.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
on
DjangoDjango

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
on
Node.jsNode.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
Recommends
on
Node.jsNode.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
Sinisha Mihajlovski
Design Lead | Senior Software Developer · | 3 upvotes · 194K views
Recommends
on
SugarCRMSugarCRM

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
John Nguyen

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
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
Nicolai Kamphenkel
Full-Stack-Engineer at Kamphenkel Datensysteme GmbH · | 2 upvotes · 192.5K views
Recommends
on
AdonisJSAdonisJSNode.jsNode.js

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
anas mattar
Technical Lead at DPO International · | 2 upvotes · 191.1K 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
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
on
RailsRails

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
on
Node.jsNode.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
on
Node.jsNode.jsRailsRails

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 · 49.4K views
Recommends
on
RailsRails

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
Needs advice
on
DjangoDjangoLaravelLaravel
and
Node.jsNode.js

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 · 353K views
Recommends
on
LaravelLaravel

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
Recommends
on
AngularJSAngularJSReactReact

React or Angular bro!

See more
Needs advice
on
Node.jsNode.js
and
SpringSpring

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)
Recommends
on
Node.jsNode.jsTypeScriptTypeScript

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
ASP.NETASP.NETLaravelLaravel
and
Node.jsNode.js

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
on
ASP.NETASP.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
LaravelLaravel
and
Node.jsNode.js

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 · | 6 upvotes · 317.7K views
Recommends
on
Node.jsNode.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 · 322.2K views
Recommends
on
FlutterFlutter
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
Muhammad Shaheer khan
Freelancer at Freelancer.com · | 9 upvotes · 596.9K views
Needs advice
on
DjangoDjangoMagentoMagento
and
Node.jsNode.js

Currently, I am a university student, and it is my second last semester with a major in Computer science. I want to start my career in full-stack web development. I know Python with Django + PHP with Laravel, and my focus is on learning MERN stack. I am a little bit confused as to which technology I should choose: Django or Magento or MERN stack.

#newbie

See more
Replies (2)
Recommends
on
ReactReact

I suggest you to go with MERN Stack (Mongo,express,react,Node). As you know python and django which is a plus point because you can use python and node as your backend and for front-end use react(easy to learn) and database of your choice.(Mongo or SQL)

See more
Moinul Moin
Recommends
on
Node.jsNode.js

GO For MERN Stack... brother

See more
Decisions about Node.js, Phoenix Framework, and Rails

#rust #elixir So am creating a messenger with voice call capabilities app which the user signs up using phone number and so at first i wanted to use Actix so i learned Rust so i thought to myself because well its first i felt its a bit immature to use actix web even though some companies are using Rust but we cant really say the full potential of Rust in a full scale app for example in Discord both Elixir and Rust are used meaning there is equal need for them but for Elixir so many companies use it from Whatsapp, Wechat, etc and this means something for Rust is not ready to go full scale we cant assume all this possibilities when it come Rust. So i decided to go the Erlang way after alot of Thinking so Do you think i made the right decision?Am 19 year programmer so i assume am not experienced as you so your answer or comment would really valuable to me

See more

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 · | 12 upvotes · 348.8K 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 · 415.1K 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
RailsRails
over
DjangoDjango

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 · 547.1K 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 · 378.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
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Node.js
Pros of Phoenix Framework
Pros of Rails
  • 1.4K
    Npm
  • 1.3K
    Javascript
  • 1.1K
    Great libraries
  • 1K
    High-performance
  • 805
    Open source
  • 486
    Great for apis
  • 477
    Asynchronous
  • 423
    Great community
  • 390
    Great for realtime apps
  • 296
    Great for command line utilities
  • 84
    Websockets
  • 83
    Node Modules
  • 69
    Uber Simple
  • 59
    Great modularity
  • 58
    Allows us to reuse code in the frontend
  • 42
    Easy to start
  • 35
    Great for Data Streaming
  • 32
    Realtime
  • 28
    Awesome
  • 25
    Non blocking IO
  • 18
    Can be used as a proxy
  • 17
    High performance, open source, scalable
  • 16
    Non-blocking and modular
  • 15
    Easy and Fun
  • 14
    Easy and powerful
  • 13
    Future of BackEnd
  • 13
    Same lang as AngularJS
  • 12
    Fullstack
  • 11
    Fast
  • 10
    Scalability
  • 10
    Cross platform
  • 9
    Simple
  • 8
    Mean Stack
  • 7
    Great for webapps
  • 7
    Easy concurrency
  • 6
    Typescript
  • 6
    Fast, simple code and async
  • 6
    React
  • 6
    Friendly
  • 5
    Control everything
  • 5
    Its amazingly fast and scalable
  • 5
    Easy to use and fast and goes well with JSONdb's
  • 5
    Scalable
  • 5
    Great speed
  • 5
    Fast development
  • 4
    It's fast
  • 4
    Easy to use
  • 4
    Isomorphic coolness
  • 3
    Great community
  • 3
    Not Python
  • 3
    Sooper easy for the Backend connectivity
  • 3
    TypeScript Support
  • 3
    Blazing fast
  • 3
    Performant and fast prototyping
  • 3
    Easy to learn
  • 3
    Easy
  • 3
    Scales, fast, simple, great community, npm, express
  • 3
    One language, end-to-end
  • 3
    Less boilerplate code
  • 2
    Npm i ape-updating
  • 2
    Event Driven
  • 2
    Lovely
  • 1
    Creat for apis
  • 0
    Node
  • 120
    High performance
  • 76
    Super fast
  • 70
    Rapid development
  • 62
    Open source
  • 60
    Erlang VM
  • 46
    Well designed
  • 45
    Channels
  • 39
    Easily Scalable
  • 35
    Very extensible
  • 35
    Restful
  • 11
    Functional Programming
  • 10
    Inspired by Rails
  • 10
    Great community
  • 8
    Beautiful code
  • 8
    Ecto
  • 6
    Scalable
  • 6
    Fault tolerant
  • 5
    LiveView feature
  • 4
    Elegant
  • 4
    Insanely fast and easy
  • 4
    Feels like working with rails framework with more power
  • 3
    Built-in websocket support
  • 3
    Benevolent dictator that decides project course
  • 3
    Great integration with GraphQL
  • 2
  • 2
    Front-End Agnostic
  • 1
    Functional approach
  • 856
    Rapid development
  • 652
    Great gems
  • 606
    Great community
  • 484
    Convention over configuration
  • 417
    Mvc
  • 348
    Great for web
  • 343
    Beautiful code
  • 310
    Open source
  • 270
    Great libraries
  • 261
    Active record
  • 108
    Elegant
  • 90
    Easy to learn
  • 88
    Easy Database Migrations
  • 82
    Makes you happy
  • 75
    Free
  • 62
    Great routing
  • 54
    Has everything you need to get the job done
  • 41
    Great Data Modeling
  • 38
    MVC - Easy to start on
  • 38
    Beautiful
  • 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
    Intuitive
  • 4
    Great language
  • 4
    Haml and sass
  • 4
    Easy to learn, use, improvise and update
  • 2
    Metaprogramming
  • 2
    It works
  • 2
    Jet packs come standard
  • 2
    Easy and fast
  • 2
    Legacy
  • 1
    It's intuitive
  • 1
    Convention over configuration
  • 1
    Easy Testing
  • 1
    Cancan

Sign up to add or upvote prosMake informed product decisions

Cons of Node.js
Cons of Phoenix Framework
Cons of Rails
  • 46
    Bound to a single CPU
  • 45
    New framework every day
  • 40
    Lots of terrible examples on the internet
  • 33
    Asynchronous programming is the worst
  • 24
    Callback
  • 19
    Javascript
  • 11
    Dependency based on GitHub
  • 11
    Dependency hell
  • 10
    Low computational power
  • 7
    Can block whole server easily
  • 7
    Callback functions may not fire on expected sequence
  • 7
    Very very Slow
  • 4
    Breaking updates
  • 4
    Unstable
  • 3
    No standard approach
  • 3
    Unneeded over complication
  • 1
    Can't read server session
  • 1
    Bad transitive dependency management
  • 6
    No jobs
  • 5
    Very difficult
  • 24
    Too much "magic" (hidden behavior)
  • 14
    Poor raw performance
  • 12
    Asset system is too primitive and outdated
  • 6
    Heavy use of mixins
  • 6
    Bloat in models
  • 4
    Very Very slow

Sign up to add or upvote consMake informed product decisions

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 Phoenix Framework?

Phoenix is a framework for building HTML5 apps, API backends and distributed systems. Written in Elixir, you get beautiful syntax, productive tooling and a fast runtime.

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 Node.js?
What companies use Phoenix Framework?
What companies use Rails?

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

What tools integrate with Node.js?
What tools integrate with Phoenix Framework?
What tools integrate with Rails?

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

Blog Posts

Oct 24 2019 at 7:43PM

AppSignal

JavaScriptNode.jsJava+8
5
946
Oct 3 2019 at 7:13PM

Ably Realtime

JavaScriptPythonNode.js+8
5
3819
Node.jsnpmKubernetes+6
1
1400
GitNode.jsFirebase+5
7
2342
Jun 6 2019 at 5:11PM

AppSignal

RedisRubyKafka+9
15
1632
What are some alternatives to Node.js, Phoenix Framework, and Rails?
AngularJS
AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.
PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
See all alternatives