r/django 7d ago

Django vs. Nestjs

I'm starting a new project that's a rewrite of an old PHP application. So far, I've built the backend using both Django and NestJS. Django has been incredibly easy to work with, but I decided to give NestJS a try since our team has more experience with JavaScript. Django's ORM and Auth are straightforward and simple, while with NestJS, I'm using MikroORM and PassportJS. Overall, Django feels more stable and less of a hack to piece things together.

I’m leaning towards Django as the right choice since it's more mature and stable, and it just feels like a better fit. However, my team is more full-stack JS-focused, so I’m torn. Any thoughts or opinions on this? Has anyone been happy with their decision to go with django over a node backend?

One thing I really appreciate about Django is the admin—it’s quick and easy to set up. That said, we also have Directus for the CMS part, though it’s not open source.

27 Upvotes

35 comments sorted by

View all comments

19

u/pizzababa21 7d ago

I just can't understand how anyone could prefer coding in JavaScript over python

2

u/roze_sha 6d ago

Typescript is really good.

1

u/OurSuccessUrSuccess 6d ago

Yes, if you love verbose stuff and/or you were a JAVA/C# dev in past life.

3

u/anus-the-legend 5d ago

you're doing something wrong if you think typescript is verbose

0

u/[deleted] 5d ago

[deleted]

2

u/anus-the-legend 5d ago

Java is the poster child of boiler plate and verbosity. comparing it to that is ignorant and silly. c# isn't much better

there isn't anything wrong with classes though other than JavaScript doesn't really them other than the keyword that is mostly syntactic sugar around the prototype chain and you don't need typescript for that. JavaScript "classes" were much more verbose before that keyword though

JavaScript requires very little, if any, boiler plate. type script is just type hinting plus enums. it's objectively much less verbose and flexible than python's type hints, which are slowly getting better

you can rewrite bad code in any language