Azure EntraId on-premis also works basically the same way? Great video thank yoU!
@CrynogarTMКүн бұрын
I am using VueJS and REST-API and all running in a Golang Project. I completely moved everything from C# to Golang.
@BenjaminSmith-pp3yg2 күн бұрын
Thank you Shawn! For many years you have been on my radar as v. informative and v. interesting... love fact you seem to be fan of Vue + Tailwind - you clearly actually DO substantial real-world dev. (so much trash published by people who seemingly just think about real world dev, but rarely if ever actually do it). haha. Don't get me started on some of the MS Patterns and Practices stuff (I mean wow!). 100% agree (with my admittedly v. limited experience with Blazor) that you are correct with the summary (if I got it right?) i.e. " Is it worth it? Probably not (assuming you are comfy with js/ts and e.g. Vue). Unless you have some v. specific requirements that make WASM a real contender for the functionality you need. " Pls do shout if that is NOT a good paraphrasing of your topline? Also totally hear you with the clunky tooling e.g. need to restart the app (vs what we now come to expect i.e. ~immediate ~perfect hot reloading dev experience for frontend). I do wonder 1. if you were a fan of Knockout before Vue (do I remember some old blog posts about KO)? 2. if you prefer Vue (3) Composition API (over Options) 3. if you tend to use Pinia or similar in Vue3? FYI I'm pretty firmly 1 = Yes, 2 = Yes 3 = No Apologies if you've totally covered all of that on a blog/other vids (don't have much time to research/hone these days). ;( Much appreciated!
@doomroot13214 күн бұрын
This is the exact video I was looking for to get my new project off the ground. Some of the different options and configurations aren't easily discoverable sometimes especially with something completely new like Aspire so this was great to see. Thanks!
@maxvideodrome42155 күн бұрын
I’m picking up web dev after about 15 years of not coding. Blazor is what I’ve been learning and it’s awesome. I’m avoiding JavaScript for time being as I have stuff I need to get done.
@clipsacademiques42886 күн бұрын
Very good. But for the front end, how about Blazor wasm? Can you give me where i can get the information?
@victoranolu43767 күн бұрын
This is a great video
@Siddiskongen7 күн бұрын
For developers that don't know / don't want learn frontend (html / css etc) then Avalonia UI is a better tech stack. With design preview integration to VS and Rider it becomes a much better developer experience without having the need to stop / start the app for each xaml change.
@kimutaifelix90927 күн бұрын
I am learning something about Bootstrap today. Thank you Shawn.
@aitchvee7 күн бұрын
I think you're wrong for most cases.. I find Blazor way more productive than the mess of JavaScript tooling etc. I use it exclusively now and it's only getting better. Sure hot reload can be hit and miss sometimes. There is components.. and I've even done a project with web, Windows and Android (with Maui Blazor) with common C# components across it all. I haven't hit a use case yet where it's really stopped me.. there's been a few JS interops with minimal JS in that case. I think if you're starting a new data display/crud project, it's a no brainer. And another key factor is it's inherently more secure because you're not exposing your source code (and possibly APIs etc) in raw JavaScript (even more so if it's just server side rendered - and you can mix that now per component).. C# and LINQ in the browser is just wonderful and all that Nuget goodness and updates are usually easy. dot NET 9 also addresses some of the early complaints about Blazor. Maybe it's not up to doing any heavy canvas or gaming app yet but I haven't tried. Team up Blazor with ActualLab Fusion for real-time data and you can do some killer stuff...
@kimutaifelix90927 күн бұрын
"I've been in the software engineering field since 1985...." I still have a long way to go. Thank you.
@FireIn87 күн бұрын
I have need for a collection of records (immutable) to do some quick lookups of various properties (no changes). Which might be a faster collection to use, and do collections affect the records they hold?
@timmy3349 күн бұрын
I use Blazor Server for our in-house web apps and I love it! C# makes it much easier and I can write an app more quickly. Also, JetBrains Rider makes c# dev a much better experience than Visual Studio.
@20windfisch119 күн бұрын
Use Blazor with MudBlazor, Bolero and use the Elm(ish) pattern. Once you have understood the functional approach, you get results quickly. I made an in-house web app running with Blazor Server (WASM is out of question, our company PCs all run Sophos which analyses all binaries once they come in which slows the application to a crawl) and the customer wanted one component of that application as a client-side app, exchanging the server-based functions with some simple file I/O. I managed to slap that component into a separate Blazor WASM application and use Electron to make the local application for the customer.
@swildermuth8 күн бұрын
If that works for you, YEAH! This video is about Blazor WASM. I don't care for the non-standard communication between server/client but I understand why people like it.
@ngocson248610 күн бұрын
When I restart app, all data in db lost. How can I fix this?
@swildermuth8 күн бұрын
You'll need to setup a Storage object in Docker to point the DB to for persistent data (you can do this with Aspire. Basically, telling Docker to store the local data somewhere that isn't shut down when the container are.
@romania-n6q13 күн бұрын
I wish I’d discovered Blazor earlier! Moving from JavaScript through Node, Express, TypeScript, React, and React SSR felt like a constant juggle of libraries, packages, and compatibility issues. Each JS project needed a mountain of dependencies, which we could only hope would work well together across versions. And then there’s always that one person at work pushing to experiment with Bun, adding to the chaos. Remember when we used to think of React as a slow and clunky choice? Now, it’s evolved massively, much like Blazor.
@TheCzemike14 күн бұрын
The main thing I get from this video is that front-end web developers and back-end web developers are flexing two very different skill sets and expecting one developer to have true mastery on both sides might not be realistic.
@pookiepats6 күн бұрын
respectfuly, this is a terrible take, small businesses couldn't be as successful as they are were this true. expect more of yourself, you can do it too.
@pookiepats6 күн бұрын
* if you want to
@mihainegrisan14 күн бұрын
Thank you!
@harrisonwell171917 күн бұрын
When it comes to front end nothing beats JavaScript
@josephizang618717 күн бұрын
Can this solution be used for small to medium sized apps in prod?
@vekzdran17 күн бұрын
Good video Shawn, helps, great seeing you!
@brianandreasen220017 күн бұрын
I still think blazor sucks but hey that's me I'll be JAMSTACK for a long time now even though I migrated from .NET. I love C# but I hate ASP. BTW Shawn's courses are always good and filled with great info. Keep it up shawn!
@LarsWorkShop18 күн бұрын
Blazor rocks - so much less work than angular
@aurusaurum964918 күн бұрын
Thank You! Hope in v4 will be "partials" functionality by default without any additional tools. For example partials head, nav, footer and including them the most simple way into the HTML-pages.
@Switchs8920 күн бұрын
Solid material. When you go over reference types nullability with such ease, you know straight away that you are listening to a an expert. Thanks.
@swildermuth19 күн бұрын
That's very kind of you. Glad you liked it.
@georgesaeid723120 күн бұрын
I think Blazor is the way to go for all. The question remains is which to use, SSR or CSR or Auto, this what will differ from project to another. I think as well there is no problem at all with bridging between JavaScript and the assembly code. It cannot be easier. I used it heavily in both Interactive Server Mode and WASM. I also got a quite enough experience with Angular and React. I can confidently say that everyone should consider Blazor, even those who are living in JavaScript/TypeScript world.
@c1d3r-lf5ug21 күн бұрын
Without knowing scope of your upcoming video, here's my thoughts. Love VS/Rider for their intellisense over VSC, in turn i dont like configuring VS/Rider like i do with VSC the default explorer view is preferred to me. It is also weird why Rider comes with plugins installed, they ought to defer that to their marketplace.
@swildermuth21 күн бұрын
I tend to agree. Never been a big fan of Resharper out of the box (and it takes a while to whittle it down to just the amount of help I want). And Rider feels like Resharper the IDE. Though it feels like I'm in the minority about R#.
@Joey-m8w21 күн бұрын
How do you get your npm scripts in the file browser?
@swildermuth21 күн бұрын
What do you mean? Do you mean in VS Code? You might have the NPM Scripts pane hidden or your package.json is in a subdirectory (I think it only works if it is in your root directory).
@Joey-m8w20 күн бұрын
@ yeah that’s what I meant, think I must it on hidden then. Thank you!
@SBDavin21 күн бұрын
In the past, I've considered Tailwind and similar style frameworks as obstructive CSS (a term I made up), much like how we view obstructive JavaScript. With the continuous evolution of CSS, we should keep questioning the relevance of Tailwind. Personally, I have never been a fan of how it clutters our HTML. However, you've shown how TW is trying to embrace and include the new CSS standards. I always worry if I am giving up the new capabilities/standards of the underlying CSS engine when committing to a style framework. Thank you, Shawn.
@swildermuth21 күн бұрын
I understand the sentiment. TailwindCSS is effectively a CSS generator. The default classes are a suggestion. If you want more concrete classes, it allows for that. While it does muddy the markup, I think the classes allow you to have a consistency in look and feel. Class modifiers like hover and reactive modifiers make it easier to design faster, especially for developers. It doesn't hide the CSS, just makes it easier to be consistent. If you're team has strong CSS skills already, you might not be the audience.
@PietervandenHombergh19 күн бұрын
I like the notion of obstructive. Having to add classes to every tag is counterproductive and certainly not DRY.
@swildermuth18 күн бұрын
@@PietervandenHombergh I understand the sentiment, but in most cases you wouldn't be adding them to ever tag, you'd add them to a component that you then reuse. But, like what you like. If it is useful, great...if not, I am not trying to convince you.
@jbest8421 күн бұрын
I love the @theme change using css properties. We ship our product to a partner channel, that in turn customizes it. Using a standard like this helps, they can just adjust the value of the property without touching our stuff!
@swildermuth21 күн бұрын
It really does make things so much easier!
@PeterMatthews-j9x22 күн бұрын
The biggest lie about Blazor is people calling is a "JavaScript Killer". I wish we wouldn't do that. JS is a tool in our toolkit the same as any other tool. Use it where necessary, use it when you want, use it as you'd use any other tool. JSInterop is massively powerful, and even more powerful if your CSP isn't hyper-strict. You can inject tiny payloads of JS into any page that needs it, and clean up the DOM as components are disposed.
@swildermuth21 күн бұрын
Exactly. Blazor is a different use-case.
@PeterMatthews-j9x21 күн бұрын
Kind of. I understand what you mean. Blazor isn't a replacement for JS, it's more than just another use-case. It's an additional render engine and routing pipeline that can be used as a part of the AspNetCore ecosphere. You can use MVC, Razor Pages, WebForms, Static HTML, MinimalAPI, WebAPI, Blazor Web App, and React, all in the same project if you like. They are all available to you as tools within your toolkit. Weapons within your arsenal. Choose your own analogy. As an example, if you want to remain within the bounds of PCI-DSS SAQ-A when building a checkout, then regardless of whatever render engine you use, you will have to write good old-fashioned JavaScript to interop with the drop in forms. The SAQ-A is a 19 page document with 22 questions. If you try to roll your own, and create your own checkout forms, because "We don't need JS now that we have Blazor! Why should I even bother learning JS anymore!?", then you need the SAQ-A-EP form, which is a 46 page document, with over 190 questions, and a quarterly external audit with an on-site assessment that can cost tens of thousands per annum.
@GBUKMilo22 күн бұрын
Love this video, thanks Shawn
@swildermuth21 күн бұрын
I appreciate it!
@1nefes1ses22 күн бұрын
Is it possible to make a .net core web application that use nuxt3 framework? and how could i make this project compatible with nuxt (building deployment etc). .net core with using modern ui development frameworks like vue nuxt react etc. it can be rough What is the correct way to make kind of this project? Backend and Frontend must be seperate or not? i cannot find any detailed documentation for this And thanks for the video
@Explorest23 күн бұрын
Oh heavens me ... this was a master-effing-piece. Thanks for the clarity it brought.
@Explorest23 күн бұрын
Please do a 10 thousand feet view of Blazor (both server and client side) -- just basic description of what the different parts are , how they come together, how they talk to each other --- with the simplest possible project that can demo it. How to think and reason about Blazor. Would be a great great illuminator. Blazor is too big and fuzzy --- and horribly confusing.
@danhartley213623 күн бұрын
I've been using Blazor wasm for about 3.5 years now, and have been able to build some pretty interesting projects. I like it a lot, but am not quite a Blazor evangelist. The biggest problem by far is the tooling which is painful to deal with. Hot reload just doesn't work. So anytime you need to make even a minor change to the markup, you have to stop/restart, wait for the build to finish, the browser to launch, the debugger to attach, etc. It can be pretty tedious.
@ukasz-xn8kn24 күн бұрын
When I saw those glasses put on immediately subscribed. Great value content!
@swildermuth23 күн бұрын
You subscribed because I can't see?
@ukasz-xn8kn23 күн бұрын
@@swildermuth yes
@andreasgkizis213525 күн бұрын
Thanks a ton, very clear very nice and i am thankful for the public repo!
@trestenpool904525 күн бұрын
great vid. You cleared up a lot of confusion I previously had!
@swildermuth21 күн бұрын
Glad it helped. Took me a while to get my head around it too.
@RafaelConceicao-wz5ko25 күн бұрын
I've been using Blazor recently, and honestly it's the only thing that's made web development enjoyable for me at last
@chrismingay600525 күн бұрын
I'm by no means a Blazor fanboy (I flip flop between Blazor and Svelte for my own projects) but re: 12:40 I'm interested to know why you consider learning Blazor to almost be lesser of a task/outcome compared to Javascript in the realm of web frontends? If Blazor is able to do everything you need, why is javascript even necessary? I've found recently that I'm not actually learning JS anymore, I'm learning React/Svelte/Angular and they just happen to use javascript. Ultimately the user doesn't care if the experience is good enough.
@Eric-v8t25 күн бұрын
The development speed is high with Blazor, which is very important cost-wise. I experienced how slow the development process with React can be and the amount of garbage you need to write to satisfy the framework. However, AI assistant coding tools can change the narrative, and JavaScript wins because there are cheaper/younger developers in the market.
@dima1369326 күн бұрын
Wth... you just corrected a really confident yet wrong thought I had. instantly subscribing.
@muhammedadel967326 күн бұрын
Is there a way to code-split it based on routes to make it lighter?
@swildermuth26 күн бұрын
@@muhammedadel9673 not that I know of
@emmanueladebiyi210922 күн бұрын
I went down this rabbit hole sometime earlier. Currently not possible as a single dll is generated
@danroth2719 күн бұрын
You can use lazy loading to load parts of the app based on the route.
@emmanueladebiyi210919 күн бұрын
@@danroth27 My bad, that's totally true. I should have been more specific. My research was more into lazy loading from a single project... Was trying to see if there was anyway I could build a convention based framework that just automatically lazy loaded components per route without manually specifying. Explored generating multiple DLLs per project but no luck so far. PS: I'm a big fan of the great work you do on Blazor 🙌🏽🙌🏽🙌🏽
@SimpMcSimpy27 күн бұрын
Visual Studio support is still not so great due to incomplete hot reload feature, but if you can digest few weak spots it can do nice job. It is perfect for building internal tools (thinking about enterprise companies) or smaller businesses. I've been into programming since late 90s and doing mostly system engineering, HATED doing any web coding. But with Blazor it's awesome. Coming from mostly low level C programming, I am one of those who believe web should fully embrace web assembly. This is why I see Blazor as a step in the right direction. It's far from perfect, but for simple and quick stuff it's good enough. And I underline this "good enough". I just hope MS keeps it alive longer than some previous frameworks :)
@swildermuth27 күн бұрын
That's where I am at with it too.
@seldasorf958327 күн бұрын
Totally Fully agree, have developed MFC, Win Forms, WPF and meanwhile Web only for decades and see Blazor in the niche you see it. Thx for digging deeper and verifying that.
@swildermuth27 күн бұрын
Thanks!
@kodindoyannick532827 күн бұрын
Great content. I like it. Thanks!
@swildermuth27 күн бұрын
Glad you liked it!
@kenlee254027 күн бұрын
Thanks Master Shawn, where can get the free SQL database hosting?
@swildermuth27 күн бұрын
No where I know.
@kenlee254026 күн бұрын
@@swildermuth 😅
@matteobarbieri298927 күн бұрын
I agree 100% with you. And when you repeatedly hear: "it's good for internal organization apps"...means that's a mess!
@SimpMcSimpy27 күн бұрын
No, it means you don't to learn new language or employ people just for web. Even an average C# coder can now quickly build a web application. I've been doing it for my company (internal tools) and I love it!
@rollthers315727 күн бұрын
@@SimpMcSimpy Does it play well with third-party UI components?
@ilh8625 күн бұрын
It's because the drawbacks (having a constant SignalR connection for server side or loading the runtime in the browser for client side Blazor) aren't that much of a showstopper for internal applications. We use both versions and I wouldn't dream of using a JS framework as there's just way more utility of having a common code base on the front and back end.
@skywalker227827 күн бұрын
Surprised to see quite a few folks having issues with Hot Reload. It seems always work for me. I'm doing Blazor WebAssembly with .Net 8.