Django vs Node.js vs React

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

Django

23.9K
20.7K
+ 1
3.6K
Node.js

109.4K
88.8K
+ 1
8.3K
React

98.9K
77.7K
+ 1
3.8K
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Django
Pros of Node.js
Pros of React
  • 619
    Rapid development
  • 459
    Open source
  • 394
    Great community
  • 344
    Easy to learn
  • 256
    Mvc
  • 208
    Beautiful code
  • 207
    Elegant
  • 187
    Free
  • 186
    Great packages
  • 173
    Great libraries
  • 63
    Restful
  • 60
    Powerful
  • 59
    Comes with auth and crud admin panel
  • 55
    Great documentation
  • 52
    Great for web
  • 41
    Python
  • 35
    Great orm
  • 31
    Great for api
  • 24
    All included
  • 20
    Web Apps
  • 19
    Fast
  • 16
    Used by top startups
  • 14
    Clean
  • 13
    Sexy
  • 12
    Easy setup
  • 10
    Convention over configuration
  • 7
    ORM
  • 7
    Allows for very rapid development with great libraries
  • 7
    The Django community
  • 5
    Its elegant and practical
  • 5
    Great MVC and templating engine
  • 4
    Full stack
  • 4
    Mvt
  • 4
    Easy Structure , useful inbuilt library
  • 4
    Fast prototyping
  • 4
    Easy to develop end to end AI Models
  • 3
    Easy
  • 3
    Easy to use
  • 3
    King of backend world
  • 3
    Cross-Platform
  • 3
    Batteries included
  • 3
    Have not found anything that it can't do
  • 2
    Scaffold
  • 2
    Zero code burden to change databases
  • 2
    Full-Text Search
  • 2
    Map
  • 2
    Modular
  • 2
    Very quick to get something up and running
  • 2
    Many libraries
  • 2
    Python community
  • 2
    Great peformance
  • 2
    Just the right level of abstraction
  • 1
    Easy to change database manager
  • 1.4K
    Npm
  • 1.3K
    Javascript
  • 1.1K
    Great libraries
  • 1K
    High-performance
  • 791
    Open source
  • 480
    Great for apis
  • 471
    Asynchronous
  • 417
    Great community
  • 387
    Great for realtime apps
  • 292
    Great for command line utilities
  • 78
    Node Modules
  • 76
    Websockets
  • 65
    Uber Simple
  • 53
    Great modularity
  • 53
    Allows us to reuse code in the frontend
  • 38
    Easy to start
  • 33
    Great for Data Streaming
  • 29
    Realtime
  • 25
    Awesome
  • 23
    Non blocking IO
  • 16
    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
    Scalability
  • 8
    Cross platform
  • 8
    Fullstack
  • 7
    Mean Stack
  • 7
    Simple
  • 5
    Easy concurrency
  • 5
    Great for webapps
  • 5
    React
  • 4
    Friendly
  • 4
    Easy to use and fast and goes well with JSONdb's
  • 4
    Typescript
  • 4
    Fast, simple code and async
  • 3
    Its amazingly fast and scalable
  • 3
    Scalable
  • 3
    Great speed
  • 3
    Fast development
  • 3
    Isomorphic coolness
  • 3
    Control everything
  • 2
    It's fast
  • 2
    Not Python
  • 2
    Blazing fast
  • 2
    One language, end-to-end
  • 2
    TypeScript Support
  • 2
    Easy to learn
  • 2
    Javascript2
  • 2
    Easy to use
  • 2
    Less boilerplate code
  • 2
    Sooper easy for the Backend connectivity
  • 2
    Great community
  • 2
    Scales, fast, simple, great community, npm, express
  • 2
    Performant and fast prototyping
  • 1
    Easy
  • 1
    Lovely
  • 0
    Event Driven
  • 751
    Components
  • 651
    Virtual dom
  • 558
    Performance
  • 484
    Simplicity
  • 436
    Composable
  • 174
    Data flow
  • 159
    Declarative
  • 123
    Isn't an mvc framework
  • 113
    Reactive updates
  • 110
    Explicit app state
  • 31
    JSX
  • 23
    Learn once, write everywhere
  • 18
    Uni-directional data flow
  • 16
    Easy to Use
  • 14
    Works great with Flux Architecture
  • 10
    Great perfomance
  • 8
    Built by Facebook
  • 6
    Javascript
  • 5
    TypeScript support
  • 5
    Speed
  • 4
    Feels like the 90s
  • 4
    Easy to start
  • 4
    Awesome
  • 4
    Scalable
  • 3
    Hooks
  • 3
    Fancy third party tools
  • 3
    Server side views
  • 3
    Functional
  • 2
    Strong Community
  • 2
    Simple, easy to reason about and makes you productive
  • 2
    Simple
  • 2
    Has functional components
  • 2
    Excellent Documentation
  • 2
    Very gentle learning curve
  • 2
    Scales super well
  • 2
    Just the View of MVC
  • 2
    Server Side Rendering
  • 2
    Cross-platform
  • 2
    Rich ecosystem
  • 2
    Has arrow functions
  • 2
    Super easy
  • 2
    Closer to standard JavaScript and HTML than others
  • 2
    Props
  • 2
    Great migration pathway for older systems
  • 2
    SSR
  • 2
    Fast evolving
  • 1
    Obama
  • 1
    Www
  • 1
    Allows creating single page applications
  • 1
    Start simple
  • 1
    Every decision architecture wise makes sense
  • 1
    Fragments
  • 1
    Permissively-licensed
  • 1
    Beautiful and Neat Component Management
  • 1
    Split your UI into components with one true state
  • 1
    Sharable
  • 1
    Sdfsdfsdf

Sign up to add or upvote prosMake informed product decisions

Cons of Django
Cons of Node.js
Cons of React
  • 24
    Underpowered templating
  • 19
    Underpowered ORM
  • 18
    Autoreload restarts whole server
  • 15
    URL dispatcher ignores HTTP method
  • 10
    Internal subcomponents coupling
  • 7
    Not nodejs
  • 7
    Admin
  • 6
    Configuration hell
  • 3
    Not as clean and nice documentation like Laravel
  • 3
    Bloated admin panel included
  • 3
    Python
  • 2
    Overwhelming folder structure
  • 2
    Not typed
  • 1
    InEffective Multithreading
  • 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
  • 32
    Requires discipline to keep architecture organized
  • 20
    No predefined way to structure your app
  • 19
    Need to be familiar with lots of third party packages
  • 6
    JSX
  • 6
    Not enterprise friendly
  • 1
    One-way binding only
  • 1
    State consistency with backend neglected

Sign up to add or upvote consMake informed product decisions

What is Django?

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.

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 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.

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

What companies use Django?
What companies use Node.js?
What companies use React?

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

What tools integrate with Django?
What tools integrate with Node.js?
What tools integrate with React?

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

Blog Posts

+12
5
3257
Oct 24 2019 at 7:43PM

AppSignal

+8
5
685
Oct 11 2019 at 2:36PM

LogRocket

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

Ably Realtime

+8
4
3197
+6
1
1116
What are some alternatives to Django, Node.js, and React?
Flask
Flask is intended for getting started very quickly and was developed with best intentions in mind.
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.
Laravel
It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching.
PHP
Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
WordPress
The core software is built by hundreds of community volunteers, and when you’re ready for more there are thousands of plugins and themes available to transform your site into almost anything you can imagine. Over 60 million people have chosen WordPress to power the place on the web they call “home” — we’d love you to join the family.
See all alternatives
Reviews of Django, Node.js, and React
Web Developer, Freelancer
Review of
Node.js

I have benchmarked Node.js and other popular frameworks using a real life application example. You can find the results here: https://medium.com/@mihaigeorge.c/web-rest-api-benchmark-on-a-real-life-application-ebb743a5d7a3

Review of
React

Perfect workflow

How developers use Django, Node.js, and React
Instacart uses
React

Before two weeks ago or so, it used to be Backbone views and models, and everything was on our main store app, and our mobile web app, but actually, we just switched our mobile web app to using ReactJS for the interface. So it’s using Backbone models but ReactJS front-end components. Really, it was borne out of the frustration with how the Backbone model-view bindings worked, and it wasn’t especially performant for large views, and we had to do lots of tricks to make it performant. But swapping that out with React views meant that it could be both simpler and faster without having to spend a lot of time on that.

One other interesting thing about that is, since React actually works okay with the Backbone models and the Backbone router and stuff like that, we didn’t have to rewrite the mobile web application and update it to ReactJS. Rewrites are almost always a bad idea. We were able to upgrade pieces of it at a time, move on to React, and now the entire thing is using React and just has the Backbone router and models and stuff like that that we already had, so it's a lot faster.

MaxCDN uses
Node.js

We decided to move the provisioning process to an API-driven process, and had to decide among a few implementation languages:

  • Go, the server-side language from Google
  • NodeJS, an asynchronous framework in Javascript

We built prototypes in both languages, and decided on NodeJS:

  • NodeJS is asynchronous-by-default, which suited the problem domain. Provisioning is more like “start the job, let me know when you’re done” than a traditional C-style program that’s CPU-bound and needs low-level efficiency.
  • NodeJS acts as an HTTP-based service, so exposing the API was trivial

Getting into the headspace and internalizing the assumptions of a tool helps pick the right one. NodeJS assumes services will be non-blocking/event-driven and HTTP-accessible, which snapped into our scenario perfectly. The new NodeJS architecture resulted in a staggering 95% reduction in processing time: requests went from 7.5 seconds to under a second.

Netflix uses
React

At the beginning of last year, Netflix UI engineers embarked on several ambitious projects to dramatically transform the user experience on our desktop and mobile platforms. Given a UI redesign of a scale similar to that undergone by TVs and game consoles, it was essential for us to re-evaluate our existing UI technology stack and to determine whether to explore new solutions. Do we have the right building blocks to create best-in-class single-page web applications? And what specific problems are we looking to solve? Much of our existing front-end infrastructure consists of hand-rolled components optimized for the current website and iOS application. Our decision to adopt React was influenced by a number of factors, most notably: 1) startup speed, 2) runtime performance, and 3) modularity.

React has exceeded our requirements and enabled us to build a tremendous foundation on which to innovate the Netflix experience.

Trello uses
Node.js

The server side of Trello is built in Node.js. We knew we wanted instant propagation of updates, which meant that we needed to be able to hold a lot of open connections, so an event-driven, non-blocking server seemed like a good choice. Node also turned out to be an amazing prototyping tool for a single-page app. The prototype version of the Trello server was really just a library of functions that operated on arrays of Models in the memory of a single Node.js process, and the client simply invoked those functions through a very thin wrapper over a WebSocket. This was a very fast way for us to get started trying things out with Trello and making sure that the design was headed in the right direction. We used the prototype version to manage the development of Trello and other internal projects at Fog Creek.

AngeloR uses
Node.js

All backend code is done in node.js

We have a SOA for our systems. It isn't quite Microservices jsut yet, but it does provide domain encapsulation for our systems allowing the leaderboards to fail without affecting the login or education content.

We've written a few internal modules including a very simple api framework.

I ended up picking Node.js because the game client is entirely in JavaScript as well. This choice made it a lot easier for developers to cross borders between being "client side" game developers and "server side" game developers. It also meant that the pool of knowledge/best practices is applicable almost across the company.

Tony Manso uses
Node.js

Node.js is the foundation for the server. Using Express.js for serving up web content, and sockets.io for synchronizing communications between all clients and the server, the entire game runs as Javascript in Node.js.

I don't know how well this will scale if/when I have hundreds of people connected simultaneously, but I suspect that when that time comes, it may be just a matter of increasing the hardware.

As for why I chose Node.js... I just love JavaScript! My code is all original, meaning that I didn't have to inherit anyone's bad Javascript. I'm perfectly capable of creating my own bad Javascript, thank you! Also, npm rocks!

Tarun Singh uses
Node.js

Used node.js server as backend. Interacts with MongoDB using MongoSkin package which is a wrapper for the MongoDB node.js driver. It uses express for routing and cors package for enabling cors and eyes package for enhancing readability of logs. Also I use nodemon which takes away the effort to restart the server after making changes.

Cloudcraft uses
React

Web-frontend programming prior to React: like banging rocks together. With React: Like wearing fusion powered underwear. Gives you a nice warm feeling. Using React for Cloudcraft.co allowed us to create a beautiful UI in record time (1 month start to launch), with virtually no bugs popping up during development. The functional approach to just rendering your component given a state just makes so much sense, with React figuring out the delta between your current and desired representation. It's the future kids!

Kurzor, s.r.o. uses
React

React is choice number 1 when it comes to JS development at Kurzor. We choose React because it solves many issues with web applications in a elegant way. Writing an app in components is useful for coordination and isolation of concerns. React forces you to abandon state and use vertical passing through props instead. And having as many Pure Components as possible helps to write cleaner code.

With React we usually use: Redux, React Router, React Toolbox, Styled Components.

Kent Steiner uses
React

This is the best component framework and API available today for building modern web sites and apps. I really enjoy how minimal it is, and powerful at the same time. It removes opinionated development and replaces it with logic and data philosophies, which has in turn fostered a robust and lively code and support community.

MOKA Analytics uses
Django

Django takes the hassle out of building an enterprise web application using Python.

  • admin app for administration
  • ORM for deploying against different database vendors
  • social auth package for authentication with enterprise IdP
  • guardian package for authorization
Yaakov Gesher uses
Django

Our backend was written in Django. We took advantage of the ready-to-go admin interface as a go-to solution for the client to be able to authorize his users, as well as other functionality, while most of the work was done through the Django Rest Framework.

Blair Gemmer uses
Django

Hands down the best Python web framework I've used. Very easy to extend and add apps and go from 0 to full project quickly and painlessly. I built a fully authenticated project with a single endpoint in less than 30 minutes.

Kang Hyeon Ku uses
Django

정말 편리하고 많은것을 알아서 제공해 주는 프레임워크 이다. 책의 예제만 진행해서 많이 써보지는 못했지만, 쉽게 쉽게 웹을 개발 할 수 있는 점이 매력적 이다. 게다가 orm 이 기본으로 내장 되어 있고 db 도 sqlite 가 기본으로 되어있어. 그냥 django 만 설치하면 바로 웹개발이 가능하다.

Seungkwon Park uses
Django

django는 저의 무기입니다.

django 이외에 flask로 간단한 restful api를 만들면서 느낀점은 framework 보다 언어가 중요하다는것을 알았고 django가 얼마나 큰 framework인지 알게되었습니다.

저는 signal 사용을 좋아합니다.