@@bronzekoala9141 whole angular ecosystem is unnecessarily complicated and thats why nobody wants to work in this framework lmao, atleast angular devs are making bank lmao
Honestly, I think React is just a good example for how swathes of the dev community have become slowly boiled frogs. Like what kind of unpaid intern at Facebook thought HTML syntax in the middle of javascript code was a good idea?? I mean, I've been out of the loop for frontend for a few years and came back to shit like that. Looked at what's hot and p much the only thing that didn't make me want to chug up my coffee like i'm a pressure washer was svelte... Everything else just looks like people threw together "what we learned not to do" examples..
Comic Sans MS is a proprietary typeface owned by Microsoft and requires a license for commercial use. It is pre-installed on Windows and macOS but not on Android, iOS or Linux.
ever since i started using Svelte, man nothing else can beat its simple way of solving annoying repoetitive things when building websites, add on that speed and the fact that it's JS inside HTML, super sweet
Imagine writing JSX/TSX thinking it's a smooth experience and being one of those that picked "heard about it, not interested" for Svelte/SvelteKit in the StateOfJs annual survey. Rich Harris just understands not only what the user experience should be like but the developer experience should be like to. Great video. Thanks to both of you
That part is so true 19:36. I've had a hard time integrating third party libraries in other frameworks especially in Next.js. But it was so easy and straightforward in SvelteKit. SvelteKit is just an amazingly easy framework and I really really like that.
The best feature is definitely the {#await} keyword. You can start a call, assign the promise somewhere, and have the UI automatically handle all possible states of the promise in a declarative way.
Bad that you didn't touch Svelte Stores and transitions. For me, they're the best Svelte features. Stores especially, because they finally nail the global state part. And it does it so well that I started to think why the hell stores in React had to be so absurdly complex
Stores are definitely one of my favorite features too! The only things that have come close are Zustand and Pinia, both really good options but neither of which gives quite the same feeling of simplicity and elegance as Svelte stores. I've never had so little trouble making as many stores as I wanted, each being easily customizable to any degree, and then having everything just plain work even though I had just learned it all ! Svelte still strikes me as something truly special in a field crowded with options.
I've used Svelte daily for over a year and I still love it. Extremely minimal and straightforward. Stores are great. Docs are great. My hardest challenge was using the backend as a rest api as a internal database for forms but once I figured that out theres really nothing it can't do so far.
I loved Rich Harris for his philosophy and approach to svelte and sveltekit but this is the first time I’m hearing and seeing him. Now I’m even more impressed. His humility is fantastic to see.
The "You pee outside" got me! Props to you this was aawesome to watch! I constantly imagined this would be me during my technical Interview having to laugh all the time 😂
Been running SvelteKit in prod since the early beta. Dealing with the breaking changes as it matured to full release was well worth it, and I would gladly make that same choice again.
If you're new to Svelte and/or coming from React, this video is literally a complete tutorial and also entertaining with actual questions that you might have Wow. You don't need to go anywhere else. I think it was more accurate to rename the title to "Svelte" instead of "SvelteKit" cause it doesn't really teach about SvelteKit or the concept of layouts, routes, and adapters.
you know - I love understanding the ins and outs of stuff - great video - I just love to understand how things work - sooooo listening to rich talking about the actual coding that he and a group have done......wow --- thanks alot guys
I was just doing the svelte tutorial yesterday myself, and the error making it lose focus drove me nuts too. Other than that, it does seem like a nice introduction to Svelte. Edit: Also, what I think Rich Harris meant at 47:16 is that you could just have done: $: validated = name == "Hello world"; and it'd have worked
watching this in 2024 after Svelte 5 entered release candidates stage. At 35:25 ThePrimeagen complains about not being able to mutate objects and just letting the garbage collector run wild and I'm thinking that he would be really happy to know that, in Svelte 5, state will be fully deeply reactive with mutations, not only assignments.
What you said about halfway, about Rust standard library types implementing your own traits but only when you import it, is also how it works in Kotlin (extension functions). For example, in Android you can import an extension function on the base "Int" type for sizing (using px or dp or whatever unit), so you can write things like 23.dp.
What Rich meant for the validated function was: $: validated = name === 'hello world' and then in the template part you could simply have {#if validated}
The funniest thing to me is that all the concepts Prime reacts "wow!!" to, aren't all particularly new and most got introduced by Angular long time ago which is considered to be hated out of this world by the same people :D
On the little intermission about rust traits: that's just syntax sugar for function overloads on return types. Julia, Haskell and many other functional languages allow you to define custom operators on types to do the same thing, or even just using functions, there's nothing special about the dot operator. For some reason rust takes this roundabout overly explicit road just to do function overload on return types.
Great conversation, especially the part where you broke the New York Times paywall It's just a shame you didn't get to address stores and transitions/animations during the conversation, they are in my opinion the best part of Svelte (some frameworks even have apis for state management but none using an open contract approach like Svelte)
Unlike most people here i am a pretty new programmer. Ive written a few things and the Ecom site for my own business but that is about it. The tutorial and this video was well thought out enough even I got it...mostly. My Thanks gentlemen
Talking about the rust part. Just because I'm interested in learning rust, when he shows the contains_range method, isn't it the same as c# extension methods? The difference being that it's scoped to that file though, like he mentioned. Oh yeah i just saw it's called extension traits (i know that rust has other stuff other than just that, too)
48:10 it feels like using a function here is sub-optimal, because it's going to re-render the block on every name change, whereas we only need to re-render on validation result change `$: validated = name == "whatever" // this reacts to the name changes ... {#if validated} // this reacts to the validation result changes`
You can tell whoever coded this demo app did it in a Windows centric (Comic sans) and Chrome centric way (I wouldn't be surprised that all the issue Primagen found go away if you use Chrome).
My only question to svelte is - does it have any limitations? Is there anything that we can build with react/angular/vue, that wouldn't be able to build with svelte?
Not with the purely view related part. So svelte vs react you would be able to build the same things, because they fill the same gap: reactivity between JS and the DOM it's all they do. It's a different story for SveleKit and Next. Next might be more advanced
One thing I REALLY love in Svelte, is two-way data binding. This is something that Vue takes a really strong stance on, not allowing it - which has been a huge source of frustration for me, because it means you have to use a store or something, which actually complicates your code. Sometimes components are meant to work together as part of a single system, where two-way data binding makes much more sense. The fact that Svelte supports this, meant I moved away from Vue entirely.
pretty much, Prime knows a lot about the things he uses but he doesn't know a lot about the whole landscape (which is fair, it's a lot of stuff and you only spend your energy on what you need to care about or are interested in). But it isn't unique to Rust
Can’t you do the same thing in Python? Aren’t you able to add any attribute to a type by creating your own object of a that type then defining default attributes to be a part of your new class Object?
@@IStMl You could run Python in client browsers in Pyjamas and such, but the point of these frameworks is dynamic updates. Add a product to the cart and have some new component light up without messing with the cart code.
So does this mean that you can only have a max of 64 reactive values/statements per component since he mentioned they map a reactive value using a bitmask?
Should you ever be able to get Svelte propperly running in Vim, please make a tutorial. Your "0 to LSP" Video was one of the reasons, why I started to work with Vim (I'm using NvChad at the moment) Got Svelte set up far enough, so that all the highlighting works propperly, but the Intellisense is mostly broken. VSCode and PHPStorm/WebStorm are fine but it just does not feel the same, even with their respective Vim-Plugin installed. 😥
I also followed his 0 to LSP, then tried switching to NVChad but I was already used to the defaults and NVChad changes so much it pissed me off. So I'm back to Prime's config 😂
@@bfkgod Yea, had a similar experience with NVChad. Now I'm using my own config system, since I still know a little bit of Lua. Feels good. Even the TS / Svelte LSP works correct now.
@@Mankepankeindeed... It's not even XSS if there's no server spreading the code to other users, this is just a sandbox code container that exists for only your session
After You try Svelte, it's so hard to go back to React.......and it's not even all the big things, but even the small ones, like the one that You don't need to wrap jsx in "Fragments" if needed, css scoped to component, prop with default value is automatically "or undefined" ...all these small things gathered togethere just make it absolutely amazing experience. @ThePrimeTime why not putting this on Your main account ? :) Spread the Svelte Love!
"What is the best way to learn Svelte?"
"Learn React first - it'll be a great motivator"
haha, great line
Or Angular.... I like Angular but some obvious things are so unnecessarily complicated....
@@bronzekoala9141 whole angular ecosystem is unnecessarily complicated and thats why nobody wants to work in this framework lmao, atleast angular devs are making bank lmao
@@JEsterCW Well - I am one now 😂 although I'd rather have my company use svelte. But it's fine I'll get used to it.
Honestly, I think React is just a good example for how swathes of the dev community have become slowly boiled frogs. Like what kind of unpaid intern at Facebook thought HTML syntax in the middle of javascript code was a good idea?? I mean, I've been out of the loop for frontend for a few years and came back to shit like that. Looked at what's hot and p much the only thing that didn't make me want to chug up my coffee like i'm a pressure washer was svelte... Everything else just looks like people threw together "what we learned not to do" examples..
I like the fact that Rich Harris does not pretend to know everything especially even things he has made himself lmao
It's called maturity.
he's not pretending or humble. he just works with a lot of code. too much for any one person to memorize.
You can't remember everything either
pretty sure he was referring to the inner workings of the tutorial "framework" - much of which he did not personally author
@@wadecodez plenty of people out there who will not admit that they don't know/ remember something. I give him a bit of credit
"ThePrimeagen teaches Rich Harris Rust"
Rich Harris is the man! So glad you guys did this.
Comic Sans MS is a proprietary typeface owned by Microsoft and requires a license for commercial use. It is pre-installed on Windows and macOS but not on Android, iOS or Linux.
ever since i started using Svelte, man nothing else can beat its simple way of solving annoying repoetitive things when building websites, add on that speed and the fact that it's JS inside HTML, super sweet
Imagine writing JSX/TSX thinking it's a smooth experience and being one of those that picked "heard about it, not interested" for Svelte/SvelteKit in the StateOfJs annual survey.
Rich Harris just understands not only what the user experience should be like but the developer experience should be like to.
Great video. Thanks to both of you
JSX is superior DX to svelte
@@ts8960absolutely not.
@@ts8960 are you drunk
That part is so true 19:36. I've had a hard time integrating third party libraries in other frameworks especially in Next.js. But it was so easy and straightforward in SvelteKit. SvelteKit is just an amazingly easy framework and I really really like that.
The best feature is definitely the {#await} keyword. You can start a call, assign the promise somewhere, and have the UI automatically handle all possible states of the promise in a declarative way.
Bad that you didn't touch Svelte Stores and transitions. For me, they're the best Svelte features.
Stores especially, because they finally nail the global state part. And it does it so well that I started to think why the hell stores in React had to be so absurdly complex
Exactly what I was thinking!
Same. Transitions were enough for me, store is so insanely useful. Wonderful features.
Stores are definitely one of my favorite features too! The only things that have come close are Zustand and Pinia, both really good options but neither of which gives quite the same feeling of simplicity and elegance as Svelte stores. I've never had so little trouble making as many stores as I wanted, each being easily customizable to any degree, and then having everything just plain work even though I had just learned it all ! Svelte still strikes me as something truly special in a field crowded with options.
Stores nail state management like jQuery nails the DOM.
Stores in react are so absurdly verbose that they may cost you a job.
Earned my like after just hanging out by the fireplace together! Amazing vids, Primeagen!
I've used Svelte daily for over a year and I still love it. Extremely minimal and straightforward. Stores are great. Docs are great. My hardest challenge was using the backend as a rest api as a internal database for forms but once I figured that out theres really nothing it can't do so far.
I loved Rich Harris for his philosophy and approach to svelte and sveltekit but this is the first time I’m hearing and seeing him. Now I’m even more impressed. His humility is fantastic to see.
3:30
Harris: I don't love doing it in front of an audience of 800 people
The people: 54k
gotem
Rich is awesome. Love watching his interviews.
The Rick Roll Part😂
i got owned so hard
The "You pee outside" got me!
Props to you this was aawesome to watch! I constantly imagined this would be me during my technical Interview having to laugh all the time 😂
that is good! want to make sure people feel amazing
The smell is awesome after a month
Rich Harris is amazing. Insanely smart but more importantly -- relatable and humble.
Svelte doesn’t get the love it deserves
it slowly does
It will one day, the way React & other frameworks are progressing. Future seems bright for Svelte.
Been running SvelteKit in prod since the early beta. Dealing with the breaking changes as it matured to full release was well worth it, and I would gladly make that same choice again.
If you're new to Svelte and/or coming from React, this video is literally a complete tutorial and also entertaining with actual questions that you might have Wow. You don't need to go anywhere else. I think it was more accurate to rename the title to "Svelte" instead of "SvelteKit" cause it doesn't really teach about SvelteKit or the concept of layouts, routes, and adapters.
Rich Harris has a great deal of patience 🙄
I'm glad they did that stream. Rich Harris seems like a cool guy and this video with feedback from ThePrimeagen would help improve Svelte more.
you know - I love understanding the ins and outs of stuff - great video - I just love to understand how things work - sooooo listening to rich talking about the actual coding that he and a group have done......wow --- thanks alot guys
I was just doing the svelte tutorial yesterday myself, and the error making it lose focus drove me nuts too. Other than that, it does seem like a nice introduction to Svelte.
Edit:
Also, what I think Rich Harris meant at 47:16 is that you could just have done:
$: validated = name == "Hello world";
and it'd have worked
yeah! it was very fun!
Him: React is not a framework its a library
Rich: Thats absurd 😂😂
Rich is 100% correct
I love that I stumbled across this video as im about to start learning Svelte. No better way to start than right here :D thanks for the video
watching this in 2024 after Svelte 5 entered release candidates stage. At 35:25 ThePrimeagen complains about not being able to mutate objects and just letting the garbage collector run wild and I'm thinking that he would be really happy to know that, in Svelte 5, state will be fully deeply reactive with mutations, not only assignments.
Bro the rust part 🤣🤣🤣🤣 Caught Rich completely off guard.
gotem
What you said about halfway, about Rust standard library types implementing your own traits but only when you import it, is also how it works in Kotlin (extension functions). For example, in Android you can import an extension function on the base "Int" type for sizing (using px or dp or whatever unit), so you can write things like 23.dp.
What Rich meant for the validated function was:
$: validated = name === 'hello world'
and then in the template part you could simply have
{#if validated}
Is it me or does Rich's accent get increasingly South London as he eases into the interview
we need a part 2 of this !!
I really enjoyed watching the face of Rich looking at Prime like :O the whole time. Like thinking, what's going to say this guy next? hahaha
Awesome video! Very entertaining. I love svelte and rust! It’s hard to decide between all front end frameworks available though.
Svelte seems amazing, so simple, so effective.
The funniest thing to me is that all the concepts Prime reacts "wow!!" to, aren't all particularly new and most got introduced by Angular long time ago which is considered to be hated out of this world by the same people :D
AngularJS?
framework/compiler i love the most past 4 years XD
On the little intermission about rust traits: that's just syntax sugar for function overloads on return types. Julia, Haskell and many other functional languages allow you to define custom operators on types to do the same thing, or even just using functions, there's nothing special about the dot operator. For some reason rust takes this roundabout overly explicit road just to do function overload on return types.
Great conversation, especially the part where you broke the New York Times paywall
It's just a shame you didn't get to address stores and transitions/animations during the conversation, they are in my opinion the best part of Svelte (some frameworks even have apis for state management but none using an open contract approach like Svelte)
Unlike most people here i am a pretty new programmer. Ive written a few things and the Ecom site for my own business but that is about it. The tutorial and this video was well thought out enough even I got it...mostly. My Thanks gentlemen
:)
This is a good way to learn Svelte.
No bs, straight to the point.
This was more of a Svelte lesson and not SvelteKit, since there was no data loading or retrieval
This might be the best resource to learn svelte
Love the little rust section in the middle!
Talking about the rust part. Just because I'm interested in learning rust, when he shows the contains_range method, isn't it the same as c# extension methods? The difference being that it's scoped to that file though, like he mentioned.
Oh yeah i just saw it's called extension traits
(i know that rust has other stuff other than just that, too)
7:14 - “did you really just do this to me?” 😂😂😂😂😂😂😂
29:35 So it's like extension of some sort(swift have those, for example), but just because it's in rust it's automatically magical?
This was a great video, love Svelte!
48:10 it feels like using a function here is sub-optimal, because it's going to re-render the block on every name change, whereas we only need to re-render on validation result change
`$: validated = name == "whatever" // this reacts to the name changes
...
{#if validated} // this reacts to the validation result changes`
29:17 this is cool and works in swift as well‼️
You can tell whoever coded this demo app did it in a Windows centric (Comic sans) and Chrome centric way (I wouldn't be surprised that all the issue Primagen found go away if you use Chrome).
Ah shit I’ve been wanting to learn Svelte(Kit) let’s go daddy
37:44 🤣🤣🤣 see that pain in the face ThePrim😂gen when Rich says he's a vs code user 😅
18:50 Prime suddenly reaching into Rich's rib cage sent me
man you youtubers are so lucky , you get to learn from who build sveltekit
My only question to svelte is - does it have any limitations? Is there anything that we can build with react/angular/vue, that wouldn't be able to build with svelte?
Not with the purely view related part. So svelte vs react you would be able to build the same things, because they fill the same gap: reactivity between JS and the DOM it's all they do.
It's a different story for SveleKit and Next. Next might be more advanced
Do how I access the requested URL in server components with the new app directory? I just can't figure it out!
Comic Sans MS on the discount Mac >_
Now I wanna write something in Svelte.
Reminds SwiftUI very much. I think will definitely try Svelte for front-end part
27:00 It's preaching time
this looks really like webcomponents, wondering is it using webcomponents underneath?
At 18:55 prime just casually reaches into rich's chest lol
To see if it was beating? If it was cold? Why?
One thing I REALLY love in Svelte, is two-way data binding. This is something that Vue takes a really strong stance on, not allowing it - which has been a huge source of frustration for me, because it means you have to use a store or something, which actually complicates your code.
Sometimes components are meant to work together as part of a single system, where two-way data binding makes much more sense.
The fact that Svelte supports this, meant I moved away from Vue entirely.
Is it different than v-model in Vue? It sounded exactly the same
is the rust thing at 30:51 the same as an extension method in C#?
pretty much, Prime knows a lot about the things he uses but he doesn't know a lot about the whole landscape (which is fair, it's a lot of stuff and you only spend your energy on what you need to care about or are interested in). But it isn't unique to Rust
which episode was it ? on twitch i mean . can someone share the link . the video quality here is horrible.
nvm . it is awesome on safari . for some reason....
It's not your browser, is that you were literally 1 minute after video was uploaded 🤣, RUclips can't process HD quality that quick .
@@eliasgill2453 ohhh hahahahhaa
my faulht :)
it's this btw www.twitch.tv/videos/1679778196?filter=archives&sort=time
where is the rest? I want the full tutorial! Did you boot Rich Harris?!? XD
Can’t you do the same thing in Python? Aren’t you able to add any attribute to a type by creating your own object of a that type then defining default attributes to be a part of your new class
Object?
hum maybe but what does it have to do with Svelte
@@IStMl You could run Python in client browsers in Pyjamas and such, but the point of these frameworks is dynamic updates. Add a product to the cart and have some new component light up without messing with the cart code.
This is great, Thank you!
49:26 could somebody please explain how does one write front end in Rust?
Wasm
So does this mean that you can only have a max of 64 reactive values/statements per component since he mentioned they map a reactive value using a bitmask?
They can easily have multiple bitmasks in an array
If you value your life learn svelte
If you want a job...
Just learn svelte, there are jobs for svelte and it also values your life
he just went full `if true else false`
Where’s the rest? :(
I tried svelte today and I loved it
Should you ever be able to get Svelte propperly running in Vim, please make a tutorial. Your "0 to LSP" Video was one of the reasons, why I started to work with Vim (I'm using NvChad at the moment)
Got Svelte set up far enough, so that all the highlighting works propperly, but the Intellisense is mostly broken.
VSCode and PHPStorm/WebStorm are fine but it just does not feel the same, even with their respective Vim-Plugin installed. 😥
I also followed his 0 to LSP, then tried switching to NVChad but I was already used to the defaults and NVChad changes so much it pissed me off. So I'm back to Prime's config 😂
@@bfkgod Yea, had a similar experience with NVChad. Now I'm using my own config system, since I still know a little bit of Lua. Feels good. Even the TS / Svelte LSP works correct now.
Theo still doesn’t know that Vue has used signals for years and has a very similar pattern with the composition API.
Oh man I love you both
For once, can someone name a library that can't be used with React out of the box? 19:40
You gotta try F# with don syme or something if u love Rust, F# is pretty close and cool :D greate stream tho
Did not see that rickroll coming
holy shit! i cant believe this is happening
I just fell in love with svelte.
I loved how The Primeagan tried to do an XSS attack LIVE LOL That would have been embarrassing.
Self-xss isn't hard or possible to stop, though. Also not dangerous
@@Mankepankeindeed... It's not even XSS if there's no server spreading the code to other users, this is just a sandbox code container that exists for only your session
Everyone got Rick Rolled lol
Svelte and SvelteKit are true gems
On Colon Click is Awesome
Im so upset there are no svelte jobs in my country, it seems like a step up from vue as far as dx goes.
Yes, indeed! And crearly Svelte took plenty of things from Vue, which ensured its good DX, and these guys took it even further :)
37:45 the funniest moment :#
I don't like when people mention their wealth before last name. That means I'm Poor Rootster... don't like it...😥. Great video 🥰
Wow ryan gosling is a programmer
I have a coder crush on this sesh
What the hell is that font? 😂😂😂
After You try Svelte, it's so hard to go back to React.......and it's not even all the big things, but even the small ones, like the one that You don't need to wrap jsx in "Fragments" if needed, css scoped to component, prop with default value is automatically "or undefined" ...all these small things gathered togethere just make it absolutely amazing experience. @ThePrimeTime why not putting this on Your main account ? :) Spread the Svelte Love!
this is one hell of an entertaining stream, chris taught the pimeagen svelte and somehow the stream turned into chris getting thought rust
so ruby rails in rust? wait is it backwards? what? Ima confused #juniorprogramer.. I cant spell, wont**
Funny reaction from Prime when Rich says React is a framework
Two poor fellas who got a new life:
labels in js
Enums in Rust
this seems much more sensical than react
What happen to the rest?