Hacker News new | ask | show | jobs
by eknkc 2289 days ago
Well I guess you can not go wrong with either React or Vue at this point as they have mature communities.

However I feel like while React is just fantastic on its corner, Svelte seems like a better built Vue than Vue. It lacks the community but technically feels like a refinement and enhancement of Vue’s ideas. I wish it would gain more traction.

6 comments

Why would the WM foundation use a relatively unknown framework? They don’t just care about the actual coding itself, the have to concern themselves with community, support and longevity. You said yourself you wish it would gain more traction, and that’s something an Org like that doesn’t take a gamble on to be fair.
To me the difference is that Svelte is a lot more pure JavaScript than Vue. I haven't had the chance to use it in any larger project, but in my small playgrounds, I've definitely enjoyed it more than Vue.
If you wanna see Svelte in production, I’m using it for my homepage: https://webb.page

I’m glad to see Svelte growing in popularity here.

Viewing the source shows an html page without a closing body nor html tag: it's probably not the best case for showcasing it seems.

The layout it all over the place too using FFox, (it's fine on Chrome and Safari) so it also seems to be lacking in some basic cross browser testing, which again, is not good news when show-casing a framework, as a frameworks' prime responsibility is to ensure cross browser/platform uniformity.

Hopefully this all boils down to a simple 'oopsie' in your project, rather than svelte.

> Viewing the source shows an html page without a closing body nor html tag

It's actually not required to close those tags, the browser will interpret them correctly. (You can see this when inspecting the elements on the page, not just the raw source)

If you use Svelte with Sapper, you will get the "best of both worlds".

The first page you hit has the content baked into the HTML, and all subsequent content "pages" load like a single page app.

[1] https://sapper.svelte.dev/

Interesting, Firefox is my main browser and it's always looked fine to me.

I also built https://socii.network in Svelte/Sapper but that's in need of a rewrite. Just a smidge.

That page could literally just be a static web page or built using a static site builder like Jekyll/Hugo etc?
Of course it could but once you have a starter template setup it becomes an easy to jump right in.
Is it open-source? Otherwise it just looks like any other website, the code would be a lot more useful.
What exactly are you using Svelte for? It seems to literally be one HTML page...
To put it simply, I like it. Plus, I have a starter template project that makes it easy to just code and go.
+1 on Svelte. Seems like the better/faster option.
I was tempted by Svelte for a while, but in the end Preact remained the best fit for our needs because the output filesize grows slower with Preact than Svelte.

I like keeping things small because it delays having to add complexity (and simple is easier to maintain, especially when you have better things to do) and saves on bandwidth.

Of course I'll keep evaluating new versions as they come (given nothing is sacred in my pipelines), so that might change in the future.

Is it really faster for real-world uses?

I know Svelte does clever things to avoid a virtual DOM, but is the difference in practice really appreciable?

The bigger the virtual dom the larger the performance gap is supposed to be. But, true, would like to see some benchmarks from the real world, i.e rewrites and such.
Perhaps not a great comparison, but here are the Svelte and Vue HackerNews feeds. Not a great deal of difference, but perhaps it's too simple for performance to really matter.

https://hn.svelte.dev/top/1

https://vue-hn.herokuapp.com/top

Edit This site says the Svelte one wins on load times: https://hnpwa.com/

Svelte lacks the robust and reliable error handling that Vue and React have.
Actually using Svelte its main downside is the giant file size. I consider it unusable for that reason alone. Any minor speed advantages is entirely negated.
But react and vue are underneath much closer to each other than Svelte. Sure vue and svelte use templates and react doesn't but that's about it.

Anyway since svelte must be compiled i dont think it's good choice for something like mediawiki where you might have plugins and addons that want reuse core components and connect to each other in runtime.

> Anyway since svelte must be compiled i dont think it's good choice for something like mediawiki where you might have plugins and addons that want reuse core components and connect to each other in runtime.

Compiled Svelte components are highly reusable and cross-framework like few others.

So how do i extend component in mediawiki without having to recompile its source? How would i reuse that <mediawiki-table/> distributed in core and reuse it in user installed plugin?