Svelte 5 is not JavaScript
Reactions to Svelte 5 and Runes
- Many early Svelte users feel Svelte 5 lost its “just HTML/JS” simplicity; runes, proxies, and getter-based props make it feel “not JavaScript” and closer to React/Solid.
- Others, especially those on large Svelte apps, report big improvements: fewer accidental reactivity traps, clearer data flow, and better multi-file/TS ergonomics.
- Some see Svelte 5 converging toward Vue 3’s Composition API and signals rather than React, and are happy to pay a bit more boilerplate for clarity.
Simplicity vs Complexity & Project Scale
- One camp laments the loss of a mainstream “simple SPA framework” for small/medium apps; they feel React/Vue/Svelte all now target complex apps.
- Another camp argues the added complexity is necessary for scaling large codebases, testability, and fine-grained reactivity.
Ecosystem Churn and Upgrades
- Several comments broaden the complaint to the JS ecosystem: frequent breaking changes, short support windows, and “fashion-driven” rewrites.
- Others push back: major-version churn exists in all ecosystems; Svelte 4 remains usable; React’s core API has been relatively stable; semantic versioning inflates major numbers without implying rewrites.
- Security/support lifetimes vs. “just don’t upgrade” is debated; some propose forking old versions when only dependency patches are needed.
State Management and Reactivity Models
- Opinions diverge on observables/signals/deep reactivity:
- Critics say proxy-based deep reactivity is leaky, surprising (e.g., IndexedDB serialization issues), and harder to reason about than explicit stores.
- Fans like that runes/composables move logic out of components, make unit-testing of reactive logic easier, and enable framework-independent reuse.
- Some insist state management is “trivial” and frameworks overcomplicate it; others counter that real-world SPAs make it one of the hardest front-end concerns.
Alternatives and Architectural Preferences
- Alternatives championed: SolidJS (seen as “what Svelte 5 should have been”), Vue 3, Mithril, Ember (praised for long-term API stability), Knockout-era stacks, Lit, web components, HTMX + Alpine, and server-driven/SSR–RPC frameworks (Next, SolidStart, SvelteKit, etc.).
- A recurring theme: pick tools that match app complexity—HTMX/MPA for CRUD and forms; SPA frameworks when rich client-side state is essential.
Testing, Tooling, and Lock‑in
- Some praise Svelte 5’s ability to encapsulate reactivity in plain TS/JS modules and test them directly.
- Others worry that runes “infect” all code, deepen lock-in, and require strong editor tooling (largely VS Code–centric) to stay manageable.