No longer using Sapper for this site or SvelteKit for any new projects. Instead I am using lit.dev and fastify, which have higher performance. Good bye Svelte Sapper whatever! Here's a starter repo: https://github.com/normano/web-starter for high performance, low maintenance web apps.
TL;DR Fuck SvelteKit snce 1.0.0-next.406. Pick HTML/CSS/JS for simplicity and quick dynamic work. Should've listened to our elders about the complexity of frameworks and the value-less decisions framework maintainers tend to make.
Java is popular because of backwards flexibility. Your java app can be backwards compatible if you choose to be. Yeah, that's the theme of this post.
When I approached SvelteKit this year, I was like great this is just like Sapper (What this site uses), so it will be easy to migrate than I thought. I'm actually about to release a website with SvelteKit because I figured it wouldn't hurt to go to SvelteKit. Now they broken the router and changed the layout completely. It's so bad that they even had to give out a migration script and couldn't provide an way to switch routers if you wanted.
Lol, why?
"Oh we want to decrease page load speed and force you to use a different way of using forms" Here I thought Svelte in general was about being able to use simple routing and simple framework. It's no longer a just drop in framework create route and supplement. Forcing supplements down your throat because possibly no one will use them if it was an external library or second alternative router.
No one has that kind of time when they are supposed to be
making products to keep changing shit because you had a random thought
on how to marginally make things "easier". It really really is the kind of change that should have been an opt in one. There was nothing wrong with the old way. It's fucking fast already, most time is spent in the backend. "Static" sites don't even benefit. TF is this?
I stayed on Sapper here because I figured Sveltekit was going to be a large change, but now it certainly is. I have 6+ sapper projects to switch over and with this new routing? Hah, screw it. I will might as well look at other pieces of engineering and see where they've gone since the time I loved sapper. Maybe I'll just never switch away from sapper (nah, I will).
The new websites that I made in SvelteKit will certainly be moved over to something else. I'm pinned their sveltekit versions to .405 and releasing as is. It's unfortunate to see weird ass decisions like this one on SvelteKit just like the dropping of sapper by Rich Harris to move onto SvelteKit I've been definitely hesitant to use Svelte* in the future. I won't be anymore.
There were better ways to go about giving flexibility to move to the future, this was not one of them.
Anyway, it's that time of year again where a boneheaded decision about a really good piece of engineering makes me say time to look at other frameworks to see how they've progressed. Bye SvelteKit, the simplicity was great with Sapper already and that should have been built upon. I'm sure SvelteKit will thrive or something because of the hype train, but in no way did this router change have to be forced on anyone. I think its going through the shedding old users phase.
Seriously, fuck SvelteKit. The way they went about the change goes against my value of simplify complexity, but leave room for the power users. Always provide an alternative way to stick to the old way while giving users the opportunity to switch if need be. One option could be flawed in your mind, but not flawed for others. Hiding behind "beta" and "opinionated" to be lazy as fuck with a lack of thought about how somethings are not broken so don't fix it (in this case really force it) while telling people to use your software for all your projects is beyond betrayal.
They know it is such a big bad change that they can't go back on it imagine having to make a migration script to go backwards from this, so they ate the pill and went for it. Look at the discussion on how popular comment on the change was which was about simplicity. Rich and his team ate the pill and forced the changes. Never espousing any real benefit. Never described what would happen if the changes never happened.
Honestly, I've gotten tired of these frameworks trying to go the treat user like a retard way. I've tried too many to count and dealt with way too much changes for nominal benefit. They do not treat their software like it is infrastructure at all. You know what hasn't changed fundamentally? HTML, JS and CSS and aren't these framework maintainer luckily or they would be fucked and have to balance their time between moving forward and making changes to be compatible with the next month's html css js changes. I want a framework that stays close to vanilla as possible to make sure the concepts learned from elsewhere are carried over. Svelte was one of them, but no more. Complete disappointment is what SvelteKit .406 is, hell garbage I may add. 🙄
I cannot recommend Svelte any longer. If you've invested time in SvelteKit, pin to the .405 version and look for something else in the meantime. Vue Framework + Fastify is what I'm looking at next, but definitely looking at just going back to plain old html/css/js with some sugar syntax. Plain old HTML, JS and CSS really is the fastest, most stable way to work on the web. I'll definitely explore and blog about how to stay vanilla and shun these frameworks, so you too can have lower maintenance effort.
I'm unsure why SvelteKit only works with PNPM the best. It's been really annoying to me personally. If I use yarn or npm to install then there are ESM modules issues blah blah when building.