The direction React/NextJS has taken modern web development is a modern day abomination. I say this as a passionate fullstack developer whos worked for YC startups and a fortune 10 company within the past decade. I appreciate Vercel as a company too; I have no hate towards them but the NextJS 13 release almost made me quit web development.<p>Svelte is an absolute love language to the web and a direction for healing the damage caused by modern "web frameworks". It's the absolute direction we need to head in.<p>Here's something beautiful. I'm teaching my brother-in-law programming to get a job when he's out of the military. He's learning JS/CSS/HTML and doing quite well. With about a 2 minute tutorial of how Svelte works; he was able to start creating some pretty impressive projects. A day later because he already knew the basics of how the web works, he was in Sveltekit building fullstack apps -_-.
Now I know why I dislike Svelte so much, I don't believe in its principles. Which is perfectly fine, a framework can't please everyone.<p>HTML is not the mother language - It's actually pretty terrible for describing dynamic user interfaces. This is why JS solutions are so appealing. If HTML is so magical why do they need a fancy template language?<p>Magical, not magic - I really don't want it to feel magical either. I like explicit behavior and I think that is my problem with the whole wrap everything in observables approach. It's too magical.<p>No one cares - The countless blogs, posts, and communication around frameworks implies that yes, developers do indeed care. Details are important. You can't waive away concepts like memoization because they need to be used in the right context. There's no one size fits all solution to caching.
> Instead of striving to be the fastest or smallest or whateverest, we explicitly aim to be the framework with the best vibes.<p>Except that svelte advertises itself constantly as being faster and with smaller bundle sizes. Which is a good thing. I don't buy that it priortizes 'good vibes' at the cost of those other things. If it's saying it prioritizes 'good vibes' and everything else, then that's pretty meaningless - they might as well say they're good at everything.<p>Would also help to actually define what 'good vibes' are because I think every tool tries to make DX as nice as possible.<p>I honestly dislike fluff like this because it conveys nothing and gives fodder for people to ignore practical evidence in favor of biased advertising i.e. someone's going to make a bullet point list about things they dislike, and someone will just point to this and say "nuh uh, you're wrong, they care about being user-friendly, it says so right here".<p>Since we're talking about front-end frameworks, I still maintain that vue has some of the best documentation. I fell in love with vue 2 because the documentation did a great balancing act between being brief, simple, and somehow dense at the same time. In particular, I remember a page about it's comparisons to other frameworks that in a few paragraphs, gave a history lesson, simplified differences to barebones, explained the practical implications all in a way that put vue in a good light. It was much better than the angular and react docs at the time.
As someone used to doing everything with vanilla JS and having troubles with getting deep into any web frameworks (especially React), Svelte has been a godsend. I'm in love with the philosophy and approach and its natural combination of JS/CSS/HTML is, in my personal bubble, second to none. Most recent experiment was <a href="https://meoweler.com" rel="nofollow">https://meoweler.com</a>, but I'm now trying more complex projects and can't sing high enough praises. I sincerely hope the future of Svelte is bright.
Svelte and SvelteKit have earnt a place in my heart. They've allowed me to enjoy learning reactive- and component-based development. In comparison, React has always felt like a chore, and I avoid it as much as possible, despite it being the most popular framework.<p>(Side note: I rate Vue as well, though I prefer SvelteKit over it these days)<p>Rich Harris and the Svelte family have always been pragmatically minded, and there's value in expounding one's development philosophy, but I've gained no insights with this list. Perhaps it's the language used, rather than the tenets themselves.
Ha, did not expect this to be on the front page of HN today! Some quick context: in January I was in London for a few days, and while I was there we had a Svelte Society London event.<p>This document is a text version of a talk I gave there, which expands on some of these ideas: <a href="https://www.youtube.com/watch?v=eswNQiq4T2w&t=5211s" rel="nofollow">https://www.youtube.com/watch?v=eswNQiq4T2w&t=5211s</a><p>It's deliberately brief and vague in parts, because it's designed to spur conversation. It's not set in stone, nor is it an Official Statement on behalf of the Svelte team — it's an attempt to articulate the way that the maintainers tend to find ourselves thinking about some of these topics, as viewed through my personal lens. If it helps explain why you like Svelte, great! If it helps explain why you hate it, that's great too — that's the whole point. Have fun with it, and if there are parts you disagree with then your homework is to think through what kind of tenets would describe your ideal framework.<p>Also, it's Saturday — get off Hacker News :)
After several React projects, I recently went “back to the roots” and created an app with server-generated HTML using the ages-old Mustache templates.<p>For interactivity, I added a bit of HTMX, and to have beautiful forms, I added the web components from Shoelace, all wrapped up in a Vite build.<p>And I must say that this was a relaxing experience: No complicated React stuff anymore, and the Typescript-based server components on AWS Lambda render the pages within 30 msecs each. AWS DynamoDB powers the data layer.<p>Feels like 1997 again, but I am Happy with the new stack!
Chose Svelte for a client project 5 months ago, client loves the speed, I love developing with it. In general it's quite a nice tool, fast development, feels easy to learn. I do dislike server-less functions, which comes in pair with Svelte ability to do SSR, which doesn't have to do anything with Svelte tho.
Svelte to me is how objective progress in building the web looks like, much like React was just much better than Angular 10 years ago, Svelte just makes sense.
Whenever I've tried Svelte I've honestly had a horrible experience, which surprises me somehow. It definitely failed on the "magical, not magic" thing. The exact workings of $ is still extremely confusing<p>It's funny, a lot of the Svelte fans made me think that it would be very simple and nice, and that React was much clunkier, confusing, and implicit, but my experience was the total opposite
> We want Svelte to feel magical — we want you to feel like a wizard when you're writing Svelte code... So when we design things we need to think about the people who haven't read the docs in a while, if at all, and don't care about things like that. This means that things need to be intuitive, that we shouldn't need to worry about manual optimisations like memoisation, that we should have as few APIs as possible, and that things need to be discoverable<p>Amen. After being forced into working on a large Vue project as a React dev who had sworn it off, I've slowly come around to falling in love with it. Once you get over the "black magic" of it all, the productivity is insane. For people who just need to get things done, and couldn't care less about millisecond level rendering benchmarks, I would easily suggest it over React at this point.
Svelte 5 moves closer to React in quite a few ways. The single component per file is still a dealbreaker for me. React got it right with composition and being able to break a component out into its sub-components.
I started using Svelte a couple of years ago and I love it. Very quickly it became the only client side solution I want to use.<p>Can't say the same about SvelteKit though. I've tried it a couple of times and it's just not fot me. It's really a tool built around a client side library and it shows (instead of being a backend framework).
I think it’s wonderful that their official website doesn’t even work in iOS 14.3 Safari, which is only 3 years old (it crashes completely with “500 internal server error”). I encourage everyone who genuinely cares about the web to stop updating compulsively and just allow themselves to be gracefully excluded from this foolishness.
One of the comments on GitHub says:<p>> the first time I use Svelte & Kit I feel the same joy as I feel when the first time learning web development in 2015<p>That sounds pretty awesome. If you have experience with Svelte and this resonates with you, could you explain why?
I like the general idea of Svelte, but last time I tried it, it required a lot of bloat (tens of files) for just a simple “hello world” project, which put me off.
That whole text sounds like he gave up.<p>Like, Svelte isn't better than any alternative in a meaningful way, he's just doing it because he wants to.