Great presentation. Thanks a lot Jimmy. I bought your book.it's amazing. As a dot bet senior developer, Blazor was my dream, I will never use any other frameworks for my new projects. Blazor is the best framework i have ever worked on.
I like that you mention the saying, "Blazor is for people who don't want to learn new things." I came to Blazor after using react, typescript, node and webpack for front end work and PHP for back end. Being able to use the exact same language and tools for the back end as well? Icing on the cake. Excellent talk!
Be careful with just throwing everything into components. There is a small overhead for each component. So if you have a 1000 component on a site, it will slow it down. I've been there myself. I've used blazor a couple of places in production :)
Thank you for nice talk. However, I don't think that WASM footprint was compared properly. In my opinion, Blazor WASM example given is really abstract one. You did compare it with Facebook saying that Blazor is just 1MB vs 16MB on social network's side. Facebook is pretty heavy application by itself, so no doubts it has high payload. In such case, would be nice to see comparison with something similar created in Blazor WASM(in terms of complexity) and not just by comparing some abstract application.
Always found front end tools a mess. Weird errors, difficult to debug. Nothing is obvious, too much magic. Blazor is front end development for back end developers.
Honestly, IMHO, the problems boil down to HTML and CSS. CSS is so full of side effects it amazes me that this ever passed muster and became a standard tool. HTML was designed to lay out academic papers, now it's being used to lay out 21st century web apps. It's like building a space station with clay bricks. JS is an ugly workaround to make these two old pieces of technology work on the modern web. What needs to happen, is the web needs to move to a modern standard.
@@tacticoolrick5562 100%. They took a (basic) document rendering system and they turned into an application platform. Instead of burning it to the ground, it's been hack upon hack ever since, and it's now "too big to fail".
"Paul-Sebastian Manole" Yes. Dev experience maybe is not so good but I think the future on WASM and from all languages biggest abilities to shoot on Blazor
How does Blazor server handle things like drag and drop? Does it download some JS that it runs in the browser? Or do people still use some JS when using Blazor server pages? Seems like overkill to go back to the server for DOM manipulation when a little JS will do the job. I currently use vanilla JS, Razor, lots of AJAX to make the pages feel "live". Thinking of switching...but was surprised when he said mixing and matching razor and blazor wasn't a good idea b/c connections get dropped.
With .NET 8 the mix-and-match approach is likely to work quite well - with SSR (Server-Side-Rendering) it will create/drop SignalR connections as you move around an app. Not all pages are interactive so this makes perfect sense IMO. My home page (which is heavily hit) is currently a Razor Page because I don't want a SignalR connection for every user that hits it. With .NET 8 I can rewrite as a Razor Component but it will still be 'static' and have no connection.
Big time. Debugging WASM feels like I'm running my parents' computer in 2001. Server isn't as bad but still, Hot Reload isn't amazing and my time to iterate is slow on Blazor in comparison to others.
Yeah, came from Xamarin as well and hoped for a good experience ... but still. You can develop much faster in Javascript space. Hot reload is such an important feature, if you have to reload all the time it will take hours... Also for a new beginner i wouldnt recommend blazor at all. Microsoft hasnt done well in the past for front end developers beside MVC. Rather take your journey directly with typescript and your favorite framework like angular, react or any other. If you come from an C# Background, you might get your hands easy on this but it will be hard to progress after you made 60% of the project.
just today I lost 3h to Vue.js with Vite crashing on the main page with stack trace to a component that was not on the page. Fun stuff. No clean&rebuild would help. Do you know what helped? Switching branches to master and back to feature branch. Now it works. What a great experience, so vastly better than Blazor :)
I was interested on Blazor as an escape of the JS nightmares, but "unfortunately" (for good or bad), Blazor is going towards the same approaches. Honestly, the more you think, the more server side rendering makes sense for a good deal of web apps. That is why things like HTMX with Razor Pages look like a better option that I am more interesting on trying these days
JS nightmares are happening because you're not writing the code yourself, probably some 3rd party junk you believe you can't live without. Be a developer!!
@@rentefald just to be clear, I am calling nightmare to how polluted the JS ecosystem is. Even within the same language specification you find bunch of headaches, like the web components. I don’t know exactly what you refer to junk libraries, as I can put in that bag stuff like Angular, but I will give you the reason on the fact that plenty of times people uses libraries without even understanding what are they for
@@XXnickles- Junk libraries are javascript code written by some open source (script kiddies) org that you have ZERO control over, and that breaks all the time. The more libraries and JS dependencies you have, the less likely your code is EVER going to work properly in production. All the "frameworks" are junk compared to code I write.
Im sure blazor has its uses, but ill pass for the moment. Actually working with javascript and other frontend tech has given me huge insights into programming. Skipping that would have been detrimental for me. Unfortunately, like with other autogen frontend stuff, i feel like this just puts a huge wizard of oz curtain in front of what you are trying to accomplish ( like linq to sql ) and leaves room for bad code and ineffiency.
Blazor is dead in 3 years. It is simply a mess, weird magic tags that produce stupid HTML. Just the idea that everything requires a constant connection to the server, imagine the resource cost.
I don't have to imagine it, because we have production apps that don't cost very much and have been running for years with new additions all the time. Static Web apps can be deployed with very little overhead, and there's also multiple ways to run it outside of the server including WASM and PWA.
Blazor Web Assembly has the same paradigm and problems as the OLD OCX controls. Downloading a full app is stupid. Might as well do desktop. Because it will not work correctly on any non-supported (phone) browser, and it will have security and version problems (DLL hell redux).
Great presentation. Thanks a lot Jimmy. I bought your book.it's amazing. As a dot bet senior developer, Blazor was my dream, I will never use any other frameworks for my new projects. Blazor is the best framework i have ever worked on.
I like that you mention the saying, "Blazor is for people who don't want to learn new things." I came to Blazor after using react, typescript, node and webpack for front end work and PHP for back end. Being able to use the exact same language and tools for the back end as well? Icing on the cake. Excellent talk!
Be careful with just throwing everything into components. There is a small overhead for each component. So if you have a 1000 component on a site, it will slow it down. I've been there myself.
I've used blazor a couple of places in production :)
Is this a problem you would encounter using Angular components at the same rate?
Component is razor page so I eat memory, same as any other component in react, bean or whatever if you use it.
Thank you for nice talk. However, I don't think that WASM footprint was compared properly. In my opinion, Blazor WASM example given is really abstract one. You did compare it with Facebook saying that Blazor is just 1MB vs 16MB on social network's side. Facebook is pretty heavy application by itself, so no doubts it has high payload. In such case, would be nice to see comparison with something similar created in Blazor WASM(in terms of complexity) and not just by comparing some abstract application.
Always found front end tools a mess. Weird errors, difficult to debug. Nothing is obvious, too much magic.
Blazor is front end development for back end developers.
Honestly, IMHO, the problems boil down to HTML and CSS. CSS is so full of side effects it amazes me that this ever passed muster and became a standard tool.
HTML was designed to lay out academic papers, now it's being used to lay out 21st century web apps. It's like building a space station with clay bricks.
JS is an ugly workaround to make these two old pieces of technology work on the modern web. What needs to happen, is the web needs to move to a modern standard.
@@tacticoolrick5562 100%. They took a (basic) document rendering system and they turned into an application platform. Instead of burning it to the ground, it's been hack upon hack ever since, and it's now "too big to fail".
Even his drink is purple :) Nice talk thank you
Blazor is the future
After 30 minutes of just listening to how Blazor works and nothing about any lessons learned in production I stopper watching.
Wow I only made it 15 minutes.
Starts at min 37
Yeah there's this amazing thing where you can move the video forward instead of being a dick in the comments section.
@@tacticoolrick5562 Should have told me that 15 minutes earlier.
@@seanmiller7889 a developer that can't scroll a video or use the provided indexes in the video 🤦♂
Your experience with blazor seems not to be related to blazor, but rather with the shift on going to singel page applications.
"Paul-Sebastian Manole" Yes. Dev experience maybe is not so good but I think the future on WASM and from all languages biggest abilities to shoot on Blazor
How does Blazor server handle things like drag and drop? Does it download some JS that it runs in the browser? Or do people still use some JS when using Blazor server pages? Seems like overkill to go back to the server for DOM manipulation when a little JS will do the job. I currently use vanilla JS, Razor, lots of AJAX to make the pages feel "live". Thinking of switching...but was surprised when he said mixing and matching razor and blazor wasn't a good idea b/c connections get dropped.
Exactly.... drag drop is just the tip of the iceberg. Just wait till you try to do something else than tutorials.
With .NET 8 the mix-and-match approach is likely to work quite well - with SSR (Server-Side-Rendering) it will create/drop SignalR connections as you move around an app. Not all pages are interactive so this makes perfect sense IMO. My home page (which is heavily hit) is currently a Razor Page because I don't want a SignalR connection for every user that hits it. With .NET 8 I can rewrite as a Razor Component but it will still be 'static' and have no connection.
Blazor is \o/ - such productivity
What I can't stand is the slow iterative feedback. Blazor feels like developing for Webforms compared to Vite + any JS frontend lib.
Big time. Debugging WASM feels like I'm running my parents' computer in 2001. Server isn't as bad but still, Hot Reload isn't amazing and my time to iterate is slow on Blazor in comparison to others.
I literally stopped a side project because hot reload stopped working and it was too frustrating to update the CSS.
Yeah, came from Xamarin as well and hoped for a good experience ... but still. You can develop much faster in Javascript space. Hot reload is such an important feature, if you have to reload all the time it will take hours... Also for a new beginner i wouldnt recommend blazor at all. Microsoft hasnt done well in the past for front end developers beside MVC. Rather take your journey directly with typescript and your favorite framework like angular, react or any other. If you come from an C# Background, you might get your hands easy on this but it will be hard to progress after you made 60% of the project.
just today I lost 3h to Vue.js with Vite crashing on the main page with stack trace to a component that was not on the page. Fun stuff. No clean&rebuild would help. Do you know what helped? Switching branches to master and back to feature branch. Now it works. What a great experience, so vastly better than Blazor :)
@@Qrzychu92 sounds like you have a tooling problem
I was interested on Blazor as an escape of the JS nightmares, but "unfortunately" (for good or bad), Blazor is going towards the same approaches. Honestly, the more you think, the more server side rendering makes sense for a good deal of web apps. That is why things like HTMX with Razor Pages look like a better option that I am more interesting on trying these days
JS nightmares are happening because you're not writing the code yourself, probably some 3rd party junk you believe you can't live without.
Be a developer!!
@@rentefald just to be clear, I am calling nightmare to how polluted the JS ecosystem is. Even within the same language specification you find bunch of headaches, like the web components. I don’t know exactly what you refer to junk libraries, as I can put in that bag stuff like Angular, but I will give you the reason on the fact that plenty of times people uses libraries without even understanding what are they for
@@XXnickles- Junk libraries are javascript code written by some open source (script kiddies) org that you have ZERO control over, and that breaks all the time. The more libraries and JS dependencies you have, the less likely your code is EVER going to work properly in production. All the "frameworks" are junk compared to code I write.
you did not talk anything about prod -_-
Actually there's 0 real lessons learned in this video. Don't waste your time
Im sure blazor has its uses, but ill pass for the moment. Actually working with javascript and other frontend tech has given me huge insights into programming. Skipping that would have been detrimental for me.
Unfortunately, like with other autogen frontend stuff, i feel like this just puts a huge wizard of oz curtain in front of what you are trying to accomplish ( like linq to sql ) and leaves room for bad code and ineffiency.
True insight from a junior developer, you're very special.
Kind regards from a 20+ developer.
You don’t know anything brah.
@@rentefald 20+ ah that explains why your are against new technologies. Get with the times old man ;)
Blazor is dead in 3 years. It is simply a mess, weird magic tags that produce stupid HTML.
Just the idea that everything requires a constant connection to the server, imagine the resource cost.
I don't have to imagine it, because we have production apps that don't cost very much and have been running for years with new additions all the time. Static Web apps can be deployed with very little overhead, and there's also multiple ways to run it outside of the server including WASM and PWA.
the ws connection is super cheap to maintain though
Blazor Web Assembly has the same paradigm and problems as the OLD OCX controls. Downloading a full app is stupid. Might as well do desktop. Because it will not work correctly on any non-supported (phone) browser, and it will have security and version problems (DLL hell redux).
Swedish Companies are using Blazor! So OK then. Good enough for me! lolol