Live data from Hacker News

Ask HN: What do I move on to from Django?

news.ycombinator.com

1–10 of 20 posts

Ask HN: What do I move on to from Django?

#1
I've been a Django backend engineer for most of my career of 7 years, and recently shifted to working on NodeJS+Express because the current company runs on it.

So, is it okay to stick to Django in 2020? The last project I made in Django - I used v3.0 and it was still fine although a lot had changed from v1.11. Except of course I forgot DRF a bit and had to throw out some APIs I wrote in it before deciding to roll out my own way in CBVs as going back to docs for custom stuff in DRF was too complicated/required unnecessary efforts. Same for allauth, drf-rest-auth, etc. Okay for basic APIs, not as much for customization. Sorry for the digression. And Django 3.0 still doesn't have event loop based async processing like Node, at least not fully.

Honestly, after working with Node+Express and having to write all the "magic" parts yourself, I feel more light and free, - not having to understand a framework and then thinking about my app's business logic later. In Node+Express I can simply scaffold a basic server and start writing routes, integrate with SQL queries, and be done with it. Maybe even install a couple of libs to sort out CORS, session auth, security stuff etc. And the performance is definitely better than running a Django app for simple serialization of DB data and sending that back. The biggest pain is obviously Django ORM - it's honestly light years ahead of anything in JS. But I can live without it, having spent a year on manually created migrations in my company that I know can be automated.

So, what do you use and recommend for backend development in 2020? When you have to write a POC quickly for an app idea you have, what's the technology you use to flesh its backend out?

P.S: This is not a rant against Django - I love Django and my whole career started because of it. I'm forever thankful to the Django community and Django itself. I just want to gain some insights into what other Django devs have been using regularly.

Re: Ask HN: What do I move on to from Django?

#4
Django is fine for web applications but I can understand wanting to learn other things after 7 years. You can try Go which seems to be very popular as a Python replacement for backends. Another option could be Elixir which is very popular here. Also you can try Deno which is written by the creator of NodeJs.

Re: Ask HN: What do I move on to from Django?

#5
There is nothing in the Node ecosystem to replace Django’s ORM, migrations, or admin.

In my startup, I’m using a typescript/node backend to serve graphql, while still using Django for migrations and the admin. It’s a bit odd but works fine.

If you’re starting a new project, I’d strongly consider using Django for the whole backend, with graphene for graphql, and create-react-app on the frontend. Apollo’s type generation is a big help in keeping the two parts synced.

Re: Ask HN: What do I move on to from Django?

#6
post #5

There is nothing in the Node ecosystem to replace Django’s ORM, migrations, or admin. In my startup, I’m using a typescript/node backend to serve graphql, while still using Django for migrations and the admin. It’s a bit odd but works fine. If you’re starting a new project, I’d strongly consider using Django for the whole backend, with graphene for graphql, and create-react-app on the frontend. Apollo’s type generati…

If you're just using graphql on the front end, then Gatsby.js is a rapid way to setting up a react app. I highly recommend it.

Re: Ask HN: What do I move on to from Django?

#7
i'd be curious to hear more about how you've built a career around something as specific as django (if i'm understanding you correctly). does not seem a broad enough skillset for the sorts of places i've worked, and it makes me wonder if i'm being spread too thin.

Re: Ask HN: What do I move on to from Django?

#9
Well, it depends.

If your goal is to make good webapps quick and reliable, Django is still the best option out there. It's terrific.

However it's not the "coolest" thing to work on as a career developer. You would do better looking at Rust, Golang or even Crystal at this point.

So, the question you should ask (and answer) is "Who am I?". Are you a product creator or a career developer?

Post reply on HN