.NET 8 Blazor🔥All Render Modes (SSR, Server, WebAssembly, Auto) Explained for Beginners
ฝัง
- เผยแพร่เมื่อ 16 มิ.ย. 2024
- 🚀 Join the .NET Web Academy: dotnetwebacademy.teachable.com
➡️ Use code START2024 for 10% off!
🚀 Get the .NET 8 Web Dev Jump-Start Course for FREE: dotnet8.patrickgod.com
💖 Support me on Patreon for exclusive source code access: / _patrickgod
🐦 Let's get social on Twitter/X: / _patrickgod
🔗 Let's connect on LinkedIn: / patrickgod
Table of Contents:
00:00 Project Configuration & Blazor SSR (Static Server-Side Rendering)
05:05 Blazor Server Render Mode
08:26 Use Component instead of Page
11:44 Blazor WebAssembly Render Mode
20:26 Blazor Auto Render Mode
#DotNet #Blazor #AspNetCore
I really appreciate how you pull apart the default templates and show what actually matters. Thanks for that.
Definitely, the best video I have seen so far trying to explain and differentiate SSR, Server rendering, WebAssembly, and Auto rendering. Thank you, Patrick.
Starting from a project without interactivity and adding the pieces step by step really help to understand new blazor features. Good job!!
Great video. Thank you Patrick!
Great intro video, Thank you!! Saved my day.
Thanks a lot! I was confused about how this works now I'm getting because you!
Really helpful! Thank you!
Ironically perfect timing. I wanted to start explore htmx + Blazor SSR today and here is a brief introduction of render modes. Thanks 👍
Glad I could help!
Excellent video. Starting from the Interactive Render Mode: None template and adding everything in step by step to get all the way to Auto was extremely valuable to me. Thanks Patrick!
Great content! I had already learned most of what you shared but love that you put it all together!! And I was tempted to start with a SSR project and add the other items to convert to the other project types - so thank you for doing that and showing us the magic that occurs!! Great stuff and big fan of your content!!
good -- to understand how to convert my various render modes and related project(s) structure and dependencies.
Indeed it helped 🤩 Thanks
Very nice, the best explanation about how the rendering works, thanks for share Patrick!!
My pleasure! Glad you enjoyed it and thanks for your feedback!
This was the best one
I didnt know you could use forms in SSR, I would love a video on that
You are the best ❤
Thanks again for this Patrick. Would love to see a simple login flow with basic .net identity (with particular attention to how cookies or tokens would be persisted). Previously you had secure storage for server apps and browser storage for wasm apps. What would be the best implementation in this latest iteration of Blazor?
Great video
Really enjoy these short overviews. As I get deeper into Blazor with all the variations between server and client interactions, it's becoming apparent that there's a need to really spend the time and organize my code and structure so I can even find what I'm looking while building out an application. Time to step back and think more about such things as architecture, folder structures, naming conventions, etc. Hmm, sounds like a possible future video.
I loved this explanation! Now I know what VS does in the background when I choose the Blazor Web App template.
Would it be possible for you to teach us how to set up TailwindCSS in Blazor 8?
Really nice video and i learn and refresh a lot of knowledge here. I would like to see also how services works? Singleton, Scoped, etc when you are using different render modes.
Can you have a video for Services also as this video of how the lifetime of each service works depending on the render mode???
Great improvement from your previous videos on this topic, it is clearer now. I also want to ask, why in a real-world application would I want to have a Blazor Web App with the Interactivity Location set to "Per page/component" but not "Global"
These new render modes are very confusing. The example done in this video would have been a much better set-up for the boilerplate code to show the minimum required to get it working. Great video
In Blazor, the render in auto mode allows you to use both the server and WebAssembly. Therefore, the purpose of this mode would be to leverage the server for the initial load, thus avoiding the WASM problem on other pages. Additionally, you can use the server on specific pages if necessary. I am right?
What I'm observing is that the WASM module is completely lazy, and only downloads if you touch a route it serves. So if a user doesn't have certain roles then he'll be spared that background download. That's the holy grail for performance and security -- it's safe to include admin WASM module in your public site. Also, this is the first time I've seen a Program.cs executed in a project that isn't flagged for startup. Blows my mind!
Hi Patrick, very nice explanation!
I have one doubt, when is convenient to use old server mode over auto mode?
And how do you access data with a Web Assembly component when you need real data and not just a simple counter who doesn't need any call to your Blazor "server" project ? Because I've seen so much examples of the new render modes but no one is talking about how you retrieve real data when using a Web Assembly component. Do we need to create an API project just to manage some call which will only be used in Web Assembly render ?
Because the other day I was trying to create a controller API within the Blazor "Server" project to be accessible by the Web Assembly but it didn't work.
Is auto rendering mode can be use for manage the database? for instance if the connection is lost then we still can use 'local db' and after the connection established then we use the 'server db'? and how about synchronize the data between 'local db' and 'server db'? please advise...Thank you.
This sounds cool to be implemented. But will be hard to implement it.
Have you did that yet?
Great video! Thank you, Patrick. Can you do the Blazor together with TabBlazor template?
Great video!
A question I'm wondering about: How does it work with signal-R circuits if you land on a completely static page, and then go to an interactive component? How does scoped services work with this?
Nice video as usual Patrick! Now I come with a question: I have a Net 6 stack project with ASPNET Core as server and WebAssembly as client. In my client I have an appsettings that indicates the server address where the client has to connect to reach server. How to define the server endpoint with the new stack in Net 8 as of now in order to be able to deploy and use such a solution ported from net 6 to net 8 ? Any advice or a small video on that point please ? Thanks again and keep up the great work!
Great Tutorial. Patrick, could you make a tutorial about SEO with Blazor? Now with SSR, this is better.
nice... is auto the same as united?
okay then the practices is to put server interactivity in server project and wasm interactivity in client project ? or it can be live in one project whatever the rendermode ? what do you think the best ?
Hi, Good Video, Can i put @rendermode InteractiveWebAssembly in a page that is placed in server project, or i need put it neccesary in client project
thx ya..
btw i can't breakpoint/debug on ButtonClick when InteractiveWebAssembly mode
So if we use auto mode to read data from a database, do we have to create two interfaces, one for Server mode and one Wasm?
Nice video . How can i Used Server side like controller API on Blazor app with auto(server and webassembly) with individual account ? it is good because i can used authentication and authorization for API on Server side. Thanks
How we can host this new Balzor web app in azure?
my question is that no matter what the render mode is...page is not going make a server trip like old fashion asp...ami right?
Thank you so much.
What is the name of the community on twitter?
How does this affect MAUI Blazor Hybrid ?
Hello,
I still don't understand the practical used case of when Using WebAssembly or Server side render. Particularly when it comes to choose the blazor project in VS, we have too many choices. From which Blazor project to its Render mode.
How to choose according to the future app ?
Followed the tutorial, everything works on each step except that I don't see Wasm downloading
Hii , i want to understand which render mode we should use, because i am confused between interactive server mode or auto render mode...?
Any plz reply....
Hi @patrick i have a doubt regarding multiple openid implementing like login with google ,facebook and microsoft in blazor wasm alone without involving backend i have tried implementing seperately in three seperate wasm projects its works fine but i need all the there authentications in one wasm how to do that? please help.
Yo
HI Patrick do you have a plan for create a cource NET MAUI BLAZOR APP... mix both tecnology.?
when chose project Server The Button in Counter the @rendermode InteractiveServer is not Working !! the Breakpoint ALL Button Not Working
Hi , i like what you are doing ,
Please a i have a question ,
i have a APi that handle generating authentication with jwt access token , and all my logic is in this API , i want to use blazor as frontend with rendermodeAuto, how to use the JWT in this case?
for WASM si I have no probleme , but with Blazor RenderModeAutho i am lost
Thank you
Not sure if anyone has insight on this but I am making a Blazor wasm / server app that can work online and offline. I have a page in the client that I specify the render mode as InteractiveWebAssembly and when I go to the page none of the methods get called like if I click a button, nothing happens, breakpoints not hit etc.
But when I convert it to a component and specify the render mode on the component like then it works and methods are hit.
Anyone got any idea why that is?
If I have an InteractiveAuto component that retrieves some data from a database, we might do this directly when rendered on the server but via an API when rendered on the client. How do Blazor applications typically handle this? One thing you probably don't want to do is accidentally send your data access DLLs down to the client and potentially reveal a load of details about your database.
I have been thinking about this. But looks like you will need to have an interface that is implemented on both client and server. The server one has access to the data access dlls. The client one simply accessing a http client. Then let Dependency injection work the magic for you.