If you haven't already come across Svelte, it's a new web framework/compiler that's gaining attention due to it's radically new -yet simple- approach to handling front-end data changes.
Angular, React, and their popularity
Angular is backed by Google, while React is backed by Facebook.
While they provide really great tools in app development with a lot of ground-breaking usability approaches and some inspired behind-the-scenes engineering, I see the major reason for their current popularity as the reputation of their parent companies and the extensive marketing done by them.
I believe it's hard to deny how much Svelte changes the game from a technical point of view. It solves some of the largest baggage that comes with the big frameworks: performance, delivery size, complex reactivity, and less boilerplate.
The way Svelte solves these issues is extremely simple and elegant:
Whereas traditional frameworks [...] do the bulk of their work in the browser, Svelte shifts that work into a compile step that happens when you build your app.
To read more about how Svelte is truly "reactive", read this article by Ovie Okeh on LogRocket.
Perks of being a compiler
By not being a framework but a compiler, Svelte is able to do something that makes developers happy: get rid of boilerplate code. Instead of using decorators, hooks or
setState() methods, developers using Svelte can just assign to variables and expect the changes to be recognized.
Why Svelte is David to the two big Goliaths
(Is it Goliaths? or Goliathes? Golii?)
Svelte is getting a lot of recognition and generating interest among the front-end developer community. But the adoption rate is still relatively low, as expected of any newcomer front-end technology. It happened before, as seen with Vue, and will happen in the future too.
However, Svelte's background is not the same as that of Vue's, at least not yet, in terms of "backing", or "killer projects" that really exposed it to the world.
Svelte was mostly developed somewhat "under the radar", and the world only really started to see its impact by the release of version 3, which made a lot of visible and effective improvements.
My observation has been that a lot of experienced engineers are really excited about Svelte and have begun using it for new projects whenever they have control over the choice of technology. It's a good trend because of the knowledge and experience of these people that solidifies the trust in anyone observing this.
No matter the apparent advantages in developer happiness, lower cognitive overload as well as tangible advantages like time to market and performance, enterprise customers and new-comer developers are yet to discover Svelte's beauty.
Enterprises are yet to find an incentive to use a technology without it being time-tested, backed and supported by other enterprises. This is not a problem for Angular and React due to their high-profit parent companies.
On the other hand, new developers tend to go for the most popular technologies. Their incentive is the position of that technology in the job market and its stability.
So, what'll happen?
I don't think Svelte is just another hype. It may not fit all kinds of requirements other big frameworks help solve, but it seems to be very good at solving issues in the simplest and most elegant-yet-obvious ways, at the same time being as less intrusive as possible.
I'm quite optimistic about Svelte's future. I believe it will be much more popular in the future. While it's hard to say if it would beat any of the big two: they may have a lot of problems, but the amount of professional fixes and updates, as well as the community support is very hard to beat without the backing of a successful company.
I don't think Svelte will always be what it is today. It probably will head in new and exciting directions that we never thought of; because innovation is in its blood.
Top comments (8)
In my opinion, if Svelte team will not focus on providing tooling around Svelte - devtools, routing, state management etc. the answer is no. You can't develop complex apps without properly configured tools around your project.
Sapper handles routing. Svelte store handles state management. What's wrong with those solutions?
Have you got an easy and transparent way to debug Sapper routing? Perhaps small apps are ok to build with Svelte, but for large scale apps it lacks tooling. Take a look at Vue's devtools and compare it to Svelte's, ah wait, there is none.
It is just my humble opinion, but I would not chose Svelte as a power train for a big badda app, even though I like Svelte very much.
PS. Nothing wrong with those solutions. They are just not enough.
I just want to say that as for now, Svelte is too raw to be taken seriously.
All the tools you propose look insufficient after you use let's say Vue's devtools a while.
I see! hahah
Well, there's truth on your opinion - if each and every new tool on JS were to be taken seriously, we'd definitely burnout in no time. I don't disagree with that, I just pasted the link there because I had just found that on the Chrome extensions.
And indeed - learning it and hoping to find jobs with that tech is not viable (at least for now)
I guess that's a more critical point than what I'm talking about. I didn't think about that.
And yeah, I totally agree.
I truly believe Svelte will dominate the front end in few years, it's only about the status quo. Svelte is a such clear way of coding without the burden of unnecessary complexity of frameworks like React and Angular which means LOTS of wasted time. Svelte is about how the web should have been done from the beginning. Anything inefficient will fade away with time.