Hacker News new | ask | show | jobs
by overtowed 2295 days ago
Author here, just wanted to make a note. This isn't written to hype a battle in the holy war. Frontend frameworks are a positive sum game! Svelte has no monopoly on the compiler paradigm either. Just like I think React is worth learning for the mental model it imparts, where UI is a (pure) function of state, I think the frontend framework-as-compiler paradigm is worth understanding. We're going to see a lot more of it because the tradeoffs are fantastic, to where it'll be a boring talking point before we know it.
3 comments

Thanks for your work. I watched a few presentations this week and read quite a bit. It looks very promising, and I'd be happy to start migrating my components to Svelte step by step. I'm a Rails dev, and there's a Rails integration through webpacker already. What I'm waiting for is TypeScript support. Once that's officially released, you can count one covert more :).
Thank you. I hope you will do a write-up of your experiences when the project is completed.
I'm curious that you didn't mention Elm here. Did you look at it and decide not, or not look at it?
It's not a comprehensive weighing of alternatives, instead it's a deep dive into Svelte's pros and cons as they relate to my experience and our project.

Elm is awesome! There's nothing quite like it that I know of in its design space to bring user-friendly functional programming to the web. Similar to Svelte, its design holistically packages up the web's languages. Compared to PureScript, it's focused on a small and beginner-friendly feature set, trading general power to optimize for the webapp use cases. Elm has also been influential to a lot of toolmakers!

Thanks, that's useful :)
Sure, thank you for the question! It prompted me to add a note about Elm and Dart in a relevant section in the document.

One important difference with Svelte versus Elm is that Elm makes a clean break from web technologies, while Svelte is designed to work with future versions of the web's languages.