I'm migrating one of my sites from jQuery (+ server-generated HTML) to Svelte. I like how Svelte+rollup make it easy to replace just a part of a website (take HTML from a file, put it into Foo.svelte, back in the original file insert <script>new App.Foo({target: document.body, props: { /* data */ }})</script> [0]). Instead of generating HTML, server-side scripts now generate JSON, which could be used later to make a proper API.<p>I don't like handling of "undefined" and "null" values in properties[1]. It would also be nice to have optional properties so that warnings wouldn't get emitted to JS console. Also, someone should investigate iOS bugs[2]. It would be bad if someone made complex site in Svelte+Sapper and only later discovered it lags on iOS.<p>Overall performance is okay, but it's visible to a naked eye that Svelte parts render later than the rest of the website.<p>All in all, I would recommend giving Svelte devs few more months before moving to it. But definitely keep an eye on it, it has great ergonomics (maybe except for styling subcomponents, but some say it's a code smell anyway).<p>[0] assuming you set output { format: "iife", name: "App" } in rollup.config.js, imported bundle.js in the original file, and put export { Foo } in main.js<p>[1] <a href="https://svelte.dev/repl/f1f2bf4c50cf4a75ba6ea38c3390af5b?version=3.12.1" rel="nofollow">https://svelte.dev/repl/f1f2bf4c50cf4a75ba6ea38c3390af5b?ver...</a><p>[2] <a href="https://github.com/sveltejs/svelte/issues/3581" rel="nofollow">https://github.com/sveltejs/svelte/issues/3581</a>