division_by_0 2 days ago

Create something with Svelte 5.

5
joshdavham 2 days ago

I'd find this funnier if the pain weren't so real.

Layvier 2 days ago

This is really sad honestly. It feels like we'll be stuck with React forever, and even with it there'll be less incentives to make api changes

spuz 2 days ago

Why do you say that? You make it sound like it's not possible to write code without the help of LLMs.

omneity 2 days ago

Disclaimer: OT and pretty ranty.

I don't know if that's what the GP hinted at, but as a Svelte developer and big advocate for more than 6 years (single handedly training and evangelizing 20+ developers on it), I found so many concerns with Svelte 5 that it simply made me use React again.

It's a temporary choice and I'm desperately evaluating other ecosystems (Looking at you SolidJS).

division_by_0 2 days ago

Can you expand on the concerns regarding Svelte 5?

omneity 2 days ago

Put simply, Svelte and React were at two ends of a spectrum. React gives you almost complete control over every aspect of the lifecycle, but you have to be explicit about most of the behavior you are seeking to achieve. Building an app with React feels about 80% on the JS and 20% on the HTML side.

Svelte on the other hand felt like a breeze. Most of my app is actually plain simple HTML, and I am able to sprinkle as little JS as I need to achieve my desired behaviors. Sure, Svelte <=4 has undefined behaviors, or maybe even too many magic capabilities. But that was part of the package, and it was an option for those of us who preferred this end of the trade-off.

Svelte 5 intends to give that precise level of control and is trying to compete with React on its turf (the other end of that spectrum), introducing a lot of non-standard syntax along the way.

It's neither rigorous Javascript like React where you can benefit from all the standard tooling developed over the years, including stuff that wasn't designed for React in particular, nor a lightweight frontend framework, which was the initial niche that Svelte happily occupied, which I find sadly quite empty now (htmx and alpinejs are elegant conceptually but too limiting in practice _for my taste_).

For me it's a strange "worst of both worlds" kind of situation that is simply not worth it. Quite heartbreaking to be honest.

division_by_0 2 days ago

Ok, I see your point. I wrote in another thread that I loved the simplicity of using $: for deriveds and effects in Svelte 3 and 4. And yes, the conciseness and magic were definitely part of it. You could just move so fast with it. Getting better performance with the new reactivity system is important to my data viz work, so it helped me to accept the other changes in Svelte 5.

omneity 2 days ago

Exactly. There was a certain simplicity that might be lost. But yeah I can imagine it might work out differently for others as well. Glad to hear it is for you!

Have you considered other options? Curious if you came across anything particularly interesting from the simplicity or DX angle.

division_by_0 1 day ago

I just saw Nue and Datastar suggested somewhere, but have not had time to check them out yet, but I will probably stick with Svelte, need to get stuff built.

One thing that also came to mind regarding Svelte 5 is that I always use untrack() for $effect() and declare dependencies explicitly, otherwise Svelte 5 becomes too magical for me.

omneity 1 day ago

Yeah those are pretty cool and on my radar! And thanks for sharing the tip :)

Just checked your work on covary and it's pretty rad! What's your backend like?

division_by_0 12 hours ago

Thanks! covary is my first Svelte 5 project (have not yet migrated my Svelte 4 projects). The backend is surprisingly simple, but I'm relatively familiar with the data and statistics, so maybe that's why it's so simple and/or perceived as such by me. I really like working on the human interface layer, i.e. the frontend. Backend work for me is always in the service of that.

If you find a viable alternative to Svelte and React, please let me know.

esafak 2 days ago

Keep the (temporarily) imposter-proof interview questions coming!

marcusb 2 days ago

The current models really seem to struggle with the runes...

division_by_0 2 days ago

Yes, they do. Vibe coding protection is an undocumented feature of Svelte 5...

siva7 2 days ago

Oh my god, i will start all my new projects with Svelte 5. Hopefully no vibe coder will ever commit something into this repo

qntmfred 2 days ago

MCP to the rescue??