I’m building out my server-side with Django while reading up on htmx. I haven’t started with actual UI interactions, but htmx is what I plan to use.
For more context, I’m essentially revisiting an app I built from 2015-2017, before I became employed in the industry. I built it with Django and Ember. Long story short, Django upgrades nicely, while anything requiring Node that was built that long ago is “lost in time, like tears in rain…”
Yes, I’m resentful. And yes, I hope I never have to touch Node/NPM again.
Some other great options are Elixir/Phoenix/LiveView (I used it at my most recent job, and loved it) and Ruby/Rails/Hotwire. Hotwire is not coupled tightly with Rails, but using it with Rails would be the path of least resistance.
Personally, I went back to Django for reasons including:
- Data modeling and migrations with Django’s ORM are
top-notch.
- Auth and admin which come out of the box are key for getting to an MVP quickly.
- I find Django’s template language more intuitive and more elegant than erb and EEx/HEEx.
- Python is still king in the data world, so it’s easy to integrate with mature DS/ML/AI libraries.
- If I need to find talent, Python devs are everywhere.