Share On Twitter Facebook Google+ LinkedIn Pinterest Tumblr Reddit
Question

Which framework should I learn: Django or Node.js? Why?

Tags: node.js django
Date:
Status:Resolved
Question Id:44

I need to choose one of them to begin my project.Which one is better Django or Node.js ?

Answer
Date:
Correct:No

First of all Node.js is not a framework. Node.js is a platform built on Chrome's JavaScript runtime. Django is a framework.

I would suggest that you learn Django. The reason being that Django is more structured and you learn good development principles. It gives you a very good project structure that you can use. Once you have a very good grip on Django learn to use Django REST, and now you can build api end points very easily with Django.

If you are very new to backend development I wouldn't recommend nodejs. You will feel overwhelmed with all that you hear. And there is good chance that you will pick up bad practices if you try to learn backend development with nodejs for the first time. Pickup Ruby or Django if you are diving into the world of backend development. Once you are comfortable with any of those frameworks you'll have a slightly easier time learning nodejs.

Once you have done that switch to node if you like. Learn the async nature of JavaScript, modules. All these principles will probably take you sometime to learn if you do not know. Build very simple contacts app with node and then learn express. Express is a framework for node.js

Hope this helps.

Edit:

Key features of Django:

Django comes with a in built ORM(Object Relational Mapping). ORM in simple terms is your database schema built in as database schema. You write and design your database directly by writing them in python and the Django ORM translates it into database schema of your choice. Another really cool thing about ORMs are that you do not have to write SQL queries. A web development newbie would highly benefit from this but mind you this is no reason to not learn SQL.

Another cool feature of Django is that it comes with an Admin panel. With this panel you can easily maintain your databases, add, update and delete entries into your database.

Its been a year working as a professional nodejs developer and I still think Django is a better place to start web development than nodejs. JavaScript as a language is evolving and every year updates are done to the language. Every year they add a new way to do async programming. There are so many ways to do async programming in JavaScript now(callbacks, promises, using generators, async await)and a newbie would be overwhelmed by all that. Though Javascript may seem simpler at first it differs a bit from other languages in terms of variable scopes and closures. I just believe that the learning curve is greater here

Answer
Date:
Correct:No

Learn both.

Django is very framework-heavy, and comes with lots of ways of doing common things out-of-the-box. Node is a platform, with lots of libraries available for it; it’s open-ended. Django is written in (and for) Python, Node runs JavaScript. Both projects have different ways of handling inbound requests. Both have different considerations for how memory is managed and how responses are constructed.

You should always be learning. As an engineer, it’s your trade to know how to complete a task using the best tools for the job: how can you know what the best tool is if you’ve never used it, or know nothing about it? Keeping yourself current with the latest and most popular tools is incredibly important to being at the top of your field.

While you’re at it, you might consider learning Elixir, Elm, React, Meteor, Dart, and others. Never stop learning.

Answer
Date:
Correct:No

Node.js has a “JavaScript everywhere” motive to ensure JavaScript is used on the server-side and client-side of web applications and Django has a “framework for perfectionists with deadlines” motive to help developers build applications quickly.

Node.js:

JavaScript is known mainly for its strengths in client-side development, but Node.js is doing the exact opposite by working wonders on the server-side.

Node is an open-source JavaScript runtime environment which was written in C, C++, and JavaScript, built on the Google V8 JavaScript engine and released in 2009. Node.js is based on an event-driven, non-blocking I/O model.

Pros

  • Availability of great libraries.
  • High performance.
  • Awesome for building APIs.
  • It has an awesome package manager.
  • Huge user community.
  • Handles concurrent requests easily.

Cons

  • Asynchronous programming could be difficult to work with.
  • Not great with CPU intensive apps due to its single thread.
  • Callbacks result in tons of nested callbacks.

Django:

Django is a very robust open-source Python web framework. It is very high-level, as most of the low-level stuff has been abstracted out. It is known for having a “batteries included” philosophy, therefore it's ready to be used out-of-the-box.

Quick development projects are possible with Django and it’s beginner-friendly for people who have an understanding of Python already.

Django was built and modeled on pragmatic and clean design and comes with all the major components needed in building complex web applications.

Pros

  • Little to no security loopholes.
  • Works fine with relational databases.
  • Easy to learn.
  • Speedy development process.
  • Very scalable.
  • Huge user community.
  • Has great documentation.

Cons

  • Django is monolithic, i.e. a single-tiered software application.
  • Not great for small-scale apps.
  • A full understanding of the framework is needed.

So, you can understand from the above information which framework you should learn.

Answer
Date:
Correct:No

First, what is your programming background?

Are you familiar with Python? If yes, then go ahead and learn Django.

Are you familiar with JavaScript? If yes, then go ahead and learn Node.js.

But, if you do not have a programming background or if you do not know any of these (Python or JavaScript) languages, then my suggestion is to go with Node.js. Even if you know Python and choose to go with Django, in future you still need to learn Node.js. Why?

1. Previously, the front-end libraries were simple like including it within just script tags such as jQuery or Underscore. But now, the landscape has changed. Most of the front-end libraries are now available as npm packages. In order to work with these packages, you need to know Node.js. Even jQuery and Underscore are now available as npm packages.

2. All popular front-end libraries or frameworks such as React, Angular or Vue are available as npm packages. Some of them are available as CDN to include with script tag but they recommended to install as npm package. Whole set of tools (for these popular front-ends) are created as npm packages such as create-react-app, ng, vue-cli and so on.

3. Not just JavaScript, many CSS frameworks are now moving their development stack toward Node.js (and related stack) such as Tailwind Css.

Apart from these, if you know Node.js (and JavaScript), you can build your whole application in just one language - JavaScript.

Answer
Date:
Correct:No

You should go with NodeJs.

There are so many reasons such as :

  1. Huge Demand: JavaScript is a newly born server side language. Not many have learned this language. But it has a huge demand as lots of companies are moving their web server to NodeJS.
  2. Higher Salary: Lack of skilled resources means less competition and higher pay.
  3. Full Stack Developer : ReactJS is also a great front end library. If you work on NodeJs, you become a better JavaScript programmer, which you can utilise to gain ReactJs skills, which means eve more salary & jobs.
  4. Startups Jobs: Startups prefer NodeJs as it makes a very fast server. You get to work with lots of startups.
  5. Great Future: Future is great & no worries in long run.
Answer
Date:
Correct:No

Django and Node.js are for building versatile web and mobile application with an excellent user interface. Both are confusing when you want to choose high performance technology. Node.js and Django are both open source frameworks. Node.js is based on JavaScript used to build efficient and fast web page. Some features of Node.js:

  • It has vast range of free libraries and extensions and is extremely flexible.
  • It can be applied to backend development, that states that full app can be produced with JS.
  • It is less complicated and more flexible to developers and advanced scalability.

Django is a python based open source web framework. It mainly focuses on eliminating repetitive tasks and setting the base for speedy application development. Let’s take a look at some features:

  • It’s main focus is on high-level processes and eliminating low ones.
  • Django provides better performance, owing to built-in house template system promoting the execution of task.
  • Django is more complex and as a developer one has to follow a specified path for solving problems.

Thus from the above points we make it clear that Node.js is best framework to learn. And for more information and knowledge regarding Node.js then AIS Technolabs Node Web Development - Web Development With Node and Express is best. Our developers are proficient and experienced in web development in node. From best eCommerce solutions to advance Node.js programming, we offer apps that always increase business.

Answer
Date:
Correct:No

I currently work with both of them. First of all, nodejs is not a framework. If you are comparing frameworks compare Express and Django.

I use Express for my webserver and Django as my api server. Both the frameworks have its set of pros and cons.

Express is awesome when it comes to handling concurrent connections but not useful if you have blocking functions( e.g. functions that takes lot of time to process). Django is really good in this and suitable for building backend apis and services.

I have often found that the amount of flexibility required on frontend is generally time-consuming in Django. It is too tightly coupled with the database structure. However, nodejs gives you all the freedom of doing whatever you want to with frontend.

Getting started with Express is ridiculously fast and easy compared to Django.

Both the frameworks are very widely used, secure and is accepted in industry.

My personal favorite is still Express since I love javascript. You can choose any depending on your command on javascript and python. You can start with Django since you have already worked with Flask. It is a good framework too.

If you strictly want to be a web developer in near future, go with Express.

Answer
Date:
Correct:No

Node js isn't a framework. It is a runtime environment, which means an environment on server to run Javascript on server/backend instead of browser engine.

You can choose

Javascript with frameworks like express/fastify

vs

Python with frameworks like django/flask.

Personally my recommendation is to go with Javascript. Since this language is getting more popular on web development, backend development, frontend development, mobile development etc

However, Python is a perfect candidate for fields like Data Science, Data Analysis etc.

Answer
Date:
Correct:No

I depends on what you want to achieve, Python-Django is better for backend and javascript-node.js is a full-featured frontend and backend. Python has greatly number of library compared to javascript that could ease your development.

In short, pick Django if you want to be a backend developer as it would ease your development. In the otherhand, if you are a front-end programmer that want to do the backend too, pick node.js.

Answer
Date:
Correct:No

We’ve all made sandwiches using bread at some point of time in life. Frameworks in web development are like the bread, they are the base on which sandwiches, here web applications, web services and software are (spread) built.

Well I don't know much about Node.js, Node.js is not a framework first of all and it's actually based JavaScript.

Django is Framework and it's based on Python. Some popular sites like Instagram and Pinterest uses Django framework . As it is written in Python and Python is amazing, clean, easy to learn, and one of the most taught programming languages, So it's actually easy to learn Django.

Django and Python are Core Solutions in:

  • Blue chip companies
  • IT giants (NASA, Google and more)
  • FinTech companies in Silicon Valley
  • Internet of things

Some of the key features included with Django were the built-in admin interface and a strong focus on data integrity

Last but not least, Django is immensely scalable:

The framework is used at company like Instagram to handle web traffic and mobile app API usage on behalf of 500M+ users. Even after being acquired by Facebook, Instagram swapped out their database server but did not abandon Django. Although early startups don’t often have the luxury of worrying about this much traffic, it’s always good to know that one’s web framework can scale to handle dramatic and continuing spikes in demand.

Answer
Date:
Correct:No

I would never advise anyone to stick with just 1 language. I wouldn’t even advise to use React Native if you are developing an app as well. Learn Python, Swift, Java along with JavaScript. And comes to your question.

If you are brand new in web development and wants to get a job ASAP, start with Node. However, if you have time then start with Django. Both work as backend and Django has upper hand because it’s in Python ( a better language than JavaScript ).

Answer
Date:
Correct:No

Django Is a framework intended for rapid development of Python applications. Nodejs is a platform based on the v8 javascript engine. So it's not a good comparison. You should look into nodejs frameworks that are intended for rapid app development to compare to django. "Sails" is one example for nodejs.

I believe that both nodejs and python(Django) have plenty of support and momentum right now though nodejs seems to be faster growing. Python also seems to have more libraries available currently, but node is gaining fast.

Django will get you up and running faster than plain JavaScript in nodejs because it is a framework that comes with a lot of features built in. Unless you find an equivalent framework for node you will be doing a lot more work.

Answer
Date:
Correct:No

Go with nodejs since from learning nodejs you will be learning javascript then expand your knowledge in advance javascript, typescript.

After that start learning some good frameworks, since there is lot to learn if you know basics of such the frameworks like expressjs, ionic, react and you can able to make mobile apps, hybrid apps easily so since it gives you complete package from creating api to working in frontend its best to learn javascript.

Thanks

Answer
Date:
Correct:No

Thanks for A2A.

Firstly, welcome to the awesome world of coding web apps! You have also made an excellent start with foundational scripting and programming languages. Python is a great first language to learn as well.

As you have learnt Python and are familiar with Flask, you next logical step seems Django. It is a great web framework supporting rapid development.

Node.js is a server environment. What you might mean in your question is web frameworks which are "home" to Node.js. Two that are top of developer's mind right now are React and Angular. React is "closer" to reusing your JavaScript knowledge than Angular. Although both frameworks introduce many new concepts, you will feel more familiar with React as you can write most of your code with the combination of skills you have already learnt - JS, CSS, HTML.

Another consideration is where you want to apply your skills. Python is well suited for data science, machine learning category of applications. JS + Node.js + React / Angular are more suited for general purpose consumer/enterprise web apps.

Hope this helps.

Answer
Date:
Correct:No

Well this depends on personal preference of language but still i’ll show you the differences between them:

Node.js

JavaScript is known mainly for its strengths in client-side development, but Node.js is doing the exact opposite by working wonders on the server-side.

Node is an open source JavaScript runtime environment which was written in C, C++, and JavaScript, built on the Google V8 JavaScript engine, and released in 2009. Node.js is based on an event-driven, non-blocking I/O model.

There are many books related to basic Programming which you can get on mypustak

for free. they will also provide delivery service and only charge the shipping cost.

thank you.

Answer
Date:
Correct:No

Hello,

  1. Node.js is not a framework for web applications. It is the base for running javascript code. For web-development you need a real framework, for example, LoopBack.
  2. Regarding Django and python I do non see any advantages of them comparing Ruby on Rails. Latest ruby RMI is faster than the latest python, while rails is much more mature than django.
  3. Regarding the choice I agree with other, you should look at the goals you are going to reach with the development.
Answer
Date:
Correct:Yes

In my opinion go for django if you know little bit of python. Django is really a great framework. It’s so easy to get started with django.

Some amazing features of django:-

1.) ORM which helps you to execute your queries on the command line.

2.) Admin interface, there is no need to create a admin pannel. Django do that for you with authentication settings and you can easily manage your database models.

3.) Code reusability, it helps you to save a lot of time.

4.) Versatile, you can create both large scale as well as small scale projects using django.

5.) Security, django is very secured. CSRF_TOKEN, cross-site scripting makes it secured and easy to use.

6.) Simple architecture, django uses MTV architecture which is Model Template View. Templates represents data to the user. Models are responsible for creating tables in your database. Views communicate with models and render that information to the template.

Summing up, if you know python and want fast development then go for django without a single thought.

Your Answer

Review Your Answer