This is one of the best 20 minute tutorials I’ve ever watched. 👏🏻 Ben, your format, production, depth of knowledge, ability to articulate that knowledge, and humor created a masterpiece. 🎉 I had no interest in ever learning how to do this. As a front of the front end recovering React developer my interest in this subject was low coming in. You magically peaked my interest, keep me engaged, and - to my absolute shock - I understood everything… including the webpack monkey patch. 😅
Wow this was an incredible explanation. Of all the videos and posts I’ve seen about RSC, this is the ONLY ONE THAT ACTUALLY MAKES SENSE and explains how things really work under the hood. Well done
If all you need is server side rendering, then Laravel Livewire would get you there without all the extra plumbing. However if your use case requires server side rendering and then intricate client side logic as well, then this approach is perfecto.
@@armchair-architect Absolutely. Most projects I work on happen to require a dynamic frontend somewhere in the app. And though web components are a pretty good solution, react server components + react client side components + a solid backend stack is the move.
Men, first this format is really cool. Nice to see you on a setup different than from your YT shorts. Second that explanation was just awesome ! Thank you !
Ben, I'm amazed by the level of knowledge and expertise that you have it's amazing. Thanks for sharing this and I love it please keep sharing your knowledge
I’m enjoying following your journey Ben, I keep ending up at the places you’ve been solving - 11ty islanding, then fed up with 11ty dev experience, I’ve been looking to make a JAM stack site boilerplate with static server component islanding, and this vid did half the work for me. ❤❤
Awesome explanation. Stuff like this will hopefully help more people understand which parts of server components actually are just react and which are nextjs magic :)
What a video! Question: I have an async data fetching RSC. When my application builds, a static page is rendered with the HTML rendering the data from the data fetch. Correct so far? Now when a user say navigates to my application site, I need that component to render with fresh data. How will that currently static page know to re-render with fresh data? I can't imagine everything needs to be marked "force dynamic", at least in nextjs. I may still be missing a concept around this. Thanks again for a great video.
Hey thanks Noah! Yes, page re-rendering is an interesting concept we didn't cover in the video. Next.js has special automations for caching static vs. dynamic data. My understanding is: - if a component is *only* used for static content, it's render to HTML at build time as you described. - if that component is then used to re-render content dynamically, that component now ships as a Javacript endpoint. Next.js smartly decides when this switch happens. Hope that helps!
That does help. I think this video offered great clarity into RSC implementation but the NextJs abstractions seem to muddy that up a bit. Anyways, thanks for responding. Look forward to more content.@@bholmesdev
Nice video! Do you know how we can make the default 30second (client side cache)/(router cache) for server components in Nextjs to 0 seconds? Its kinda impossible to get the latest data in SRC on subnavigation (clicking on component). Maybe create a PR for Nextjs about this issue :)
How its could works loading a millions of records on streaming and looking every single day this react technology becomes more complex instead of easy to dev. Every React project is a very complicated environment that is worked on by other developers.
Ah, good observation! SSR is a separate step that we *can* add so the user sees an initial view while the rest of the page streams down. I reached out to the React team about this and got a pretty minimal example if you're curious: github.com/mattcarrollcode/react-serving-patterns/tree/main/ssr-and-rsc
Admittedly no, they are very different approaches to rerendering server content. RSCs send a format from the server that isn't _quite_ HTML, so HTMX couldn't process it
I'm using VS Code snippets I wrote myself! Intended to make the video run smoother, but you can use them yourself by cloning github.com/bholmesdev/simple-rsc
Understood! Kinda expect coders to pause. It's a delicate balance between tight explanations and typing every thing. If you clone github.com/bholmesdev/simple-rsc and open in VS Code, all the snippets are there. Just empty out `server.js` and get going.
One of the best RSC videos I've seen so far
You meant the best though right?
This is one of the best 20 minute tutorials I’ve ever watched. 👏🏻
Ben, your format, production, depth of knowledge, ability to articulate that knowledge, and humor created a masterpiece. 🎉
I had no interest in ever learning how to do this. As a front of the front end recovering React developer my interest in this subject was low coming in. You magically peaked my interest, keep me engaged, and - to my absolute shock - I understood everything… including the webpack monkey patch. 😅
Appreciate that so much! Glad it all clicked for you 🙌
I think Ben just did a better job explaining RSC's in 20 minutes than the entire industry in the last 2 years 😅
Wow this was an incredible explanation. Of all the videos and posts I’ve seen about RSC, this is the ONLY ONE THAT ACTUALLY MAKES SENSE and explains how things really work under the hood. Well done
So cool, I also had an idea that RSC looks a lot like PHP, and you confirmed it!
This is awesome. So concise, fun and without unnecessary info. Please do more! 👏
Dang, I will just say ‘underrated video for devs’, great video Ben
With this depth of knowledge and the ability to code it as well, you can very well be a core React team member. Great work bro !
This is awesome! Can't wait for every ecosystem ( go, laravel, rust etc ) to add react server components to their frameworks.
If all you need is server side rendering, then Laravel Livewire would get you there without all the extra plumbing. However if your use case requires server side rendering and then intricate client side logic as well, then this approach is perfecto.
Never though about using React server components outside JS
@@armchair-architect Absolutely. Most projects I work on happen to require a dynamic frontend somewhere in the app. And though web components are a pretty good solution, react server components + react client side components + a solid backend stack is the move.
Great job Ben ... very interest to understand the magic behind these frameworks!!
I dont know half the things you just did, but this was super fun to watch😅. I'm gonna go watch more of your videos
Haha, glad I could be some nerd entertainment for you! Feel the same watching LowLevelLearning explain C 😅
Half of the video kinda hurt my brain. Great video Ben! Thank you!
Men, first this format is really cool. Nice to see you on a setup different than from your YT shorts. Second that explanation was just awesome ! Thank you !
I want you as president of the whole world.
I think it's impossible to be more clear. Thanks!
And thanks to Sebastian for sharing your video.
Ben, I'm amazed by the level of knowledge and expertise that you have it's amazing. Thanks for sharing this and I love it please keep sharing your knowledge
Appreciate that so much! Will do ❤️
Instant subscribe within the first minute. Love the energy!
Amazing! You do make RSC look simple, and definitely understandable 👏🏼
I’m enjoying following your journey Ben, I keep ending up at the places you’ve been solving - 11ty islanding, then fed up with 11ty dev experience, I’ve been looking to make a JAM stack site boilerplate with static server component islanding, and this vid did half the work for me. ❤❤
Awesome explanation. Stuff like this will hopefully help more people understand which parts of server components actually are just react and which are nextjs magic :)
Woow, Absolutely the best SSR tuto explanation !
good one ben, and thanks for ur explanation in less than 20mins
Thanks! Short explainers are my specialty :)
Only a few minutes in and became an instant subscribe. So few videos are this clearly explained! Thank you.
At any point when watching this or writing this, did anyone stop to say "Wait.. this is too complex, perhaps we shouldn't be doing this"
stfu it ain't that complex
Great video, and also nice teaser for the 4h stream that I want to watch now 😄
You're incredible dude, this was excellent!
Thank you Mr. Horse! ❤
This a great presentation style. Appreciate the energy.
Bruh. This is the best react related video ever
Would love to see more like this on things like hydration and react query.
What are those guys doing with suspense, hydration and RSC?
Dan Abramov will write a Novel explaining this (also other Reat devs). You are the best!
i believe this video is inspired by dan's post from last June of the same name github /reactwg/server-components/discussions/5
my brain got grilled a couple of times during this, but it was worth it
the fact that you did this in 19 mins is CRAZY
common whiteboard man win
Damn, you're really good.
It was awesome.
Am a vue but my goodness this was great. It even clicked why this would be beneficial for react native
amazing work. Thank for helping of you.
Yessss! This is what I needed. Thanks man!
This video is amazing!!!! Thanks Ben.
This is amazing. Have you tried implementing server actions?
Wow. I am stunned
This was effing wild! damn lol
bro all this in 20 min 😮 🔥
Amazing video! Very thorough, I also like to use hono, however I couldn't help but wonder what shell prompt you're using
Ah thanks! And I'm using oh-my-zsh with spaceship prompt github.com/spaceship-prompt/spaceship-prompt
Amazing video! Thanks
What a video! Question: I have an async data fetching RSC. When my application builds, a static page is rendered with the HTML rendering the data from the data fetch. Correct so far? Now when a user say navigates to my application site, I need that component to render with fresh data. How will that currently static page know to re-render with fresh data? I can't imagine everything needs to be marked "force dynamic", at least in nextjs. I may still be missing a concept around this. Thanks again for a great video.
Hey thanks Noah! Yes, page re-rendering is an interesting concept we didn't cover in the video. Next.js has special automations for caching static vs. dynamic data. My understanding is:
- if a component is *only* used for static content, it's render to HTML at build time as you described.
- if that component is then used to re-render content dynamically, that component now ships as a Javacript endpoint. Next.js smartly decides when this switch happens.
Hope that helps!
That does help. I think this video offered great clarity into RSC implementation but the NextJs abstractions seem to muddy that up a bit. Anyways, thanks for responding. Look forward to more content.@@bholmesdev
Wow this is awesome ❤️
Amazing video Ben!
Hey! thanks for the video. Did you create those snippets or are you using an extension?
My man built Next in 20 mins.
This is amazing 👏
Incredible tutorial
Amazing content mate! Keep it up!
Amazing!
It blows my mind man😂
Hey Ben, this is so easy and still detailed. But...
If you are not returning HTML, how does crawlers figure out the SEO??
You make easy to understand thanks
Great content man! Subscribed
Damn this is a super nice video, keep up the content
Great video! Thank you.
Where is the W3C RFC on this proprietary format React is using here?
impressive knowledge display.
Nice explanation, nice video. Thanks!
I'd better stick to PHP instead of this much dark magic 😬
cool way to use snippet
this video is cracked
u are so underrated
ohh damn, hot clip by Ben after a long time. RSCs for the win
Nice video! Do you know how we can make the default 30second (client side cache)/(router cache) for server components in Nextjs to 0 seconds? Its kinda impossible to get the latest data in SRC on subnavigation (clicking on component). Maybe create a PR for Nextjs about this issue :)
Yeah, I generally just... don't like NextJS' aggressive caching strategy. Hoping they make caching a manual opt-in instead of an invisible default
Whats your preferred JS Framework/Library?@@bholmesdev
Let's gooooooo
well done, really interesting.
Great tutorial! What browser are you using?
arc.net !
Can you please guide me how to convert existing large react app to server side?
Fantastic
Wow Man! 😮
Cool
How its could works loading a millions of records on streaming and looking every single day this react technology becomes more complex instead of easy to dev. Every React project is a very complicated environment that is worked on by other developers.
Wow!
so RSC is not doing SSR?
Ah, good observation! SSR is a separate step that we *can* add so the user sees an initial view while the rest of the page streams down. I reached out to the React team about this and got a pretty minimal example if you're curious: github.com/mattcarrollcode/react-serving-patterns/tree/main/ssr-and-rsc
@@bholmesdev awesome thanks for reaching out to the team! appreciate it!
kudos!
❤❤❤
I'm so lost. How do you center a div??
sir this is a wendy's
Web dev 2024 is fked up. Can we please make this 100x more complicated and if we want to add auth 100x more complicated? That would be epic 🤓
Can one use rsc with htmx?
Admittedly no, they are very different approaches to rerendering server content. RSCs send a format from the server that isn't _quite_ HTML, so HTMX couldn't process it
Bro coded up nextjs in 20 minutes
Amazing work ben!
What's the extension doing the auto complete?
I'm using VS Code snippets I wrote myself! Intended to make the video run smoother, but you can use them yourself by cloning github.com/bholmesdev/simple-rsc
I have try creating Htmx server component with Elysia :D
Wow
Dude, I can't code along without pausing, because you're using a lot of snippets lol
Share them please!
Understood! Kinda expect coders to pause. It's a delicate balance between tight explanations and typing every thing. If you clone github.com/bholmesdev/simple-rsc and open in VS Code, all the snippets are there. Just empty out `server.js` and get going.
@@bholmesdev Thank you, Ben!
it's amazing how i get 420 errors while trying to do this by my own, i wonder if others have faced the same
How old are you?
This is what the company I'm in did, 7 years ago.. and were still maintaining this proprietary piece of sh.. code to this day (it's horrible)
Spotifn't haha
A lot of config things to set a simple list :'(
why cant you simply first explain the "WHY" ?
please fix nextjs
We did! astro.build ;)
G
Woah what a new Ben video that's more than 2 minutes??
Amazing!