Django vs Node.js vs Tornado

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

Django

26.8K
23.6K
+ 1
3.8K
Node.js

125.6K
104.1K
+ 1
8.4K
Tornado

319
368
+ 1
165
Advice on Django, Node.js, and Tornado
Needs advice
on
Spring BootSpring Boot
and
DjangoDjango

I have 1 year of experience as a Django developer but my main role is as a frontend developer and my current company is not using Django they are using Spring Boot and I also want to do backend work.

my perception is spring boot developers get paid much higher than Django and can be there in the market for a long time.

Please give me valuable comments and guidance.

See more
Replies (3)
Adrien Horgnies
Recommends
Spring BootSpring Boot

Globally, Spring Boot is more demanded than Django. For example, there are about ten times more open positions for Spring Boot than for Django in Brussels. So this naturally drives up the price of developers mastering Spring Boot. If you have an opportunity to work with Spring Boot, I suggest you take it, as it is a sound career decision. Furthermore, your experience with Django will help you to master Spring Boot, as both frameworks share many concepts. That said, Django positions do also exist, and it's absolutely not a bad decision to become an expert with that framework either. Django developers seem to like it very much.

See more
Mayank Choudhary
Senior Software Engineer at Cisco · | 10 upvotes · 3.4K views
Recommends
DjangoDjango

My mantra is not sticking to a particular technology. That is what I'd suggest. Going by that, I recommend you learn both, Django and Spring Boot. But if you want to choose one among the two, I'd say stick with Django. Saves you the effort of learning a new language and a new framework. Rather, you can spend that time honing your Django skills. It is a wrong notion among young graduates that organizations decide pay based on your technology stack. You just need to be good at a technology that is in demand. You'd be paid well no matter the technology. Django is a wonderful framework and there are tons of companies looking for Django experts. The same can be said about Spring Boot. Both are wonderful technologies in their own accord. As for you, just go with the technology you are already familiar with. It is a misconception that Spring Boot developers get paid better than Django developers.

See more

Learn both. Spring boot takes more time to learn, because you need to understand spring core first, then spring MVC, then build tools like maven, pom (to truly master spring boot application deployment) One specific technology is never going to land you a job. Go for the whole stack. Example, organizations that use spring boot, won't just look for candidates with spring boot. They might ask for docker, Kubernetes, JavaScript, some ui framework like angular/react, maven, git, etc. Learning curve for python django is easy and small. Focus one technology at a time. Learn it in a couple of weeks. Then go on to another technology in the stack. If you master multiple stacks say java stack, data science stack, web development stack then you should not be short of opportunities. More opportunities means more bargaining power. Having said that, don't run behind money. Money is necessary to sustain but it is not worth pursuing. Pursue moral values, or at least technical excellence. And money will follow wherever you go.

See more
Needs advice
on
Node.jsNode.js
and
DjangoDjango
in

Situation: I need to make a website for my Final Year Project. It's the website for brain analysis. The website features include chat, blogs, posts, users, payment methods. One of the main features includes the use of AI, which I know only in Python.

Decisions and Confusions: I decided to make two backends and one front-end. One backend will be using Django with GraphQL/RestAPI that will be running my AI models. The other backend is for the website. It will add users, chat, post, etc. I'm thinking of using TypeScript, Prisma, ExpressJS, GraphQL, MongoDB/PostgreSQL.

Please guide me to the latest and stable tech stack I can use. Because one of the requirements of our Final Year Project is to use the latest tech stacks. 1st Backend advice? (This will be used to run AI models) 2nd Backend advice? Frontend to 2nd Backend advice?

Thank you.

See more
Replies (2)

Hey there 👋,

Daniel from the Prisma team here.

I think your choice of a stack would work well for your final year project.

Some recommendations: - Use PostgreSQL if you need a stable stack. Prisma support for MongoDB is currently in Preview and therefore isn't stable. Moreover, PostgreSQL being a relational database enforces a schema more strictly than MongoDB which is useful given that your data model involves multiple relations. - If your Django backend exposes a REST API, you can also expose it over the GraphQL API by proxying requests from the GraphQL API to the REST API. That way, you have a unified API for all operations. This is typically known as wrapping. - Regarding the GraphQL part, I would consider looking at Nexus and nexus-prisma.

For inspiration, check out the Prisma Examples ​repository which contains many ready-to-run examples.

Here's another fully-fledged example using Prisma, Fastify, GraphQL, and PostgreSQL: https://github.com/2color/fastify-graphql-nexus-prisma

See more

Hi. Maybe you can try use FastAPI instead Django https://fastapi.tiangolo.com It could be faster. The FastAPI documentation is so useful and elegant.

Also you can try split a little more the backend and use an "microservice" architecture. Using Kubernetes to deploy your services.

See more
Needs advice
on
RedisRedisNode.jsNode.js
and
DjangoDjango

Hey everyone, I am planning to start a personal project that would be yet another social media project with real-time communication facilities like one-to-one chat, group chat, and later voice and video chat using WebRTC. The thing I am concerned about is Django being able to handle all the real-time stuff using websockets. I can use Django Channels, but I don't think that would be a very scalable solution. Moreover, django_channels require alto of configurations, and deployment is also a pain. My plan is to use a separate Node.js server to handle all the socket connections and have it talk to the main django server through Redis. My question is whether the above-mentioned solution is a good choice? If yes, how this can be achieved, keeping in mind all the authentication other related problems. It might be simple, but I have never done this before, which might be the main reason I am concerned. But any suggestion will be appreciated.

Thanks in advance 😊

See more
Replies (1)
Sergey St.

Try to do it with less - Nodejs + Redis + socket.io, optionally you can always communicate with django, but you can do it all in Nodejs, use pm2 and cluster too. For Redis you can also use Pub/Sub, is a good combination for future scaling.

See more
Needs advice
on
RailsRailsLaravelLaravel
and
DjangoDjango

Which is better of Laravel, Rails and Django for creating great products quickly?

Which is better for creating open source apps that others might want to contribute to?

I want a mature tool for creating web apps that qualifies for:

  • Quick prototyping
  • Easy to get to production level for backend
  • Maintainable and buildable by one person alone
  • Enforces conformity, so others can easily read and contribute to the code, making successfully open sourcing possible
  • Works well with React
  • Has a mature and fairly stable ecosystem for the basics (auth, storage, db, image handling, backups, change history, etc.
  • Has an ecosystem that will still be alive in 10 years, responding to changes.

I would have to learn Ruby, Python or PHP for each, so that factors in too.

I'm proficient in React and Node.js, but I feel the node backend ecosystem is too immature with a million different ways to do everything, and too many decisions to make, too much wiring to get everything to work together, and too many packages that end up not being supported a few months down the line.

Which would you choose for me to learn?

See more
Replies (5)
malekmfs
at Meam Software Engineering Group · | 7 upvotes · 70.5K views
Recommends
RailsRailsDjangoDjango

Comparing them end-to-end, Rails comes the most productive in my opinion. But there are bolder parameters you may consider. i.e. no one switches from Django to Rails to improve productivity and vice versa (probably from Laravel to one of those two).

  • The language's productivity also matters, which both Ruby and Python are better for that.

  • There is a philosophical difference between #Django and #Rails :

  • Django supports the "Explicit over Implicit" idea, making it easier for newcomers to understand what's going on. This idea also has downsides. This allows beginners to start working with Django without even learning Django and best practices and defer learning by using references like Stackoverflow.com, which is not a good idea because you potentially don't know things that you don't know! Also, you may find many different project styles.

  • On the other hand, Rails support the "Convention over configuration" and Scaffolding idea. It's easier for a Rails developer to be added to a new project or just review a random Rails project. Everything has a default and also it has some downsides as well. e.g. As a beginner, everything feels like magic in Rails, and you don't understand what is going on and how Rails understand while you didn't "explicitly" say what do you want sometimes.

Conclusion: Rails and Django are more productive and you can build projects on your own quickly (many giant startups launched this way!).

Node.JS isn't immature, also sometimes shows better performance comparing the mentioned alternatives. But if you suffer from "a million different ways to do everything" and "many decisions to make", Take Ruby on Rails for sure.

P.S: for learning RoR I suggest the book/video from Michael Hartl.

See more
Recommends
DjangoDjango

I picked Django because we use it at work. But honestly, if you don't know any of them, I would look at the jobs around where you live and learn the one that either has the most jobs posted or if you can look at the trends the one that is growing the number of jobs the most.

All three would satisfy your needs and all three are good choices. Dotnet core would also be a good choice, again if there are jobs in your area for said technologies. If you literally don't care about this for employment, learn them all and just do it in alphabetical order :)

Note: I think you are wrong about Node being too immature - there are also MOSTLY standards for everything you want to do on the backend that have not changed for many years.

See more
Malo Skrylev

I recommend Ruby/Rails. I write the text in question answer form:

Quick prototyping

Yes you can use the prototyping in Rails or not. And this can be realized by adding any of testing framework like Cucumber or RSpec for example. Writing the test you can work on the application prototype without a change real code in production, or even development environment.

Easy to get to production level for backend

Yes it is easy, you are able to use the capistrano gem with its modules, if required, to deploy application to production within a day.

Maintainable and buildable by one person alone

Since the Rails gets on itself the main code part of a data processing, you are able easily to generate the required code with build-in Rails or external gem generators, and to merely maintain the your code, if you would cover it with a test of selected test framework.

Enforces conformity, so others can easily read and contribute to the code, making successfully open sourcing possible

As far as I said you can barely control a contribution to your project with using the test covering frameworks, to keep conformity the project.

Works well with React

You can use React along with any JS NPM module easily using webpacker gem.

Has a mature and fairly stable ecosystem for the basics (auth, storage, db, image handling, backups, change history, etc.

Of course the Rails framework is supported by many three-side gems, which can be found at rubygems, that support the authentication (devise), storage feature (fog), db (pg/mysql/sqlite3), image handling (rmagick), backups (backup), change history (history)

Has an ecosystem that will still be alive in 10 years, responding to changes.

Ruby/Rails with the RubyGem ecosystem is actively envolving and not plan to be collapsed and abandned with of development both Ruby language and Rails framework.

So, you can freely and fearlessly start using the Rails framework as server side base for your project.

See more
Andrew Kornilov
Co-founder, Principal Developer · | 3 upvotes · 22.6K views
Recommends

Rails uses too much magic and sugar. Laravel is something from the previous century. I'd say Django can be well balanced choice. I have extensive experience with all three. So, this advice based on practical projects

See more
Sebastian Gaviria Tangarife

DJango after a little practice, with migrations and support to a lot of libraries and modules is very efficient to create small projects.

Edit: Between Laravel, Django or RoR (Ruby on Rails)

See more
Needs advice
on
.NET.NET
and
DjangoDjango

I'm working in a university in the IT department where they are developing web Apps with a .NET framework, and I'm starting a master course with python (python programming, ML, AI, NLP, and Django). My manager doesn't mind using any technology. Please guide me. Should I go to learn .NET with Django or stick with Django? What is the best for the future?

See more
Replies (2)
Lukas Batteau

Since the course is in Python, a Python web framework seems like a logical choice. Django is a good option, but Flask and FastAPI are far more lightweight than Django, and great for quickly adding an API on top of your ML/NLP code. Django has its merits, especially the generated admin interface, but requires a lot of boilerplate code.

See more
Alvin Mites
Recommends

The one thing I wouldn't do is mix the two, different structures and ideas for how to do things

Taking a class in python already? I'd lean to Django Want to learn a language that will carry forward to a good paying job .net

Python is an excellent language, though it's often being replaced with things like go which uses a similar syntax

Over time you're going to learn many languages if you want to be a great programmer spend your time with one and dive deep, learn what makes it shine and what the draw backs are grow proficient with it and then consider learning something different so you can compare

Early on learning a single language at depth is more important than tinkering with several or learning any specific language

Good luck

See more
Needs advice
on
Spring BootSpring Boot
and
DjangoDjango

I need to build a system(web app) where people will share their projects and will receive funding against those projects if someone likes the projects. The backend should be secure, and the tools that will be needed to build that system should be free. We are a startup that can't invest too much in tools right now. We need to build it in 3-4 four months.

The application should be able to support 10k users for now and should be able to scale later.

Also, please suggest what front-end technologies I should use.

See more
Replies (1)
Top Notch

Depending on the backend I would pick the technology you feel most comfortable with, although, my preference would go to Django with Django REST Framework considering the timeframe you mentioned.

As for the front-end, React.JS and Vue are easy to get started with.

See more
Needs advice
on
Node.jsNode.js.NET Core.NET Core
and
DjangoDjango

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
GoGo

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 · 87.8K views
Recommends
.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 · 73K views
Recommends
Node.jsNode.jsDjangoDjango

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 · 49.8K views
Recommends
fastapifastapi
at

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

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

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 · | 5 upvotes · 83.7K views
Recommends
Node.jsNode.jsLaravelLaravel

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
Needs advice
on
Node.jsNode.jsJavaJava
and
DjangoDjango

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
Senior Software Engineer at rapatao.com · | 8 upvotes · 82.9K views
Recommends
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
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
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
Mukesh PM
Recommends
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 at Endava · | 3 upvotes · 73K views
Recommends
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
Ruslan Rayanov
Owner at Falcon Space · | 2 upvotes · 71K views
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
anas mattar
Technical Lead at DPO International · | 2 upvotes · 70.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
Nicolai Kamphenkel
Full-Stack-Engineer at Kamphenkel Datensysteme GmbH · | 2 upvotes · 71.5K views
Recommends
Node.jsNode.jsAdonisJSAdonisJS

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

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
Needs advice
on
Node.jsNode.jsLaravelLaravel
and
DjangoDjango

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 · 137.2K views
Recommends
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
Decisions about Django, Node.js, and Tornado
Noe Osorio
FullStack Engineer at Finloop · | 9 upvotes · 28.2K views

Node Js have worked incredible great for me on every project I had. It is fast enough to support big and small apps, you do not have to worry about performance, because it is very capable of building a big REST API.

One advantage is that the learning curve is lower when you have used javascript on web browser as frontend, so, it is easy to migrate from Frontend to Backend with node.

Node Package Manager (NPM) has an incredible amount of packages from many developers, so you can use them on your project as you need them.

Code is easy to support, way different than Java Legacy code.

See more
Christian Stefanescu
Head of IT at lawpilots · | 5 upvotes · 33K views

A big part of our needs fits perfectly into what Django has to offer: an ORM with support for PostgreSQL , the amazing auto-generated admin interface, consolidated tooling around the application lifecycle and a well-established community with solutions to the majority of common problems.

We use Django whenever we need the auto-generated admin and the friendly templating language to build capable web applications which are relatively easy to maintain for a comparably long time. The excellent integrations for Celery and Django REST framework make it easy to build the necessary integrations with other services.

See more
Tyrell Perera
Director - Software & Systems Engineering at Telstra · | 5 upvotes · 28.3K views
Migrated
from
DjangoDjango
to
Spring BootSpring Boot

I inherited a large Python Django application as part of a corporate re-structure. After careful analysis, working with the new team, we decided to break the monolith into a microservices architecture. While doing so, we managed to port some of those microservices into Spring boot. Better performance and widely available expertise within my current team made me make this decision.

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

We’re a new startup so we need to be able to deliver quick changes as we find our product market fit. We’ve also got to ensure that we’re moving money safely, and keeping perfect records. The technologies we’ve chosen mix mature but well maintained frameworks like Django, with modern web-first and api-first front ends like GraphQL, NextJS, and Chakra. We use a little Golang sparingly in our backend to ensure that when we interact with financial services, we do so with statically compiled, strongly typed, and strictly limited and reviewed code.

You can read all about it in our linked blog post.

See more

This website was originally written in Yii as PHP was my main language back then. After learning Django, I realized just how quickly you could build a web app with less lines. So I migrated my website to Django in a week or two and managed to cut down the lines of code by half. Some of the lines saving came from the models, the views, and the expressiveness of Python. Django requires like config for the models and they provide many generic views that abstracts away common patterns.

See more

I am planning to develop project management system SAAS based. Can any one help me with selection of platforms from Django or Laravel and for database MongoDB or Firebase/Firestore or MySql? On front end I am going to use Quasar Framework (VueJS). Note : project will be Webapp, Mobile app and desktop app.

See more
Shiqi Lin
Software Developer at BigClarity · | 3 upvotes · 82.7K views

We will use Django to set up our backend and Django REST Framework (DRF) for our API creation. The easiness of performing development tasks (eg. user authentication, URL routing, and schema migration) attracts our attention. Also, Django with PostgreSQL provides many benefits: 1. Some data types in Django will only work with PostgreSQL; 2. Django offers django.contrib.postgres to operate on PostgreSQL; 3. Django supports many features of PostgreSQL. Moreover, Django is compatible with Redis.

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 · 278.8K 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
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 Tornado
  • 634
    Rapid development
  • 468
    Open source
  • 401
    Great community
  • 353
    Easy to learn
  • 263
    Mvc
  • 215
    Beautiful code
  • 210
    Elegant
  • 193
    Free
  • 191
    Great packages
  • 178
    Great libraries
  • 68
    Restful
  • 65
    Comes with auth and crud admin panel
  • 65
    Powerful
  • 60
    Great documentation
  • 58
    Great for web
  • 44
    Python
  • 37
    Great orm
  • 34
    Great for api
  • 27
    All included
  • 22
    Web Apps
  • 21
    Fast
  • 18
    Used by top startups
  • 16
    Clean
  • 15
    Easy setup
  • 15
    Sexy
  • 12
    Convention over configuration
  • 10
    ORM
  • 9
    The Django community
  • 9
    Allows for very rapid development with great libraries
  • 6
    Great MVC and templating engine
  • 6
    King of backend world
  • 6
    Its elegant and practical
  • 5
    Mvt
  • 5
    Batteries included
  • 5
    Full stack
  • 5
    Fast prototyping
  • 5
    Easy Structure , useful inbuilt library
  • 5
    Easy to develop end to end AI Models
  • 5
    Have not found anything that it can't do
  • 4
    Very quick to get something up and running
  • 4
    Easy to use
  • 4
    Easy
  • 4
    Cross-Platform
  • 3
    Map
  • 3
    Great peformance
  • 3
    Scaffold
  • 3
    Just the right level of abstraction
  • 3
    Modular
  • 3
    Full-Text Search
  • 3
    Zero code burden to change databases
  • 3
    Python community
  • 3
    Many libraries
  • 2
    Easy to change database manager
  • 1
    Node js
  • 1.4K
    Npm
  • 1.3K
    Javascript
  • 1.1K
    Great libraries
  • 1K
    High-performance
  • 795
    Open source
  • 484
    Great for apis
  • 474
    Asynchronous
  • 420
    Great community
  • 390
    Great for realtime apps
  • 295
    Great for command line utilities
  • 81
    Node Modules
  • 80
    Websockets
  • 67
    Uber Simple
  • 57
    Great modularity
  • 56
    Allows us to reuse code in the frontend
  • 40
    Easy to start
  • 35
    Great for Data Streaming
  • 31
    Realtime
  • 26
    Awesome
  • 24
    Non blocking IO
  • 17
    Can be used as a proxy
  • 16
    High performance, open source, scalable
  • 15
    Non-blocking and modular
  • 14
    Easy and Fun
  • 12
    Easy and powerful
  • 12
    Same lang as AngularJS
  • 11
    Future of BackEnd
  • 10
    Fast
  • 9
    Fullstack
  • 9
    Scalability
  • 9
    Cross platform
  • 8
    Simple
  • 7
    Mean Stack
  • 6
    Great for webapps
  • 6
    Easy concurrency
  • 5
    Friendly
  • 5
    Fast, simple code and async
  • 5
    React
  • 4
    Great speed
  • 4
    Fast development
  • 4
    Its amazingly fast and scalable
  • 4
    Control everything
  • 4
    Easy to use and fast and goes well with JSONdb's
  • 4
    Typescript
  • 4
    Scalable
  • 3
    It's fast
  • 3
    Easy to use
  • 3
    Isomorphic coolness
  • 2
    Sooper easy for the Backend connectivity
  • 2
    Easy to learn
  • 2
    TypeScript Support
  • 2
    Scales, fast, simple, great community, npm, express
  • 2
    One language, end-to-end
  • 2
    Javascript2
  • 2
    Not Python
  • 2
    Performant and fast prototyping
  • 2
    Blazing fast
  • 2
    Great community
  • 2
    Less boilerplate code
  • 2
    Easy
  • 1
    Lovely
  • 1
    Event Driven
  • 37
    Open source
  • 31
    So fast
  • 27
    Great for microservices architecture
  • 20
    Websockets
  • 17
    Simple
  • 13
    Asynchronous
  • 10
    Python
  • 7
    Lightweight
  • 3
    Handles well persistent connexions

Sign up to add or upvote prosMake informed product decisions

Cons of Django
Cons of Node.js
Cons of Tornado
  • 25
    Underpowered templating
  • 19
    Underpowered ORM
  • 19
    Autoreload restarts whole server
  • 15
    URL dispatcher ignores HTTP method
  • 10
    Internal subcomponents coupling
  • 7
    Admin
  • 7
    Not nodejs
  • 6
    Configuration hell
  • 4
    Not as clean and nice documentation like Laravel
  • 3
    Python
  • 3
    Not typed
  • 3
    Bloated admin panel included
  • 2
    Overwhelming folder structure
  • 1
    InEffective Multithreading
  • 46
    Bound to a single CPU
  • 42
    New framework every day
  • 36
    Lots of terrible examples on the internet
  • 29
    Asynchronous programming is the worst
  • 23
    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
    Unstable
  • 3
    Breaking updates
  • 3
    Unneeded over complication
  • 1
    No standard approach
  • 1
    Can't read server session
  • 1
    Bad transitive dependency management
  • 2
    Event loop is complicated

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 Tornado?

By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.

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

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

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 Tornado?

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
733
Oct 3 2019 at 7:13PM

Ably Realtime

JavaScriptPythonNode.js+8
4
3263
Node.jsnpmKubernetes+6
1
1164
GitNode.jsFirebase+5
7
1695
JavaScriptGitHubNode.js+29
15
11529
What are some alternatives to Django, Node.js, and Tornado?
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