Hey,
I’m undecided on which backend framework to pick for my next projects.
As of now, I’m pretty proficient with HTML, CSS/Sass, JavaScript, and React. I can build a multi-page UI with React Router and I’m pretty comfortable with getting data from an API and displaying it on the frontend. I’m not good at coming up with my own designs but I’m able to implement the kinds of designs you see on Frontend Mentor without too much trouble.
Now on the backend, I’ve dabbled in both Express and Django but haven’t built any projects with them.
There are two projects I want to build in the coming months to showcase on my portfolio:
- A pokémon web app with CRUD and login functionality.
- A bug tracker, got the idea from this this video.
What’s driving me towards Express is that I would use the same language on the frontend and the backend. Which would be convenient because while building these projects I’d like to further solidify my JS knowledge by diving a bit deeper into the language and ecosystem, which is why I’ve picked up the book Eloquent JavaScript. I also want to learn TypeScript at some point.
On the other hand, what’s driving me towards Django is that it’s a batteries-included framework. As opposed to Express which is pretty chaotic and you kind of have to npm your way through it. In Express there are a lot of ways to, say, implement the login or connect to the database and you have to do all these things on your own, it’s a bit overwhelming to make all these choices and know which npm package to use and where given my lack of experience with backend development. Because of the lack of structure, I fear that with Express I’ll develop bad habits and make bad choices without even realizing it.
While in Django these things are basically taken care of for you and it forces you to adopt good practices. At least that’s my understanding. Plus the admin interface is super handy and smooth to work with.
My only quibble with Django is basically that it’s not in JavaScript! xD I mean, I’m pretty comfortable with Python, not to the same extent as JavaScript but I'm comfortable enough with the language to use it with Django. It’s just that I’d like to get a more advanced understanding of JavaScript and for that Python would get in the way because I would have two languages to focus on. My point is I’d rather be excellent in one language (JS) than intermediate in two (Python & JS).
I guess the ideal would be a batteries-included JS framework. I know NestJS seems to be a popular choice but it’s built on top of Express so it would make more sense to have a working knowledge of Express first anyway.
Sorry for the wall of text and maybe I’m overthinking this a lot, but I want to make an informed decision so that’s why I’m asking for advice from more experienced people.
(also posted this on the Django subreddit to get both perspectives)
So I have just recently started in a position where I shall create an application internally for my company. The application will keep track on the projects in the company. It will be able to push events for a project to show whats have been done, import data, and send mail/notification to certain people when certain events occur. There already is such an application today, but it is old and needs to be remake.
I am considering either django or express js for backend, and vue for frontend. I am considering django because I am already rather familiar with the python language, and because it seems to be concentrated on the interaction with databases. And I am considering expressjs because it is said to be cutting edge technology for backend, it is javascript (which I will need for frontend anyway), and because my predecessor though it would make a good option.
I have been reading several articles about the two frameworks, but I don't feel like I get to much information from these articles, and some seems to disagree with each other. It would be nice with a little discussion about which to choice.
Videos
Why should I choose Django over Express?
Which framework is easier?
I find Django harder to learn because of its built-in features and default implementations. And in case I have to modify those default implementations, its more difficult.
And in case of ExpressJS, it doesn't have default features. Express only have routers and middlewares which is pretty simple to me.
I find it hard to create custom user model in Django. I can copy/paste the code but I can't remember the whole process of creating the custom user or any other features ( like serializers, forms, model managers...)
Despite all the difficulties i'm facing, should I still continue to learn Django/Django Rest? (I want you to say yes to that question, but tell me why)
How did you learned Django? Do you find Django Easy?
P.S. And don't tell me to learn flask, I know its easier but I want to learn Django.
Greetings everyone how are you.so i am learning to become a full stack web developer, I've already completed frontend part but now im confused should i go for nodejs road or django road(i already know python).im a beginner so i don't know which is better so give me the best opinion on which is better Edit: forgot to write php(laravel)
I and my friend are gonna start a project, we are looking for a framework for backend which is efficient, which can handle high server traffic, best performance, but we are lil confused, since we started out this programming journey recently. So need some advice here.
Django was my first framework and I kind of liked it although I hated some aspects of it like Class Based Views. Now I am transitioning to Node because of the job market and I was wondering if someone here has been through the same and what they think of Express compared to Django?
I'm hesitating to choose one, i'm frontend developer so i know some JS already, but i heard that Django is more efficient and it kinda pain in a$$ when i think about it
Hey,
I’m undecided on which backend framework to pick for my next projects.
As of now, I’m pretty proficient with HTML, CSS/Sass, JavaScript, and React. I can build a multi-page UI with React Router and I’m pretty comfortable with getting data from an API and displaying it on the frontend. I’m not good at coming up with my own designs but I’m able to implement the kinds of designs you see on Frontend Mentor without too much trouble.
Now on the backend, I’ve dabbled in both Express and Django but haven’t built any projects with them.
There are two projects I want to build in the coming months to showcase on my portfolio:
- A pokémon web app with CRUD and login functionality (more complex than a Pokédex).
- A bug tracker, got the idea from this this video.
What’s driving me towards Express is that I would use the same language on the frontend and the backend. Which would be convenient because while building these projects I’d like to further solidify my JS knowledge by diving a bit deeper into the language and ecosystem, which is why I’ve picked up the book Eloquent JavaScript. I also want to learn TypeScript at some point.
On the other hand, what’s driving me towards Django is that it’s a batteries-included framework. As opposed to Express which is pretty chaotic and you kind of have to npm your way through it. In Express there are a lot of ways to, say, implement the login or connect to the database and you have to do all these things on your own. It’s a bit overwhelming to make all these choices and know which npm package to use and where given my lack of experience with backend development. Because of the lack of structure, I fear that with Express I’ll develop bad habits and make bad choices without even realizing it.
While in Django these things are basically taken care of for you and it forces you to adopt good practices. At least that’s my understanding. Plus the admin interface is super handy and smooth to work with.
My only quibble with Django is basically that it’s not in JavaScript! xD I mean, I’m pretty familiar with Python, not to the same extent as JavaScript but I'm comfortable enough with the language to use it with Django. It’s just that I’d like to get a more advanced understanding of JavaScript and for that Python would get in the way because I would have two languages to focus on. My points is I’d rather be excellent in one language (JS) than intermediate in two (Python & JS).
I guess the ideal would be a batteries-included JS framework. I know NestJS seems to be a popular choice but it’s built on top of Express so it would make more sense to have a working knowledge of Express first anyway.
Sorry for the wall of text and maybe I’m overthinking this a lot, but I want to make an informed decision so that’s why I’m asking for advice from more experienced people.
(also posted this on the Node subreddit to get both perspectives)
Can someone please help me choosing one framework between these two?
Requirement:
-
Must be highly scalable
-
API should be fast working
-
Should not take time for development
And please mention why to choose that framework.
I'm getting ready to build out the back-end for my most recent website. Wondering what everyone here prefers and why, I usually go with the js stack but am interested in trying out the python route. (I'm a new grad this Dec. so I'm wondering which stack is the most 'sought' after, or at least the one I'll have better luck landing a job with from having experience in it). Be kind
I'm working on a (relatively large) personal project of mine that is going to encompass a website and a mobile app. I've started with Node.js/Express/MongoDB because honestly that's what I have been using at work and I wanted to familiarize myself with it some more. However, the deeper I am into this personal project, to more I am not sure that this framework stack is not the right one for it.
This website will basically have two components to it: a backend where a user can log in and perform some tasks, and an API. The way it is working right now is that I am using Backbone.js on the frontend to call the APIs (which returns a JSON) that I am serving using express, and I'm rendering that on the front-end. At the same time, the mobile app will be calling the same APIs to read or update the information in it.
For something like this, Node.js seems like a good choice. However, I hit a snag when I realized that I really need a complete admin interface (and have no time to develop it, and was unable to find a suitable one). That had me reevaluate my initial choice for the framework stack. Now I'm considering Django (I am very well familiar with Python and somewhat familiar with Django).
Before I commit myself to it, I have several questions:
-
How well does Django work with front-end frameworks such as Backbone/Angular/React? Should I expect the same or at least similar level of flexibility that I have with Node? Or would something like Flash be more appropriate?
-
How well does Django REST Framework work? Any experiences?
-
Is it an "ok" idea to have Django power the admin interface of the website, whereas Express would power the API, both connecting to the same database? Or replace Express with Flask maybe?
-
Anyone else migrated to Django from Node, or vice versa? Share your experiences please.
Thank you!
Django rest framework is fantastic. I use it in conjunction with Django for all my backend needs on my project.
Yes for the front end you can continue to use angular/react/backbone. I tend to keep the front end and the backend completely separate in separate repos.
I know some people or at least a lot of the tutorials online show you to do everything as a monolith within django, but I prefer to have them completely separate.
ps: At my previous job I used Node + Express a lot so I am talking from experience of using both.
Django admin is great but limited. It is for an admin with a devops mentality. Not great if you want to use it to manage content with many non tech users. Or even content in general. But it gets you with an app out the door to refine later as needed.
With the Django rest framework, which I think is great, it is easy to have a very minimal server backend in the sense of your code. Yes Django is big, I don't care. So is my OS. Again, this gets your app out the door faster. Users, auth, csrf, sessions, orm, Json request marshalling, etc.
I like having the front end and backend in the same repo, but they are separate projects with a server folder and a web folder. Currently I am trying to get docker compose setup to spin up a container/server for each. I don't do it view static files or Django compressor or anything. That never felt right to me.
Good luck and remember, the right language and framework is the one that you are happy with to finish a project. Hype is worthless if you finish a project with it.
Need to decided which backend framework/platform to work with. I mostly care about the job outlook for each. Any idea on which has the best job outlook? In an ideal world, I would learn both, but i don't have the time at the moment.
A quick search on indeed:
-
expressjs: 110 jobs
-
django: 2100 jobs
The numbers are pretty abysmal: seems like a hyper competitive field (similar to the film industry). Is this normal? Or, maybe both are bad?
Express JS isn’t a framework. It’s a library on node JS that helps with the routing.
Django is a framework that allows you to build the entire application within its codebase.
If you are new, I would recommend Django since it can give us an understanding of the whole entire stack. If you’re looking for the python equivalent of express, use something like flask.
If you care about employability, the numbers should be your answer.
I am new to backend and trying to get a job in a react.js shop
I’ve noticed in my area react shops are either using node or django.
I want to learn some backend to compliment my front end skills and be a competitive front end candidate who isn’t narrow minded.
Learning django requires learning python right ? Since node uses js which you have to already know in front end , I’m guessing there are some pretty good reasons use django instead, what are they if I may ask ?? Thanks.
Laravel or django or node js (express)
Hello guys,
Im new to web development in general.
Had experience with php (laravel) and js 4 years back and build some cool apps with them that time. However since 4 years i have been far away from web development and programming in general and almost forgot everything.
Im coming back with the aim of rapid and intuitive development and i need a help on which programming language and in turn framework should i use.
The thing is I remember when i used laravel it was just amazing and intuitive and very clean. Also the community, packages and learning resources are awesome but the issue i always hear is php is bad and not scalabe.
On the other part people are recommending python but im not sure about django if it that intuitive with active development like laravel or not.
One more option is express and node js. However i think i tried once before and didn’t really like.
So please i need your inputs and advice and please excuse my ignorance.
So I keep seeing on YouTube a lot of Software Engineers in the SF Bay Area like CS Dojo and Life of Luba posting about learning Python and Django really well.
Yet, I also see people like Andrei Neagoie on Udemy say the best thing to do is to learn Node/Express for Full-Stack JavaScript.
For people like CS Dojo and Life of Luba, it seems like they prefer beginners learn Django over Node/Express. Why is that?
Which is the right order of things to learn it all in? Thoughts?
I'll get right to the point.
I have a little more knowledge in Python and Django, but I'm a beginner anyway. The only thing I did with Django was a blog with comments, pagination, search, and basic authentication.
However, there are about 3.5 times more nodes for node compared to Django (okay, we know node is the "backend" platform, and Django is a framework, but I say this because Django pretty much equals Python for web, and I believe that the vacancies for node.js are almost all for web).
And as I'm learning front-end, i.e. learning javascript and in the future will learn React, it seems to be more advantageous to abandon Python for now, because anyway I'll have to learn more javascript to get good on the front end. (I intend to learn more front end for 2/3 months, I already know the basics of JS, sun, events, missing things like POO, Async, Ajax / Fetch, APis etc. And then I'll learn React. -end). So it would be a language and a syntax to learn rather than two.
Is there anything in Python and Django that compensates not learning node and also possibly mongodb to get the MERN stack?
Another thing I found cooler is that using node seems to work at a lower level, which is harder, but it makes me better understand how things work (this is just a "I think that's it").
EDIT: I searched some node.js frameworks, such as an e commerce and a cms, and frankly, I find python / django much better. I also found the structure of the Django project more readable. I really like Python a lot, but the vacancies are much smaller. As for the Django slots, they usually ask for 2/3 years of experience (I only found one for beginner in the last few months, which was via facebook), django rest, some ask for celery, docker, nginx, TDD, aws etc. As for the purpose, they usually do not tell the type of work to be done in job descriptions.
Another thing, if I stay with Django, I'll learn front anyway, but I'll choose Vue instead of React. And since I do not really like the javascript syntax and love python, my goal is to focus on the back end.
If you are learning react, you are probably better off using node. Think of it this way, you can learn JavaScript twice as well instead of learning JavaScript and python half as well.
Backend language doesn't really matter all that much, until you get to the job market. With Python/Django it can be tough to find a job, especially for a beginner, it's just much less popular for web development. NodeJS is really popular, but at least from my experience PHP, Ruby, and C#/.NET all have better employment opportunities.
Based on the second part of your post, I wonder if you might like to take a look at Ruby on Rails. I find it's up there with PHP as having the most jobs, and it has a more Python-like Syntax with tons of awesome libraries for everything, just like Python.
My personal bias though, I worked as a .NET developer for a couple years, currently work in Python/R doing non-web stuff, and I'm currently learning Ruby and I really enjoy it.
I know people will say they use express because they're already familiar with JavaScript language but when there are other frameworks out there that comes with more built in features that makes it so much easier to build the backend then why not use it?
I built a few personal projects using express and I never knew what was the best way to structure my application unlike other frameworks where they can generate all the folders that keeps everything organized.
Also express comes bare bones so you need to know which npm packages you would need to install that may handle security, database connections, middleware, authentication etc...
All of the other popular frameworks comes with all of this included ready to use.
So why use express then?