29 ms·
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 c
by ralmidani 3y ago
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.
- codingdave 3y agoWhat made your old Node code not work? I've picked up old node projects from up to 10 years ago and they all still work just fine, so I'm unclear what pain you encountered?
- ralmidani 3y agoIf you use the same Node version and NPM dependencies it could work, but trying to get the project upgraded to use a modern version of Node and mitigate vulnerabilities was a nightmare and I just abandoned the effort. I get emails from Github with long lists of vulnerabilities on old toy projects where literally __zero__ dependencies are listed in package.json. It’s not so much the vulnerabilities that bother me, but the dependency conflicts, and in general a massive amount of infrastructure I have to buy into without even knowing it.