Svelte, Solid or Qwik? Who Won?

Поділитися
Вставка
  • Опубліковано 28 лис 2024

КОМЕНТАРІ • 255

  • @soundrightmusic
    @soundrightmusic Рік тому +65

    Qwik doesn't use VDOM.
    I haven't used Solid but I really enjoy Qwik and Svellte. Qwik has really good DX and this is from a guy who doesn't like JSX.

    • @awesome-coding
      @awesome-coding  Рік тому +12

      Interesting - Indeed, I couldn't find anything in the docs regarding VDOM now, but I remember clearly a talk where Misko was mentioning it, and I can still find references to a Vdom in the code - github.com/BuilderIO/qwik/blob/main/packages/qwik/src/core/render/dom/render-dom.ts

    • @PeerReynders
      @PeerReynders Рік тому +15

      @@awesome-coding Before September 2022 Qwik used vDOM but Sept. 21 useSignal was merged and announced in a Video on September 28.
      Qwik: Beta and Beyond

    • @soundrightmusic
      @soundrightmusic Рік тому +4

      @@awesome-coding maybe they are hiding it because vdom isn't what the cool kids are doing. The only mention I can find in the docs is in the JSX section where it says JSX != VDom in bold even. It seems intentionally obscure. I suppose it's not that important as the performance is exceptional.
      Love your videos btw.

    • @awesome-coding
      @awesome-coding  Рік тому +3

      @@soundrightmusic Thank you!
      Yep - you are right - the docs are suspiciously obscure on this.🤦‍♂

    • @ryansolid
      @ryansolid Рік тому +18

      Qwik does use the VDOM. It might not be relevant in all places as they have some means to do granular updates, but its main rendering mechanism uses the VDOM. Not that that is a huge deal as Svelte doesn't use a VDOM and I'd still consider it generallyless granular in rendering than both other solutions.

  • @romansimik6557
    @romansimik6557 Рік тому +37

    In relative comparison I would put QWIK atleast one point ahead in the performance tab (due to the basically unmatched approach to the downloading/executing JS in terms of CWV)

    • @awesome-coding
      @awesome-coding  Рік тому +12

      To some extent I would agree. On the other hand, my question is the following - is the performance gap so large at this point? I agree Qwik is probably the best, but I believe that Svelte and Solid are soo close behind that it doesn't really matter for 99.99% of scenarios.

    • @bigmistqke
      @bigmistqke Рік тому +7

      For loading mb, but performance in reactivity, I am not so sure. There is a reason they are not yet in the js framework benchmark. That kind of performance just isn't a priority to them rn.
      It's also a bit of an unfair comparison to compare loading of qwik w purely frontend frameworks like solid/svelte. Qwik is a metaframework by itself, it's all about the server. Would be better to compare it to astro+solid/svelte or solidstart/sveltekit. Especially with astro+solid, I think u can get very similar results regarding tti, if u build for it optimally.
      If u build optimal qwik you would have an MPA too, bc otherwise you are just delaying the downloading of the whole template to the first navigation.

  • @lThePotatoCrew
    @lThePotatoCrew Рік тому +29

    I am absolutely in love with Solidjs, it just makes sooo much sense, in terms of it's reactivity. I love that I can easily use it outside of jsx, because it's primitives are sooo powerful.
    Although I love the dsx of svelte! So simple!

  • @HVossi92
    @HVossi92 Рік тому +34

    I am just in the process of learning Sveltekit and deciding whether to use it or Solid or Qwik for version 2 of our company's product. This is so 100% spot on the video I've been looking for in the past week. Great job :)!

    • @awesome-coding
      @awesome-coding  Рік тому +15

      Glad to hear! Out of the 3 of them, Svelte is the "safest" option in my opinion.

    • @TechBuddy_
      @TechBuddy_ Рік тому

      ​@@awesome-codingyes

    • @HVossi92
      @HVossi92 Рік тому +3

      ​@@awesome-coding I agree, still risky compared to say React or Vue, but for me the tradeoff for better productivity is worth it (and I imagine onboarding to be easy, if new people know html/css/js).
      The biggest downside is going back to work on a legacy AngularJs app :D.

    • @hyprsonic_dev
      @hyprsonic_dev Рік тому +6

      ​@@HVossi92Trust me, sveltekit and risk don't belong in the same sentence :)

    • @raenastra
      @raenastra Рік тому +1

      @@hyprsonic_dev Risky in the sense that it's not as ubiquitous as other frameworks (yet!). Meaning if you select it for a project, it might be harder to find experienced devs when you need to hire more

  • @gamingwolf3385
    @gamingwolf3385 Рік тому +150

    Don't be a frameworker , don't learn frameworks , learn concepts behind those frameworks

    • @nonono9700
      @nonono9700 Рік тому +1

      +3000

    • @RonaldTetsuoMiura
      @RonaldTetsuoMiura Рік тому +36

      Learn the concepts, but don't try to do it yourself. you'll only end up (badly) writing your own new framework 😅

    • @erickmoya1401
      @erickmoya1401 Рік тому +16

      Thats why svelte is the best. The closest in syntax to pure JS and pure html with huge power behind.

    • @MrEnsiferum77
      @MrEnsiferum77 Рік тому +3

      @@erickmoya1401 U are saying like u write 1M lines of app in svelte... It's not problem if something is close to js or not, it's about how u approach building the software... and most of developers are total crap in that... The idea is to build the software and change it on the fly tommorow replacing svelte or react or vue with something else...

    • @madhavanand756
      @madhavanand756 Рік тому

      Any resource to learn fundamentals of framework, I guess every framework is different isn't it.

  • @alexlohr7366
    @alexlohr7366 Рік тому +15

    Not all frameworks are similarly reactive. React (and to a point, preact) is an outlier, which instead of relying on the tried and tested observer pattern uses immutable reconciliation for both its state to virtual DOM and virtual DOM to actual DOM reactivity.
    Also, I would argue that the implicit reactivity of Svelte, while being very powerful, is not better than the explicit reactivity of Solid or Qwik. In fact, the latter is more obvious and has less hidden pitfalls.

    • @awesome-coding
      @awesome-coding  Рік тому +5

      I think you are making a very important point - hidden complexity is at times worse than obvious complexity.

    • @PeerReynders
      @PeerReynders Рік тому

      @@awesome-coding Currently web dev seems to be just as dogmatic about components as the mainstream is about class-based object orientation (perceived reuse and all that).
      Svelte's convenient reactivity is limited to the components, non-component store reactivity isn't that convenient.
      SolidJS is a
      state library that happens to render
      so you can build application-centric apps without involving a separate state library (like Redux for React).

  • @nightshade427
    @nightshade427 Рік тому +22

    or use vue, which is very similar to svelte code wise (when using sfc composable api), has good reactivity (is also about to have vapor mode without vdom), has great dev tooling, and is one of the largest js frameworks, so isn't hard to bet on in long term production projects
    I don't think vue gets enough love from js community considering how it combines all the things js devs love about svelte, solidjs, and react

    • @raenastra
      @raenastra Рік тому +2

      underrated comment. avoiding the hype is usually the way

    • @ursochurrasqueira
      @ursochurrasqueira Рік тому +2

      also Vue is 100% community oriented, unlike React and Angular which are big tech children

    • @bradyfractal6653
      @bradyfractal6653 Рік тому +3

      Svelte feels like Vue 2.0

    • @soundrightmusic
      @soundrightmusic Рік тому +1

      Vue is underated.

    • @yueyu9762
      @yueyu9762 Рік тому +1

      Vue 3 🎉

  • @RolandAyala
    @RolandAyala Рік тому +28

    I've used all three, and Qwik is my favorite because doesn't introduce a new markup (only very minor diff from React JSX except to account for event handler serialization), data-flow, and the resumabilty/serialization which bring several benefits than just fast page loads. Svelte is too magical for my liking, but no question the easiest/fastest of the three for cutting code. However, all three suffer from lack of ecosystem and tooling, which is easy to discount when lusting after shiny new frameworks. I decided to stay with React for now because I'm more productive with it when considering everything (availability of 3p libs, tooling, etc.), and will wait it out for another year or two before switching (if at all).

    • @awesome-coding
      @awesome-coding  Рік тому +1

      This is fair.
      I understand your decision of sticking with React (A few weeks back I posted a video on this exact topic - the lack of tooling in newer libraries).
      I can also understand that "Svelte is too magical for your liking". I think there is a valid point here. Sometimes things that "just work" are not the best.

    • @andreilucasgoncalves1416
      @andreilucasgoncalves1416 Рік тому +2

      I've used them all and found SolidJS to be faster.
      Qwik has slower interaction because of the chunks
      And I agree Svelte is too magical, we are using Svelte and I personally hate all the magical and sometimes buggy features

    • @RolandAyala
      @RolandAyala Рік тому +4

      @@andreilucasgoncalves1416 Solid-Start is still in beta and not progressing at same rate as Svelte and Qwik, which was concern for me, even though huge respect for Ryan Carniato (really like his Solidjs mental model). Overall though, I found Qwik DX to be best fit me, and all three (Qwik, Solid, Svelte) are highly performant in comparison to React -- agree though that Solid is fastest. Practically speaking though, Rect performance has not been an issue for apps I'm building. It's easy for people to get caught-up in such things, but I suspect it's relatively small % of apps that need the added perf (or at least not top most priority relative to other considerations).

  • @vladlazar94
    @vladlazar94 Рік тому +4

    How is Svelte’s reactivity model better than Solid’s signals? Can you go into more detail?
    Also, since 3.0 Svelte uses signals for reactivity as well.

    • @awesome-coding
      @awesome-coding  Рік тому

      Hey!
      The idea in this video (a poorly explained idea nevertheless) is that Svelte's component reactivity is better than Solid's from a DX perspective. Signals have an API you have to interact with, while Solid's reactivity (in V4) felt "like magic". Here is a followup video I made on this topic - ua-cam.com/video/XB993rQ-5DY/v-deo.html
      I think you are referring to Svelte's store reactivity introduced in V3, which was different than the component reactivity (based on dirty checking).
      It looks like they are unifying the implementation in Svelte 5, with the addition of runes.

  • @ryo_5748
    @ryo_5748 Рік тому +2

    Awesome…I'm always amazed at how frequently you've been updating your videos lately.

    • @awesome-coding
      @awesome-coding  Рік тому +2

      Thank you very much! I'm trying to post twice a week whenever the rest of my life allows it 😅

  • @scott_itall8638
    @scott_itall8638 Рік тому +11

    Svelte is the GOAT now.

  • @ayoubkrt5018
    @ayoubkrt5018 Рік тому +13

    i feel like qwik's instant reactivity was not given enough praise for what it can do, the ability to make the builkiest of them all web app but then have the user load it as soon as they type the url is something else, im sure svelte and solid both are very fast frameworks, but when push comes to shove hydration will impact them and the performance the users would get, meanwhile with qwik u could ship 100gb of javascript in an app and have instant loading if you respect the lazy loading and don't overuse useVisible task and force hydration ur self which imo is huge, i think orgs like amazon could benefit a lot from something like qwik since they opted to not use frameworks due to performance, google already has something like that internally.
    but again, Resumability needs more points here, i would still give svelte and solid a 2 but as a special case qwik should get a 3 since performance should theoretically always be perfect no matter how big the app is

    • @CStrolx
      @CStrolx Рік тому

      As a person who has done Enterprise level development for years, I've been waiting for something that can handle scale the way that qwik can. Indeed, when I first learned that Angular couldn't handle lazy loading (first gen of angular now referred to as angularjs), I was flabbergasted. It seemed like such a huge oversight for a company like google.
      Anyway, for smaller apps, the others are likely good enough, but even Vue and React really struggle at enterprise level. Also, when you need to deal with SEO, you're constantly fighting the battle of SSR or SPA, and often find yourself writing both, with lots of redundancy or very complicated code (or both). Qwik handles this with ease. I think Qwik will likely pull out ahead once it starts getting adopted by more enterprise level consumers. There's usually a wait time of 2-3 years after a stable release comes out before they will even begin, however, so my guess is in about 5 years Qwik or something very similar to it will start coming out on top.

  • @erics2133
    @erics2133 9 місяців тому

    This comparison is three of the four frameworks I'm most interested in learning at the moment, so good information.

  • @laughingvampire7555
    @laughingvampire7555 Рік тому +3

    I liked the very first Angular.js I like the idea of extending HTML and you as the user having the control over that. And this is also why I like HTMX, is simpler than angular1.

  • @bernardogalvao4448
    @bernardogalvao4448 Рік тому +4

    Im a non-web-dev, so I just like the promise of Svelte without knowing what I'm getting into. I am probably fine with what it delivers atm, as I am aiming at internal tooling.

    • @awesome-coding
      @awesome-coding  Рік тому +3

      Yes - Svelte is a good safe bet!

    • @vaisakh_km
      @vaisakh_km Рік тому +1

      ​@@awesome-coding i am really glad i am learning svelte... felt like it is only one i can enjoy using...
      react was really overwhelming, so i hated to learn it.. (may be i tried to make big project for my friend 3 years ago with out knowing anything about react and still having ptsd due to it )..
      but currently i my job is in support so hopefully i have time to learn webdev if i ever make a carrier change

  • @jonathangamble
    @jonathangamble Рік тому +7

    In terms of maturity, SvelteKit wins hands down. They have all sorts of packages and 1.0. Qwik (qwikcity) is 1.0 and pretty behind, and SolidStart is still in beta and not even on the map. There is no comparison in reality.

  • @Antebios
    @Antebios Рік тому +5

    I'm really liking Solid a lot!! But it is lacking in Solid Start and more examples.

  • @BrUSomania
    @BrUSomania 11 місяців тому

    I still consider myself very new to web development and so far Svelte feels like a blessing to me, especially when compared to React (which I just struggled with for a couple of hours).

  • @daleryanaldover6545
    @daleryanaldover6545 Рік тому +4

    I tried quik but quickly step back due to it's boilerplate experience similar to react. Svelte on the other hand handles all of the complexity during compilation so we can write plain JavaScript which hugely improves DX.

  • @Metruzanca
    @Metruzanca 11 місяців тому +1

    3:24 - Solidjs can do everything Svelte can do and more in the category of Reactivity. $: in svelte is createEffect and createComputed. But solid can also easily interface with obvservables and create signals from async operations using the from primitive.

    • @awesome-coding
      @awesome-coding  11 місяців тому

      Right - things will change in Svelte 5 though.

  • @johnforeverrules
    @johnforeverrules Рік тому

    thanks @awesome for another awesome video. i am sure that these types of videos will help a wide range of developers

  • @ezaz7
    @ezaz7 Рік тому +6

    Frontend development isn't all about JavaScript and HTML. There's also need for CSS. To write JSX we had to think which way I should choose, styled component or JSS or module CSS or something else. Thanks to tailwind this problem is almost solved. But still if someone doesn't want to use tailwind, writing style in JSX will be again nightmare. That's why I would always choose svelte over all the JSX frameworks.

    • @chisangamumba2961
      @chisangamumba2961 Рік тому +1

      What's wrong with JSX?

    • @ezaz7
      @ezaz7 Рік тому +3

      @@chisangamumba2961 If you used any jsx library like react. And then you use svelte. You'll understand what I'm trying to say here. Svelte components are combined with js, html and css. Instead of only html and js.

    • @TheMichaelK
      @TheMichaelK Рік тому

      @@ezaz7Same with Angular, isn’t that right?

    • @ezaz7
      @ezaz7 Рік тому

      @@TheMichaelK I don't have enough ideas in angular.

    • @twothreeoneoneseventwoonefour5
      @twothreeoneoneseventwoonefour5 11 місяців тому

      @@TheMichaelK and vue

  • @markky212
    @markky212 Рік тому +2

    Like always great video! But IMHO you missed one very important category witch is "lighthouse score". There is very good reason why qwik exist. I'm working on a project that Core Web Vitals really matters and with nextjs a struggle a lot! We are shipping js where we don't need it at all only because of this how old js libraries works..😢

    • @awesome-coding
      @awesome-coding  Рік тому

      Thank you! You are right. I should have at least mention that Qwik excels at this. My take on performance was "all of them are doing extremely well, and if one is better, is not that big of a deal" which is not that fair for the one doing better :D

  • @IvanRandomDude
    @IvanRandomDude Рік тому +5

    I swear, web devs are overreacting all the time. People switch careers in a year while some people are scared of different flavor of what they already "know"

  • @LetrixAR
    @LetrixAR Рік тому +4

    I tried SolidJS recently but I don't like the amount of stuff I need to do to get reactivity.
    In Svelte is just $.

    • @victorlongon
      @victorlongon Рік тому +1

      You don't need to write anything really, what you mean?

  • @vaisakh_km
    @vaisakh_km Рік тому +1

    can you compare these 3 with angluar, react and vue also??

    • @awesome-coding
      @awesome-coding  Рік тому +5

      Thanks for the suggestion!
      I'm considering doing it, but then I'll be burned alive in the comments - People love their frameworks :))

    • @soundrightmusic
      @soundrightmusic Рік тому

      @@awesome-coding not if you make the right choice and choose Vue.

    • @arunbharath4548
      @arunbharath4548 Рік тому

      😂

    • @vaisakh_km
      @vaisakh_km Рік тому +1

      @@soundrightmusic 😂 but then no one would click the video

    • @soundrightmusic
      @soundrightmusic Рік тому

      @@vaisakh_km sad 😭 but true

  • @gamingwolf3385
    @gamingwolf3385 Рік тому +4

    Its really a hard comparaison , the two of quik and solid have jsx so the translation from react to those two frameworks will not be so hard ,and what you should learn is some more javascript concepts like dignals , functions and some theory how they work , but svelte you will need to learn a new language to let the compiler work correctly

    • @awesome-coding
      @awesome-coding  Рік тому +1

      I agree - it's never easy to compare such things, but, at the end of the day, they are competing in the same space!

    • @AyushVachhani
      @AyushVachhani Рік тому +10

      Trust me learning svelte is more easier compared to switching from react to solid/quik (even given you already a react vet), sveltekit is the easiest thing ever lol

    • @lucas.p.f
      @lucas.p.f Рік тому +2

      Svelte is not a new language, is an extension of Javascript. If you know javascript it takes basically no effort to learn svelte keywords and macros as they are just an abstraction of concepts we already know. I migrated from react to svelte and it didn't even felt lime I was learning something new. Everything is straightfoward and easy to remember

    • @namaefumei
      @namaefumei Рік тому

      @@AyushVachhani I couldn't agree more. I took up svelte and had a working real word prototype in a week.

    • @ElclarkKuhu
      @ElclarkKuhu Рік тому +2

      This is why you should learn JavaScript not "React"

  • @mpiorowski
    @mpiorowski Рік тому +7

    Svelte

  • @zainbaloch4850
    @zainbaloch4850 Рік тому +2

    Svelte is the best

  • @hakuna_matata_hakuna
    @hakuna_matata_hakuna Рік тому +9

    Solid and Qwik also scale much better thebmore pages are added, Ryan Carniato pointed out a benchmark where thebpages on a site were gradually added up to 300 and solid and qwik performed the best , svelte was worse than vue in the end even though it started off really fast

    • @awesome-coding
      @awesome-coding  Рік тому

      Interesting! Do you have a link with Ryan's benchmarks? Thanks!

    • @hakuna_matata_hakuna
      @hakuna_matata_hakuna Рік тому

      @@0.amonymous didn't get dramatically slower the more pages were added

    • @andreilucasgoncalves1416
      @andreilucasgoncalves1416 Рік тому +2

      Yeah if you start a project with sveltekit and build and a blank project already starts with 99 or 95 performance points which is worse than preact

    • @erickmoya1401
      @erickmoya1401 Рік тому

      300 pages on your site xD.

    • @hakuna_matata_hakuna
      @hakuna_matata_hakuna Рік тому

      @@erickmoya1401heard of like 3 migration stories of people moving their company's websites to solid all 100+ pages , apparently for something that big they usually rely less on the "ecosystem" since they write most stuff in-house and only pull in things like Tanstack and other big agnostic tools

  • @beners
    @beners Рік тому

    I haven’t gotten to use svelte for a while at my job (been on react projects lately) and I MISS IT

  • @meka4996
    @meka4996 5 місяців тому

    Svelte is ditching their v4 reactivity and embracing SolidJs style signals! SolidStart is v1.0 production ready as of May 2024. So I see SolidJs is leading the way

  • @ЧингизНабиев-э2г

    Have you tried Stencil?

    • @awesome-coding
      @awesome-coding  Рік тому

      I played with it for a bit, but its use case is too narrow for what I would need in my day to day life. Sure, it's great to build components, but, these days I need the whole meta-framework experience hassle free. It's tough to argue for a component library tool when options like SvelteKit are out there.

  • @I_am_a_programmer
    @I_am_a_programmer Рік тому +1

    Sveltekit is the best))))

  • @lazyh0rse
    @lazyh0rse Рік тому +2

    I hear a lot of people say svelte is too magical, I have used react extensively, and I don't care how magical x or y. React FORCES you to stick to react's way of solving problems, you can't use vanilla js. If you tell me this is still not magical I don't know what to tell you. However, I still love it, but since using svelte, I will never go back to react. Svelte ACTUALLY respects vanilla js, you are free to use vanilla js or svelte's way of solving the same problem. It just make common problems easier. I have yet to find any flaw in svelte.
    As for solid, I have only used it for about a week or so, and I just couldn't make a simple theme switch work as in react. For some reason the reactivity of solid is just a tad different from react, if you make a signal that reacts when another signal change it won't fire. Which made things harder, not simpler. To add fuel to the fire, the community is much much smaller than svelte. And the scope of problems you will have to solve from solid are a lot more than react and svelte. Since it's minimal, unlike svelte. It gives you many things out of the box.

  • @JuicyBenji
    @JuicyBenji Рік тому +2

    Love your vids, just wanted to point out a slight correction, Qwik does not use a virtual dom. While I'm not an expert I'll just post a quote here from Qwik themselves "Qwik does not have a virtual DOM (VDOM) like React. Qwik uses a different approach to achieve instant interactivity and server-side rendering. Instead of diffing and updating a virtual DOM, Qwik focuses on incremental rendering and reactivity using signals and components."

    • @awesome-coding
      @awesome-coding  Рік тому +1

      Hey!
      Thanks for your feedback!
      Regarding the VDOM - please check this video's pinned comment, and especially Ryan Carniato's response.

  • @NatnaelAbebe-og8bt
    @NatnaelAbebe-og8bt Рік тому

    bro if I start learning web development to day is it worth or can I get a job please help me

    • @awesome-coding
      @awesome-coding  Рік тому

      Yes, I believe there is job security in the web dev space. It's going to be tougher in the upcoming years, but people with good skills will do just fine.

  • @GIOVANNYGARCIAHOLGUIN
    @GIOVANNYGARCIAHOLGUIN Рік тому +2

    svelte, svelte, svelte!!

  • @dongums
    @dongums Рік тому +4

    sveltekit for dx

  • @SAsquirtle
    @SAsquirtle Рік тому

    what is the website at 5:29 that has information about patterns?

  • @daniellewis984
    @daniellewis984 4 місяці тому

    I almost like Svelte, but as I was going through the tutorial they sprang their own programming language on me that isn't a complete language. It reminds me of C macros compared to C, in that it's an entirely different language with different rules and may/may not be turing complete.
    So I almost asked on Discord, but they have it locked up so you can't just ask questions, you need to have a technical issue or STFU, so I'm not asking.
    IMHO, I don't want to write something in Svelte's programming language, because in 5 years when it's no longer the future I don't want to have to rip my entire codebase apart rewriting everything, nor do I want to face the possibility I simply *can't* write something in Svelte because their language is somehow incomplete or broken.
    So instead I'm likely to turn to either vanilla TSX or SolidJS if I can convince myself that I need this reactivity/state management actually.

  • @theLowestPointInMyLife
    @theLowestPointInMyLife Рік тому +1

    Something has always seemed off with Svelte for me. Qwik not really a serious option. Ryan Carniato is thr top framework guy, nobody has the breadth and depth of knowledge he has in this area. Solid just does things right and thats why all the major frameworks are copying it, including svelte now going with signals. Id be surprised if Solid didnt comfortably win the race between these 3 in the long run, its a class above in fundamentals and so much more potential.

    • @awesome-coding
      @awesome-coding  Рік тому +1

      I agree with everything you said here :)
      Ryan is really smart and had a major impact in the frontend world in the past couple of years.

  • @good-dev-student
    @good-dev-student Рік тому

    Svelte very very awesome you are a hero ❤🎉

  • @bradyfractal6653
    @bradyfractal6653 Рік тому +2

    Svelte

  • @zainharoon7468
    @zainharoon7468 Рік тому

    Thanks for the video❤

  • @daviddibiase4727
    @daviddibiase4727 Рік тому +1

    I respect the opinions here and attempt to adjudicate the frameworks but I noticed a lack of objective analysis on many of the points. I hope you consider these suggestions for a future video 🙂
    Reactivity - Since you are comparing architecture here I think we need to be *way* more objective. Svelte's reactivity isn't composable and not as efficient at Solid nor Qwiks. This is a major consideration missed by your video. If you're comparing the reactivity DSL-wise then this should be renamed as a category or rolled into DX. Also all three frameworks have a compiler so claiming Svelte has a one-up here is not totally relevant.
    DOM Updates - I'm having a hard time reasoning Svelte being a 2. Solid is hands down more performant and efficient at this task. I'm not sure if it's fair to put Svelte at the same level as Solid in this category. I'm not sure why this is a category at all because it's tied to performance in general. Either way Solid wins in this category given that it is more specialised at fine-grained reactivity. Signals are a big super power here.
    Performance - It may be your opinion that performance doesn't matter but I think it's not really just (even disingenuous) to discount two other frameworks *designed* for performance by making them all equally scored. Svelte should have 1 in this category because it's "good enough" compared to Solid and Qwik. These are two frameworks designed with performance in mind.
    Dev Experience - I believe Solid and Qwik should have 1s. They are behind Svelte which is much larger and more popularized at this point regarding ecosystem. Experience wise the language itself has pros and cons that are far more subjective ie. SFCs and such.
    If you were to recalibrate these numbers the frameworks would be:
    Svelte - 12
    Solid - 12
    Qwik - 12
    All these frameworks are equally balanced and you should explore each. I hope that your future videos will strive to be more objective.
    ❤💙

    • @awesome-coding
      @awesome-coding  Рік тому

      Hey!
      Thank you for your detailed comment. All your points are valid - will try to do better next time✌️

  • @namaefumei
    @namaefumei Рік тому +11

    Qwik is too much like react and Solid is not much better. Svelte is the cleanest. As a former react dev both solid and qwik is an oasis after using react but i am trying to move away from jsx. I hate that stuff. Svelte feels like a fresh breath of air.

    • @awesome-coding
      @awesome-coding  Рік тому +3

      I also have most of my background in React. Solid seemed like a nice transition, but Svelte is growing on me recently :D

    • @mpiorowski
      @mpiorowski Рік тому +5

      @@awesome-coding just be carefull, this is like a one way road, when You try Svelte, it's HARD to go back :D

    • @awesome-coding
      @awesome-coding  Рік тому +1

      @@mpiorowski Damn.. I have to be careful then... I don't want to turn this channel into a Svelte one 😅

  • @quelchx
    @quelchx Рік тому +1

    Htmx with splash of alpinejs using go fiber and templates. 🔥. At the end of the day I use whatever as long as it has paycheck at the end of it.

  • @nivethan_me
    @nivethan_me Рік тому +1

    which one is best?
    whatever they hiring for 🤷‍♂

  • @tthiagolino8
    @tthiagolino8 Рік тому +2

    Svelte should take the lead in the state category because of compatibility with external state management libraries thanks to the store contract
    Want to use xstate to create state machines? it just works!
    RXJS? Just works!
    Preact signals? Just use the core library! (not even the preact itself does that)
    NanoStores? Just use the core library!
    Even libraries that do not 100% follow the store contract can be adapted to work on just 2 lines such as Zustand, redux and even solid signals

  • @gamingwolf3385
    @gamingwolf3385 Рік тому

    What i see , is that you should learn only one of them, they have a big similarity and the difference of them isn't that big

    • @awesome-coding
      @awesome-coding  Рік тому

      Yep - and that applies to all frontend frameworks.

  • @eliuddyn
    @eliuddyn Рік тому

    Qwik 🔥🔥

  • @jaspreetsingh2379
    @jaspreetsingh2379 Рік тому +5

    SolidJS will be new Angular, Qwik will be new Vue and Svelte will be new React.

    • @FalconTheFries
      @FalconTheFries Рік тому +6

      Wha… what?

    • @awesome-coding
      @awesome-coding  Рік тому +5

      Please elaborate 😅

    • @codefork94
      @codefork94 Рік тому

      Huh?

    • @Flip97rza
      @Flip97rza Рік тому +2

      I would say (also based on the syntax) if you already say so, that Qwik would be React and Svelte is close to Vue...
      but still in realm of fantasy :D

    • @jaspreetsingh2379
      @jaspreetsingh2379 Рік тому

      ​@@awesome-coding
      Given 3 current frameworks : React/Angular/Vue
      vs new frameworks: Svelte/Solid/Qwik
      If we have to predict which new framework will be equal to old one in terms of popularity, we will get to the comment
      It is an over the top prediction, based on current popularity. Everyone loving Svelte thus it is good candidate to be new react, and SolidJS is refined version of current react which might not become as popular if Svelte way of writing app win in next 5 years, thus it becoming next angular. And then Qwik just being there as 3rd alternative like Vue in the past.

  • @tthiagolino8
    @tthiagolino8 Рік тому +2

    Qwik should lose performance points in my opinion, it uses aggressive lazy loading to gain initial loading speed but loses a lot of performance by turning literally all interactions into calls to the server, which are literally the weakest link of any web app and why developers switched to the spa model in the first place
    Interacting with the counter in the official demo in localhost with slow 3g took over 1min to react and over half second without throttling (which is still a lot)
    Slow initial loading is currently only a problem using React, all other frameworks nowadays are light and fast, the initial amount needed for a reactive app in svelte is only 2kb
    Boosting initial load performance in exchange for slowing down everything else in the app really doesn't seem like a smart tradeoff to me, especially in an age where all frameworks focus on progressive enhancement and work before javascript is even loaded

    • @awesome-coding
      @awesome-coding  Рік тому

      This is a very interesting and legit point!

    • @shai_reznik
      @shai_reznik Рік тому +2

      That's actually a misconception about Qwik.
      Qwik doesn't lazy load on interaction, it only "lazy executes" the code because it get prefetched via a service worker on a separate thread into the cache.
      Qwik in dev mode is not using the service worker, so your experiment wasn't showcasing the real value of Qwik.
      Trying doing the same experiment by running "npm run preview"....
      Even better - try to compare downloading a SPA on a slow 3g network VS any other meta framework VS Qwik, for each of them add a simple input field that's bounded to a value that shows on screen.
      Then measure how much time each takes to become interactive (input value shown on screen)

  • @edwardspresume
    @edwardspresume Рік тому

    Let go Svelte!

  • @bijinregipanicker6916
    @bijinregipanicker6916 Рік тому

    Fresh or Lit or Qwik or Imba

  • @vinjung8482
    @vinjung8482 Рік тому +1

    htmX > React + Svelte + Qwik

    • @awesome-coding
      @awesome-coding  Рік тому

      I got you - ua-cam.com/video/huMTT5Pb8b8/v-deo.html

  • @tomasnevoral9246
    @tomasnevoral9246 Рік тому +1

    I don't think that qwik has virtual dom.

    • @awesome-coding
      @awesome-coding  Рік тому +1

      Hey - I'm pasting my answer form a different comment here:
      Indeed, I couldn't find anything in the docs regarding VDOM now, but I remember clearly a talk where Misko was mentioning it, and I can still find references to a Vdom in the code - github.com/BuilderIO/qwik/blob/main/packages/qwik/src/core/render/dom/render-dom.ts

  • @twd2
    @twd2 Рік тому

    Agreed!!!

  • @vladlazar94
    @vladlazar94 Рік тому

    The VDOM is not obsolete, since it’s the only runtime-only rendering mechanism compatible with declarative markup. The alternative is to generate granular DOM updating code on a component by component basis. This involves a fairly complex build step, which brings about a different set of tradeoffs. VDOM rendering still has its place - In fact, it minimises the bundle size at large app scale. The runtime performance penalty of VDOM rendering is also greatly alleviated by a more granular reactivity model that doesn’t re-render the whole component tree on every update.

    • @awesome-coding
      @awesome-coding  Рік тому

      Hey!
      Maybe we have a slightly different understanding of the VDOM? To me the VDOM is a 1 to 1 representation of the real DOM used for one purpose - dirty checking to see what needs to be updated in the DOM. Nothing more, nothing less.
      Solid has exactly the same declarative markup as React, but one uses the VDOM and one doesn't. The one that doesn't use the VDOM, while still providing the same DX performs better. Why would you need the VDOM then?
      Another example is Preact which introduced Signals based reactivity and rendering as an alternative to their own lightweight VDOM implementation.
      I remember reading (take this with a grain of salt) that Vue is exploring alternatives to the VDOM as well.
      Finally, as a counterargument to the complex build step as the alternative to the VDOM, here is a short video where I'm looking into a library doing granular reactive DOM updates in under 1kb of source code - ua-cam.com/video/Oh2IEVqarHs/v-deo.html

    • @vladlazar94
      @vladlazar94 Рік тому

      Solid does indeed enable the same declarative markup model without employing VDOM to update the DOM. It keeps the DOM in sync via code that is generated at build time. The framework reads the JSX code and produces objects that close over the signals present in scope, and subscribe to these. When a signal's value updates, this generated code runs and updates the dependant DOM. This is an alternative to VDOM rendering and shifts a substantial amount of the work to the compiler, resulting in a net runtime performance improvement.
      It's nonetheless important to understand that this is a (rather favorable) tradeoff, and not a case of a technology being superior to another in every respect and therefor superseding it. A compiler adds significant complexity to the toolchain as well as the mental model. For one, Solid, Svelte and Qwik change the semantics of JavaScript, by adding their own code via the compiler. Indeed, the same JavaScript can mean different things in these frameworks. This may be a reasonable tradeoff given the scale of your company.
      The strength of VDOM is that it can be pure JavaScript. VDOM is a library, not a compiler. You can adopt it without changes to the toolchain. The semantics of JavaScript remain unchanged. It's debuggable straight in the browser. That's why I'm saying that it isn't obsolete, but that it implies different tradeoffs.

  • @juannicolai8771
    @juannicolai8771 Рік тому

    The answer is Svelte

  • @naranyala_dev
    @naranyala_dev Рік тому

    "The New Wave"
    In the next 10 years there will be the new wave as well

  • @AnassSanba-f5d
    @AnassSanba-f5d Рік тому

    Astro ❤️🗿

  • @benwyse
    @benwyse Рік тому

    I don't think that you went through a Qwik tutorial before making this comparison. You just absorbed some rumors on UA-cam about Qwik and made up your opinion.
    You are complaining about QRLs. You don't have to deal with them. It's a transparent internal mechanism. Therefore creating components in Qwik is barely different than doing so in React.
    Your take on reactivity and dev experience is completely subjective. You have no basis for what you are saying.

    • @awesome-coding
      @awesome-coding  Рік тому +1

      Hey!
      I actually spent some time working with Qwik - also obvious by the fact that I have multiple video about it on the channel. QRLs are not hidden at all - I had issues with registering event listeners outside JSX because of QRLs, and I ended up on their discord just because of that. You can't say they are a transparent / internal mechanism when you are forced to wrap event listeners in them to make things work. It is not my intention to bash Qwik, but on the contrary.
      Dev experience is subjective, and I stated that in the video as well.

    • @benwyse
      @benwyse Рік тому

      @@awesome-coding! I get it. Thanks for sharing your take!

  • @dz4va
    @dz4va Рік тому

    Something happens to me when I hear the word ZVELTE

  • @OM-bs7of
    @OM-bs7of Рік тому

    Best option? That would be Angular. *Waits for angry comments*

  • @brencancer
    @brencancer Рік тому

    fresh

  • @greendsnow
    @greendsnow Рік тому

    Svelte is not a framework, it's JS superset

    • @awesome-coding
      @awesome-coding  Рік тому +1

      "We're proud that Svelte was recently voted the most admired JS web FRAMEWORK in one industry survey while drawing the most interest in learning it in two others."
      Guess where did I took this from?

  • @midlFidl
    @midlFidl Рік тому

    Why are signals "good enough"?

    • @awesome-coding
      @awesome-coding  Рік тому

      They are good enough compared to Svelte's reactivity which "just works". Compare let x = 0 to let x = useSignal(0). Which one is cleaner?

  • @namaefumei
    @namaefumei Рік тому

    After after some time both solid and qwik is gonna be as bloated as react. Svelte is gonna be more complicated as well but that's just inevitable. Being close to vanilla and just looking better.

    • @awesome-coding
      @awesome-coding  Рік тому

      That's true... software is always becoming more complex.

  • @s4ndeep1203
    @s4ndeep1203 Рік тому +1

    Pick Vue

    • @awesome-coding
      @awesome-coding  Рік тому

      I think Vue has the biggest fan community in the comments. No joke - you guys are on each and everyone of my videos.

  • @moumous87
    @moumous87 Рік тому

    Easy, they should choose HTMX

  • @TechBuddy_
    @TechBuddy_ Рік тому +2

    It doesn't matter. These comparisons are pointless. Learn everything you can. These are just tools and you should have as many of them as possible to solve any problem you encounter.
    In the end dx and the adoption matter the most but none of these have any presence in the market. As far as companies are concerned there are only two frameworks angular and react thats it
    Edit: As far as usage is concerned
    React is like 5 times more popular than angular and vue
    Angular and vue are tied
    Svelte is 1/10 th the usage of angular and vue or put another way react has 50 times more adoption than svelte
    And nobody uses solid or qwik

    • @awesome-coding
      @awesome-coding  Рік тому

      I know a few companies which work with Vue (I'm part of one for instance), but Angular and React ar for certain the "safe" bets.
      I also believe we should learn everything we can, but also people love comparison videos, so don't judge me for that :))

    • @TechBuddy_
      @TechBuddy_ Рік тому

      ​@@awesome-codinglol people do love comparison 😂
      I use sveltekit at my company too but we are the exception and all this wouldn't even matter after ai takes over our jobs anyway 🤣

    • @awesome-coding
      @awesome-coding  Рік тому +3

      @@TechBuddy_ 2 more years... I'm telling you - I'm already looking for entry level construction jobs...

    • @TechBuddy_
      @TechBuddy_ Рік тому +1

      @@awesome-coding I think senior and or very talented devs ( I think I am one of them 😂 ) have like 2 years as you said but anybody else is going to be replaced the next second gpt 5 comes out.
      Btw find a construction job for me too. We will make UA-cam videos about that too "Awesome construction" lmfao 🤣

  • @jsonkody
    @jsonkody Рік тому

    seems biased against Qwik .. it doesnt have vdom etc. :/

    • @awesome-coding
      @awesome-coding  Рік тому

      :)) that wasn't my intention. You can check some of my other videos on the channel, where I'm focusing more on qwik and its benefits.

  • @PRATAPSINGHSHEKHAWAT
    @PRATAPSINGHSHEKHAWAT Рік тому +1

    DX matters, Qwik have best DX so far, clear winner Qwik.

    • @awesome-coding
      @awesome-coding  Рік тому

      DX is also very subjective. Thanks for the comment!

    • @PRATAPSINGHSHEKHAWAT
      @PRATAPSINGHSHEKHAWAT Рік тому +2

      @@awesome-coding
      Yes,
      In 1.2.6 Recently they have added jokes on cli.
      That's why qwik is better.

    • @awesome-coding
      @awesome-coding  Рік тому +1

      @@PRATAPSINGHSHEKHAWAT Well, I'm sold then! :D

  • @lucaslinhares4071
    @lucaslinhares4071 Рік тому +1

    Astro

  • @apathydriven
    @apathydriven Рік тому +1

    My man, please add some freshness to the content. Swap the music for something new, add new stock footage. The content itself is good, but It's getting really irritating and monotonous

  • @FalconTheFries
    @FalconTheFries Рік тому +5

    Now compare them with jQuery

  • @laughingvampire7555
    @laughingvampire7555 Рік тому

    Astro: am I joke to you

    • @awesome-coding
      @awesome-coding  Рік тому

      I'm actually counting Astro as a meta framework since you can use Solid , Svelte and Qwick TOGETHER in an Astro project, but it doesn't work the other way around.
      I am a big big fan of Astro - just check out some of the videos I posted on this subject :))

  • @allan_archie
    @allan_archie Рік тому

    I have a much simpler answer, for me it is and always will be - for the foreseeable future. Vue3 or Nuxt3.

    • @awesome-coding
      @awesome-coding  Рік тому +1

      I'm looking into nuxt these days - amazing stuff!

    • @SwoleDjoe
      @SwoleDjoe Рік тому

      @@awesome-codingplease do svelte/sveltekit vs vue/nuxt

  • @ThomazMartinez
    @ThomazMartinez Рік тому +1

    Solid is faster than Svelte so this goes to show me you have no idea what you talking about

  • @esiwk7
    @esiwk7 Рік тому

    I am removing legacy made by asp. My choice is sveltekit. So very wonderful, nice, beyond description. I am falling in love sveltekit

  • @chisangamumba2961
    @chisangamumba2961 Рік тому

    Just learn Angular, React, and Vue. Those are enough. Don't jump on top every Flavour of the Month "Framework" that comes along. When will Devs learn? 🤦‍♂️

  • @classicguy7813
    @classicguy7813 Місяць тому

    tired of svelte changes .. runes dollar sign routes, solid is better

  • @codewithmirko1651
    @codewithmirko1651 Рік тому

    None of them.. the ecosystem for those is small, job opportunities are even fewer... Just stick with react and next or angular or vue..all these new tools are cool but..a lot of buts.. 😂😂

  • @thepowerhat
    @thepowerhat Рік тому

    Vue+Nuxt, wtf

  • @putinninovacuna8976
    @putinninovacuna8976 8 місяців тому

    eww qwik is awfull just like react thats a no no i will pass to anything related to react

  • @janvarga7547
    @janvarga7547 Рік тому +1

    its only solid or qwik, cuz svelte suuuuuuuuckzs

    • @awesome-coding
      @awesome-coding  Рік тому

      Svelte is either the best thing that ever happened or the worst ever - there is no middle ground :))

    • @el.bromas
      @el.bromas Рік тому

      @janvarga Cry louder

    • @rnwonder107
      @rnwonder107 Рік тому

      @awesome-coding your bias for svelte is so lond.

    • @awesome-coding
      @awesome-coding  Рік тому

      @@rnwonder107 Interestingly enough, you'll see on my channel that I have more videos on Solid and Qwik than on Svelte. On top of that, I'm pushing a lot the Astro + Solid stack, so I'm not sure I have a bias for svelte, but anything is possible 😅

    • @rnwonder107
      @rnwonder107 Рік тому

      @@awesome-coding its very clear in your video and your replies here. You can have 5 million videos on solidjs and qwik doesn't in anyway proves otherwise. Bias can be picked up in a day. And yours was clearly all over the place and even on this comment 😂.

  • @ibrahimmohammed3484
    @ibrahimmohammed3484 Рік тому

    resumeability is just a gimmick which not really that much useful, lazy loading components is enough optimization

  • @Kats0unam1
    @Kats0unam1 Рік тому

    Unless you are a monkey, React obviously.

    • @awesome-coding
      @awesome-coding  Рік тому +1

      I am a monkey then! 😅

    • @Kats0unam1
      @Kats0unam1 Рік тому

      @@awesome-coding I mean, sure. Im sorry but recommending Qwik or Solid and not recommending React in 2023 to actual land a job and not do some side project that nobody gives a F, is a monkey thing. I would argue Vue would even be better to pick up than Svelte for actual job market. And I like Svelte, but i see nothing in the current market world where I should pick Solid or Qwik over React. Im not trying to be Theo here, im actually against 90% of his takes, but React is your best bet to land a job and everyone knows this.

    • @rnwonder107
      @rnwonder107 Рік тому

      No one is arguing that point with you. This just shows you missed the whole point of the video. No where was it mentioned in the video to dump react and use one of these. So your rant isn't needed here at all 😂

  • @QueeeeenZ
    @QueeeeenZ Рік тому

    Zvelte..... 😂

    • @awesome-coding
      @awesome-coding  Рік тому

      Oh c'mon :)) I tried to do it better this time 😅

    • @QueeeeenZ
      @QueeeeenZ Рік тому

      @@awesome-coding Zvelte, Zolid, ZSS 😂

  • @trippybooth
    @trippybooth Рік тому

    Sveltekit > Qwik

    • @ivanh1821
      @ivanh1821 Рік тому

      Bundle size with 80 components:
      Qwik 10kb
      Vue 104kb
      Solid 104kb
      React 134kb
      Svelte 150kb

    • @awesome-coding
      @awesome-coding  Рік тому

      @ivanh1821 - do you have a source for these metrics? Thanks!

    • @ivanh1821
      @ivanh1821 Рік тому

      @@awesome-coding Sure, ua-cam.com/video/4kRFgBC6lJU/v-deo.html

    • @awesome-coding
      @awesome-coding  Рік тому

      @@ivanh1821 Thanks so much!

  • @ooyey
    @ooyey Рік тому

    next/svelte/qwik/solid/astro/lit !!

  • @sootguy
    @sootguy Рік тому

    svelte is fun to use and easy 🤌🏼
    sveltekit is master piece