Hacker News new | ask | show | jobs
by pjerem 841 days ago
I'm currently writing an app with Django. It's such a breeze. Everything just works and I only have to think about the problem I want to solve. The documentation is as fantastic as it was 10-15 years ago.

I'm not even really fan of Python and I really miss static typing (renaming things is painful) but oh well, I'm so productive with it that I can live with this.

Honestly, I think it's the only framework that I've ever used (never tried RoR though) which allows total flexibility while never bothering you with technical thoughts.

It's still as shitty to deploy as it was a decade ago but now we have containers so who cares.

I'm writing this app during a pause in my career (mainly frontend) after a burnout and it's reigniting my love for writing web apps.

3 comments

Django is truly amazing. It’s as you said - you don’t have to think about anything else other than the business problem. Authentication, session, databases, RBAC, everything is handled for you. Unfortunately, if you want to use react, it usually means you’ll write APIs that are consumed by a browser-rendered app.

The holy grail for me would be a Django backend that renders react on the server. A Django nextjs.

There is Django Unicorn. Never used it so I don’t know what it’s worth.
I don't like Django as much as Phoenix (or Rails for that matter), but I'd take it over a Node-based backend any day of the week.
Phoenix looks really cool too but I’d have to learn Elixir and while that’s something I want to do (already started some years ago), my main prerequisite for this project was not to struggle and going comfy. Building something out of my hand with no roadblocks was more important to me than to learn something new.
It's a very simple language. I've worked on half a dozen projects where I helped an experienced dev new to Elixir ramp up to 80%-90% productivity within a few days.

Learning Phoenix (and a few other libraries like Ecto and now LiveView) is what would eat up your time.

Phoenix used to be very easy for Rails/Django/Laravel devs to pick up a few years ago, but now that LiveView is thoroughly built-in and Phoenix.View has been replaced by Phoenix.Component, it's much less familiar to those learners.

I've been a Laravel guy mostly, but tried Flask for a project last year, and it was so incredibly easy to get up and running.

Still not really sure how the two compare, but there was just something about the extremely tried and battletested code. Nothing got in my way, the code told you what it did, it was fast etc.

Flask is the hard one to get up and running alternative, where you must look at every detail, that lets you create an application exactly as weird as you need.

The fact that you found it so simple coming from another framework speaks loudly about your previous one. But they do compare in that Django is the easy one to start where most choices are already done for you.

Recently tried Flask for a project started by someone else, made me want to run to FastAPI right away.