Comment by ashwinsundar
18 hours ago
I am not impressed with Next.js or Lee's evangelism (yes, in the religious sense) of their platform. Being forced to develop in Next.js for a major project was the last straw, and convinced me to abandon the Javascript/Typescript/Node.js ecosystem entirely for future web projects (where I have the choice). Dev-fluencers and Next.js evangelists who gish-gallop and provide (non)-responses to serious developer problems with Next.js convinced me that Vercel is building an elaborate cash grab, on the enterprise scale, and securing vendor lock-in for many years to come. Don't tell me that Next.js is easy to deploy in Docker either - it's not, I wrestled with that implementation for months and it was fragile/broken in a way that I suspect a native Vercel-deployment is not.
The current stack I'm using is Django/Python, HTMX, Alpine.js, and TailwindCSS. Yes I know the middle two use Javascript under the hood, there is no way around that for client interactivity. But they do support the HATEOAS principal (https://en.wikipedia.org/wiki/HATEOAS) which has been a breath of fresh air imo. The book "Hypermedia Systems" is also a great way to achieve the mental reset needed to abandon modern web frameworks and go back to things that actually work, in terms of web development.
Next.js has many weird bugs and things that just... don't work and when you hit these edge cases and a >5 year old open GitHub issue you know you will spend the next two weeks searching for another way or just abandoning it because it doesn't work. Got burned out hard by Next.js while rewriting a very old project - it worked in the end and I was proud of it but just using something... simpler would've been better. Deploying Next.js outside Vercel is hell, too...
Also tried SvelteKit (with Svelte 4) which was quiet nice but it completely misbehave in production with a lot of corner-case bugs that were not reproducable in development and I abandoned it for good. Didn't the creator of Svelte even joined Vercel? They seem to want to "unite" all the JS frameworks "under one roof" which I find a bit... disturbing?
Nuxt joined Vercel earlier this week too - https://vercel.com/blog/nuxtlabs-joins-vercel
I believe all the core contributors to Svelte and SvelteKit are employed by Vercel.
Love django. Its my go-to as well.
I have gone django, drf, heyapi + vite/react.
I do like templates for simple pages - but with ai now. Its pretty fast to build out your api completely with drf. Then autogen the api in vite. Once you have all of your types and queries auto created. You can pretty much 'vibe' code your UI how you see fit. Then leave django to handle everything data/backend.
I'm not saying that Next.js is good or bad but we deploy our Next.js app in a docker container and it's never been an issue. I'm curious what issues you had?
It's been a year since I was on the project and have since forgotten. I remember it being related to configuring security and middleware with the granularity required by a high-security client. There were other things too that were very hard to configure as soon as you stepped off the Dockerfile template provided by Next.js documentation.
I agree with your opinion on vercel and next.
But if HTMX is enough for your project, then your problem was picking the wrong tools from the get go. You didn’t even need react. They’re very different tools for very different kinds of UIs and frontend complexity.
I like hateoas as a concept but how can you maintain that in production scale???
we need to maintain access control and output that in client which is good but that move bulk of engineering into backend that would harder and harder given many scenario noo???