re: Svelte - Simplicity is best. VIEW POST

FULL DISCUSSION
 

Let me start by saying that I like Svelte. It reminds me a lot of riot.js and for some tasks it's pretty rad. But I find fault, as I do with everything, in a couple of the purported benefits of Svelte. For example: The idea that you only use javascript, css, and html is just wrong. Svelte has a template syntax that must be mastered in order to use effectively. Svelte has a specialized syntax (and a new mental model to go with it) for reactive declarations.

Second, Svelte itself is not compatible with transpiled languages or style preprocessors (ie. typescript, flow, scss, less, etc), for that you have to use svelte-preprocess.

Third, bundle size generally doesn't come from the framework (unless you're living in Angular land :'( ...) but from bundled library code, which Svelte doesn't help with. As for performance, I rarely have issues with vdoms affecting my render speed, and when I do it's almost always my fault (requestAnimationFrame to the rescue!). So the small performance and bundle size wins (often obviated by libraries like preact and lithtml) don't really stack up next to the unfortunate side effects or using a custom app compiler.

So, while I really appreciate the goals of Svelte, and it is certainly a good tool that people can get things done with, I feel it still needs a bit more polish before it can be considered a contender.

tldr: Svelte is interesting, but not yet a game changer.

 

Professionally I use React and Vue. Personally I have moved to Svelte for side projects and personal ideas.

Absolutely, Svelte is still very young and needs more polishing. Those of us who have seen the overall benefits to utilizing Svelte it in its current state, envision a very bright future for the Svelte team. That's why some of us have taken it upon ourselves to help Svelte and its current dev team gain traction and more interest in the project. It needs the funding to grow. Then you'll see versions of Svelte that have a CLI to include the things you need. It takes time.

React was a mess when it came out in 2015, it is still evolving, it has recently shown favour with functional programming thus introducing Hooks and trying to get devs to use functions over classes. Angular went through a complete re-write to its current form. Vue came in with a very different support system and its ecosystem quickly evolved. The CLI is brilliant. It took a few years to get there. They all have special traits in terms of using props, templating and reactivity.

Lastly, for the demo I placed with this article. I would never consider React, Vue, Angular. While everyone wants to live at the bleeding edge of tech, they some times forget there are many of us who work on significantly smaller projects and don't require the complexity of the Big Three but still want the ability to scale.

 

Hey, I hear you. I'd love for Svelte to get more attention and work. In fact, one of my side projects this year (admittedly it got sidelined before I even started) was to implement the svelte compiler in Rust. So I really believe that Svelte has some nice value adds as a toolset for web development. That said, my points were:

  1. Svelte is actually at the bleeding edge, and thus not really on the same field as a mature library/framework.
  2. The purported benefits of Svelte are not accurate.
  3. The value adds are not that great and you lose a lot of flexibility.

In the future, however, I do see a place for a svelte-like compiler that is more flexible and can handle importing/exporting multiple languages.

code of conduct - report abuse