3 ms·
I use Django, HTMX, and TailwindCSS for a side project. The Django framework matches my mental model of web development best. HTMX offers AJAX-based server-side
by syndicatedjelly 2y ago
I use Django, HTMX, and TailwindCSS for a side project. The Django framework matches my mental model of web development best. HTMX offers AJAX-based server-side interaction for very, very cheap. And TailwindCSS is a breath of fresh air for styling HTML. The application is hosted on a Digital Ocean server - I'm experimenting with both Docker containers on Ubuntu servers, as well as the DigitalOcean App Platform (comparable to AWS ECS). The app platform is easier to set up, but seems to have some slight performance disadvantages versus a custom Docker instance with an nginx container to route requests.
For background, I got into web development via standard HTML/CSS/javascript, then jQuery, and more recently moved on to React-based frameworks (Gatsby, NextJS).
My opinion is that React-based frameworks have raised the level of abstraction too high and attempt to solve problems that 99.9% of web applications don't have - such as optimizing web KPIs like First Contentful Paint and painting a picture-perfect SEO story. These things matter when you're afraid your user base might run away from your application and never return if you don't serve them something within the first 250 milliseconds of landing on a page.
If your user base consists of more than just the reptilian brain, I would suggest you return to the basics and write web apps that take advantage of the core HTML5 spec. There are a huge number of features available in native HTML in 2024 - why isn't the web dev community knowledgeable about those features, let alone using them?
The advantages of "minimalist coding" are numerous:
1 - A better, portable understanding of how the web actually works - be a long-term developer, not a short-term frameworker[^1]
2 - Agility in coding - refactors are not a thing to be afraid of when the code base is small and manageable.
3 - Minimal external dependencies, especially with the hell that is the npm world. My Django project has a total of 8 production dependencies - half of which could probably be removed if I wrote a couple hundred more lines of code. Compare that to the hundreds+ dependencies that a boilerplate React-based framework project will hoist upon you. I admit, pip in the Python world is not great - but I can get my brain around the problem and deal with it.
4 - Long-term maintainability - Older tools have staying power. If a tool has been around for 20 years and is still maintained, chances are it will stay around for another 20 years. Compare that to the latest flavor-of-the-day framework that might stop being supported when a big company decides to fire that team and shut down support for the service (e.g., Gatsby after being purchased by Netlify). Waking up and finding out your web app will no longer run ever again is a miserable feeling[^2]
[^1]: https://archive.ph/XSPRr https://archive.ph/XSPRr
[^2]: https://github.com/gatsbyjs/gatsby/issues/38696 https://github.com/gatsbyjs/gatsby/issues/38696
- deleted 2y ago[deleted]