Was I Wrong About Blazor? | Coding Shorts 111

Поділитися
Вставка
  • Опубліковано 26 гру 2024

КОМЕНТАРІ • 248

  • @barsenovic
    @barsenovic 2 місяці тому +74

    My favourite part is when you put your glasses down... it's like the suspense moment!

    • @webguru22
      @webguru22 2 місяці тому +8

      Haha it's like "It's about to get real..."

    • @barryblack8332
      @barryblack8332 2 місяці тому +2

      Mine is when he puts it on

  • @RafaelConceicao-wz5ko
    @RafaelConceicao-wz5ko Місяць тому +37

    I've been using Blazor recently, and honestly it's the only thing that's made web development enjoyable for me at last

    • @crtglowgames
      @crtglowgames Місяць тому +1

      That's encouraging. Did you enjoy web development in the past, i.e. before React etc. took over?

    • @RafaelConceicao-wz5ko
      @RafaelConceicao-wz5ko Місяць тому

      @@crtglowgames Not really, javascript always felt like an hack to me

    • @androidsavior
      @androidsavior 17 днів тому +1

      restarting the application to see css or html change is a nightmare .. hot reloading is so slow and keeps breaking ... it was a very bad experience for me. I'm talking about developing a WASM . I think non of these issues exists in the blazor server, but it is not what we need !

  • @krss6256
    @krss6256 2 місяці тому +58

    I'm building quite a massive Blazor app - probably one of the most ambitious projects in Blazor there is and I still love it.
    There is a lot of things that you need to keep in mind while you develop, a lot of things to do a little bit differently, and quite a few limitations around interacting with DOM but I think that the advantages of using modern C# are making the development experience simply unbeatable.
    I wish there was more mature tooling and working Hot Reload and debugging - this is absolutely the most annoying thing about Blazor but this is a small price to pay for the other benefits of the framework.

    • @swildermuth
      @swildermuth  2 місяці тому +8

      Awesome and glad it's working out for you. Is there a code splitting option I'm missing? Crucial for large scale projects

    • @abhayprince
      @abhayprince 2 місяці тому

      @@swildermuthLazy Loading is there for Blazor

    • @georgebeierberkeley
      @georgebeierberkeley 2 місяці тому +7

      Yeah well hot reload doesn’t work that well with razor apps either.

    • @unskeptable
      @unskeptable 2 місяці тому +6

      Hot reload is a joke in all latest Microsoft products

    • @skywalker2278
      @skywalker2278 2 місяці тому

      Surprised to see so many people having issues with Hot Reload while it always works for me.

  • @maxvideodrome4215
    @maxvideodrome4215 Місяць тому +10

    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.

  • @clouddeveloper4549
    @clouddeveloper4549 27 днів тому +8

    All in on Blazor WASM for several years now and never looked back. After spending years toiling with the latest JavaScript toolset, Angular, Vue, and the ever changing client side landscape our teams are far more productive leveraging the .Net ecosystem on both client and server. Tailwind + Blazor component model + the stability of .Net library ecosystem is hard to beat

    • @mq9032
      @mq9032 18 днів тому +2

      How do you deal with long loading when you access the page for the first time?

    • @clouddeveloper4549
      @clouddeveloper4549 13 днів тому

      @mq9032 We’ve been use prerendering which loads page and static content quickly and provides SEO. Net 8 has also introduced SSR, Server-Side Rendering, and transitions to WASM. Both are viable options.

    • @slipoch6635
      @slipoch6635 11 днів тому

      @@mq9032 If you use a blazor hybrid component it runs off the server until the component is downloaded then switches over seamlessly.

  • @romania-n6q
    @romania-n6q Місяць тому +9

    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.

    • @swildermuth
      @swildermuth  Місяць тому +2

      My anxiety about React are more the programming model. It feels icky to mix JS/Markup. Not a probably for lots of people, but I don't enjoy it.

    • @josephr5000
      @josephr5000 9 днів тому

      @@swildermuth Blazor mixes CS and markup. What's the difference?

  • @austincummins7712
    @austincummins7712 Місяць тому +1

    Wow- I remember watching you on Pluralsight many YEARS ago and loved your videos. Had no idea you had a YT channel! Your Pluralsight reputation is enough to earn a sub from me...

  • @81NARY
    @81NARY 2 місяці тому +5

    On a side note, I started my Career by watching tons of courses on PluralSight (~8 years ago) from you, Julie Lerman and Scott Allen (RIP). So thank you! 💙

    • @swildermuth
      @swildermuth  2 місяці тому +3

      I am honored to have been a part of your journey!

  • @matthewwatts6281
    @matthewwatts6281 2 місяці тому +11

    Great video and really good to get the opinion of someone who uses a JS framework but also C#. As someone who does about 20% front end and 80% backend I just find Blazor so much easier. I have used Angular at work and just find it a steep learning curve. Yes I could get better at it but with Blazor I can build very complex applications using my current C# knowledge.

    • @swildermuth
      @swildermuth  2 місяці тому +7

      I get that. But I find learning a simpler JS framework to be more productive. I'm personally invested in Vue since it doesn't require the boilerplate of something like Angular. But, ultimately, if you're productive with Blazor, no reason to switch.

  • @a-videoo
    @a-videoo 2 місяці тому +18

    'I'm going to save it to a folder, not some magical place.' hahaha ~10:08

  • @pvanroos
    @pvanroos 20 днів тому

    Excellent analysis Shawn. A common thread I find is that the "older" C# devs really like it because they can do alot without touching JS/TS. One thing I found extremely helpful in larger enterprise grade app dev efforts is the ability to share class libraries. Can't do that with Angular or React. It's just a time saver and really helpful at buildtime.

    • @swildermuth
      @swildermuth  18 днів тому

      Easier to share libs in C# for sure. Though Angular and React (and Vue) can share libraries via NPM packages (or there are ways to do this in Next and Nuxt). But I get your point.

  • @nothingisreal6345
    @nothingisreal6345 2 місяці тому +16

    I use it with the MudBlazor component library. Has a lot of ready to use powerful components and a lot of this nasty CSS crap is abstracted away. I would need to spend at least 2 years to get familiar with TS (would never use plain JS anymore) and some modern TS framework (Vue, React, ...). That is a big investment - and most likely the next project uses another JS framework. The binding in Blazor works great. With the new mixed render modes now supported performance got better. I agree that the tooling in VS and VS Code is B.A.D. Hot Reload does not work reliably at all. Overall IMHO any UI development is way too much effort and time consuming today. For building line of business applications something as productive as LightSwitch would be great - but MS killed it ... for some stupid reasons. The situation today is: LowCode is a death trap as way too often one get's stuck. The DIY approach (I do it all by myself) most projects use today has a terrible productivity and is way to error prone. There way too many competing frameworks. SW development must get much more mature and consolidated. Today we reinvent the wheel all day long.

    • @swildermuth
      @swildermuth  2 місяці тому +1

      As long as it's working for you, no need to change.

    • @XomegaNet
      @XomegaNet 2 місяці тому

      What do you think of the Xomega platform?

    • @swildermuth
      @swildermuth  2 місяці тому

      @@XomegaNet I don't have any exposure to that. What is it?

    • @XomegaNet
      @XomegaNet 2 місяці тому

      @@swildermuth It's is a low-code platform for .NET developers that helps you generate apps using Blazor or other technologies.

  • @georgesaeid7231
    @georgesaeid7231 Місяць тому +2

    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.

    • @swildermuth
      @swildermuth  Місяць тому

      "I think Blazor is the way to go for all." - All never works everywhere. Different solutions for different problems. When I hear this, I feel like it's a press release. There are pros and cons to every ecosystem, including Blazor/MSFT and the entire JS/TS ecosystem. There is no one way.

  • @dudeharmonious
    @dudeharmonious 2 місяці тому

    Much appreciated, Sean. We really enjoy your objective takes on tech. Very validating.

  • @marna_li
    @marna_li 2 місяці тому +5

    Didn't the publish folder contain both the compressed and uncompressed files? Then the size is much smaller than 20 MB.
    I see that you create a separate component class from which the component/view inherits from. You could achieve the same with code-behind using a partial class. There is a refactoring that extracts @code block to a code-behind file. And if you want to test the components, like interactions and what is rendered, you can use a library like bUnit (together with favorite unit testing framework) that essentially mocks the view.

    • @swildermuth
      @swildermuth  2 місяці тому +1

      Didn't think about partial. That makes a ton of sense.

  • @1992jamo
    @1992jamo 8 днів тому +1

    Out of interest, what are you gripes with server side rendering? The apps I have built are the most responsive web apps that I have ever seen, ever.

  • @ivanvincent7534
    @ivanvincent7534 2 місяці тому +3

    Great tempo and teaching style. Content about wasm on the server side as a compile target would be great.

    • @swildermuth
      @swildermuth  2 місяці тому +1

      I'll add it to the list.

  • @waynehawkins654
    @waynehawkins654 2 місяці тому +14

    I love Blazor and it only going to get better.

    • @swildermuth
      @swildermuth  2 місяці тому

      More power to you!

    • @keithnicholas
      @keithnicholas Місяць тому +1

      that's great and all, but better than what? better than what blazor was before? seems most anything is like that, things improve over time. Real question is how competitive is it with other things, is it "better" than those other things.

  • @seldasorf9583
    @seldasorf9583 2 місяці тому

    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.

  • @ShaffafAhmed
    @ShaffafAhmed 12 днів тому +1

    This video answered the biggest questions I had with blazor. Whether it could be an alternative to JS frameworks.

  • @carllindelof
    @carllindelof 2 місяці тому +4

    Very nice review of Blazor , will you do a review of Htmx and Aspnet Core. Server side rendering vs spa, what you would use for different kind of solutions

    • @carlosjosejimenezbermudez9255
      @carlosjosejimenezbermudez9255 2 місяці тому

      Htmx + AlpineJS is a great way to bring some rich client-side UI experiences to an existing MVC app or even an app that will only have one very interactive page. Best of all worlds in my opinion. I architected an app that way about 2 years ago and it was awesome.

    • @swildermuth
      @swildermuth  2 місяці тому +2

      I'll add it to the list

    • @dovh49
      @dovh49 2 місяці тому

      You can use HTMX like a SPA. It depends on how related your pages are across the domain. What's nice about that is that you can do hard splits on your pages depending on how closely related the pages are.

  • @mikemcgrath6391
    @mikemcgrath6391 6 днів тому

    Curious. Given the two approaches, Blazor vis Java/Type Script and Rest. What is (ballpark) the total developer time spent on each approach. Is one faster then the other. Thoughts?

  • @ijungleboy
    @ijungleboy 2 місяці тому +2

    I fully agree with "use JS when it's appropriate, WAMS won't make you happy".
    BUT the latest Blazor can now (.net 8) be used just like the classic Razor - and then use normal JS like it's intended to be. I think that use case is very valid, because the component model of Blazor is much better than the plain Razor model.
    Makes programing much better encapsulated.

    • @swildermuth
      @swildermuth  2 місяці тому

      It does, though the magic of the @ code {} I could live without.

  • @CrynogarTM
    @CrynogarTM Місяць тому

    I am using VueJS and REST-API and all running in a Golang Project. I completely moved everything from C# to Golang.

  • @sprez
    @sprez 2 місяці тому +8

    One advantage of the new Blazor template is that you can run the .Client app using server side rendering by changing the rendering mode of the client MainLayout component. Essentially, the .Client app becomes a RCL. While developing you get faster initial loading, decent hot reloading and fast debugging.

    • @swildermuth
      @swildermuth  2 місяці тому +3

      Essentially like next/nuxt

    • @androidsavior
      @androidsavior 17 днів тому

      can you make a video or share a link about how to do it ?

    • @swildermuth
      @swildermuth  17 днів тому +1

      @@androidsavior I haven't done anything like this, so I can't really make a video. But, maybe, someday.

    • @sprez
      @sprez 16 днів тому

      @@androidsavior I will put an example on GitHub in the next few days and then post the link here

  • @NBGTFO
    @NBGTFO 2 місяці тому +4

    I really wanted to make Blazor my new goto for web apps (I currently use Razor Pages with mostly page handlers and JS), but a lot of my apps are used in a factory environment on tablets where wifi is spotty in some areas so I didn't want to have to deal with issues where SignalR would lose its connection briefly and bring down the apps. So really, the reliance on SignalR is the show-stopper for me.

    • @swildermuth
      @swildermuth  2 місяці тому +3

      That makes sense, it's not always the right fit.

    • @CraigLuna
      @CraigLuna 2 місяці тому +7

      Blazor is a broad term and offers multiple strategies. Static SSR, interactive Server and WASM. You don't have to use SignalR, just use static or WASM (or mix it up).
      However, it is no different than websockets, long polling or SSE. If you need real time communication in a bad network environment, it will be the same issue for another. In a factory, use WASM or Static SSR if SignalR and its fallback mode with stateful reconnect doesn't work out.

    • @Qrzychu92
      @Qrzychu92 2 місяці тому

      Actually, if you go full on WebAsembly, you can pretty much create an app that can be "installed" on those tablets, use SqLite for local storage etc - it can be quite resilient.

    • @PticostaricaGS
      @PticostaricaGS 2 місяці тому +2

      For that issue, the solution in most modern frameworks is to use PWA, which you can actually use alongside Blazor.

    • @aspeckt112
      @aspeckt112 2 місяці тому +3

      Why not use Blazor WASM in that case?

  • @20windfisch11
    @20windfisch11 Місяць тому

    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.

    • @swildermuth
      @swildermuth  Місяць тому

      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.

  • @chrismingay6005
    @chrismingay6005 Місяць тому +1

    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.

  • @SimpMcSimpy
    @SimpMcSimpy 2 місяці тому +5

    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 :)

    • @swildermuth
      @swildermuth  2 місяці тому

      That's where I am at with it too.

    • @slipoch6635
      @slipoch6635 11 днів тому

      Yeah you can blame the visual studio code team for that, we had a decent hot reload for xamarin back in the day that the VS team got and when they implemented it the vscode team went to the upper managers and complained about studio stealing their functionality, so it got removed, then when the outcry was too loud they brought it back, but it never worked since then and half the functionality was missing, it still doesn't work great even for xaml hot reload.

  • @63pufferfish
    @63pufferfish 10 днів тому

    We use blazer for an small application. The push back from outside the team, People who did not even work on the product was large.

    • @swildermuth
      @swildermuth  8 днів тому

      Not an uncommon response. We tend to get bogged down with Dogma of what is 'best practice' when that isn't real.

  • @slipoch6635
    @slipoch6635 11 днів тому

    I have been using blazor (hybrid & server mostly) for cross platform dev. I don't see an issue with using blazor server for your secure componentry then use hybrid for the other components and maybe a local js framework for any dynamic dom stuff, it actually works pretty well as then you can get rid of any heavyweight JS framework crap, have it use a component from the server until it is loaded locally and the user doesn't even realise it is now running locally.
    TBH I like that I can inject a service directly into a component, and I don't have to have JS repeating the definition of my architecture as well as a backend definition in C# keeps things simpler to update in the future as you just update the one model, the one component etc.
    Please note: I have been doing web dev for large and small scale operations for years and this is the first framework other than htmx that I actually think will be useful on a longer term basis

  • @snapching
    @snapching 21 день тому

    Your points are all valid, and building an application using WASM is really new compared to the other frameworks. However, my rethink is: Why are we building web applications from the client side? Historically, there is a reason for this: server-side resources were limited and time-consuming to scale. Hence, we could scale quickly by pushing the application to the client and minimizing the server-side resources used. Enter cloud resources and server-side dynamic scaling. With the server-side having resources, do we need the complexity and all the work to get the application to live in a browser as the application development platform? For horizontal applications (e.g. social media), but for enterprise applications that are all converted to web applications to solve a distribution and maintenance problem? IMO, these applications are much more stable, cost-effective, and, most importantly, reliable (all web applications have an unmanaged dependency on the browser and often the JavaScript libraries). I'm critical that we consider all the requirements and the changing tech for each development project. Yet, even as developers, where change is always constant, we like to continue doing it the same way.

    • @swildermuth
      @swildermuth  18 днів тому

      Interactibility. Even Blazor Server is doing things client-side. (e.g. making the SignalR calls). If you think back to the client-rendering days, we had to write snippets to make the user feel like they were interacting with the server. That's where REST came in. But if you travel back to ASP.NET Web Forms, the nightmare of hiding the server interaction bit us hard. I don't disagree with most of your sentiments, but these same arguments have been being made since pre-2000. I do love your quixotic attempt though ; )

    • @slipoch6635
      @slipoch6635 11 днів тому

      Cloud resources are massively overpriced for what you get (speaking as someone who has had a client on a 30+ S3 instance scale out azure webapp with scale up sql), there is also the latency up and down, the fact that under load you are looking at instances per visitor, which may drag on resources when you have 40k people hitting the site each day. if something doesn't need to be done on the server, do it on the client, it's less expensive to you and it should run faster. Cloud hosts are also NOT as reliable as a properly managed webserver, a website I made in 2015 is still up and going with no-one touching it since then on a server at my old employer's. I have had numerous instances where Azure fails, in one instance their whole data center went down in central US due to a lightning storm and it took 5 days to come back up with no offer or option of hosting the sites anywhere else in the meantime.
      All that being said there are ways and means, if I run a JS framework that resizes, crops my images for responsive scales, I am NOT going to make every visitor's system use that framework to do that, I'll change it to do it once server side for the various crops and scales and store the output in a blob as webp then use the dom to decide which image to use based on the browser size, this is all largely automated these days. But if the user wants to re-sort a list or move bits and pieces around on the screen just for them, then doing it on their system makes more sense.

  • @MB-or1kh
    @MB-or1kh 15 днів тому +1

    Blazor WASM is as old as Blazor Server. It shipped with version 1.0.

    • @swildermuth
      @swildermuth  8 днів тому +1

      But the quality of Blazor WASM has changed substantially. It used to need to download the entirety of the WASM Fx.

  • @auronedgevicks7739
    @auronedgevicks7739 28 днів тому +1

    spot on. This is doing the same thing in a different way with no benefit other than it's in c#. It's not that it's bad it's just tedious and new, most of that stuff is just boilerplate code you can write faster in react or some other framework. So yea there's no compelling reason to use or learn it other than you already know c# and you want to spit out some webstuff without having to retool for the more established frameworks

  • @joshman1019
    @joshman1019 2 місяці тому

    Blazor is definitely a great way to quickly build a utilitarian front end. I've used it for this purpose since scaling and threading are such a pain with WinForms. I enjoyed WPF, but I would get lost in the details sometimes. None of it was fast, but I loved the level of control.

    • @SimpMcSimpy
      @SimpMcSimpy 2 місяці тому +2

      In my company I am replacing all old internal Win Forms tools with Blazor.

    • @rotgertesla
      @rotgertesla Місяць тому

      @@SimpMcSimpy Hello SimpMcSimpy, what is the logic to switching winforms app to blazor at your company? I am currently using winforms for all my tooling apps at work and I wonder what is gained from switching to blazor in that case?

    • @slipoch6635
      @slipoch6635 11 днів тому

      Ah Wiinforms, where binding is but an idea, and WPF where binding something complex is super-simple, but binding something simple is ridiculously complex.

    • @joshman1019
      @joshman1019 9 днів тому +1

      @@slipoch6635 hahahaha I know for sure you've been there done that based on this comment. Hilarious!

  • @user-eg4qz9yc7e
    @user-eg4qz9yc7e 23 дні тому

    I've coded in Blazor wasm at work for 2 years and I can see the attraction coming from a svelte + typescript full stack enthusiast. My issue with Blazor has been SEO applications, mobile performance, high demand of Javascript/Typescript libraries integrated; binding data between C# and Javascript which was the point of Blazor to avoid javascript/typescript. SvelteKit is very similar to Blazor with syntax and gets the benefits of performance and one universal language installing libraries. I make sure my code is written in typescript, not javascript on either Blazor or Svelte-kit.

    • @swildermuth
      @swildermuth  18 днів тому

      I totally agree with your sentiment.

    • @slipoch6635
      @slipoch6635 11 днів тому

      Ummm, how the hell is your SEO taking a hit? Just from latency? Or are you trying to force Blazor data into a JS framework for the SEO?
      I managed to get onto first page natural google results for an Application I used to support (formerly it was pg5) without touching any of those JS packages and I can use Blazor to do exactly what I did previously. Mobile performance is quite good on my old Samsung S3, but then I am using cross-platform and server/hybrid mostly, not forcing everything into WASM which obviously relies more on local resources. But I would be checking your logic, making sure any loops are optimised, minimising file I/O etc. etc.

    • @user-eg4qz9yc7e
      @user-eg4qz9yc7e 10 днів тому

      ​@@slipoch6635I'm going based on benchmarks compared to the 110+ different front end frameworks. The size of a Blazor WASM page is over 1MB. Google search "js Interactive Results" by krausest and you will see Blazor dead last with page size download and speed. You using a Samsung S3 is a small sample size and vague to point out because internet connection speed is also something to consider.

    • @user-eg4qz9yc7e
      @user-eg4qz9yc7e 10 днів тому

      @@slipoch6635 Blazor wasm by design has over 1MB a page size whereas the majority of js frameworks are under a few kilobytes. This is coming from someone who wants Blazor wasm to succeed because .net has a faster backend than JS backend but blazor frontend is lacking in performance. It's ideal for interior applications that do not require SEO

    • @user-eg4qz9yc7e
      @user-eg4qz9yc7e 10 днів тому

      @@slipoch6635 I wanna be respectful @swildermuth @slipoch6635. Blazor wasm pages have huge pages size to download. It has nothing to do with loops or minimizing files but how c# wasm is optimised. Even rust wasm frameworks like leptos or dioxus have similar issues but is faster for being a system level language.

  • @rapzid3536
    @rapzid3536 6 днів тому

    It's 2024 and hot-reloading is sketchy and Blazor has no answer for rolling zero-downtime deployments(unless this changed very recently).
    They iterate too slow at one release per year; it will never compete with React and other frameworks at that rate for public facing apps that need a premium UX and DX with continuous deployment. You can't get any community contribution momentum behind an "OSS" project when contributions won't release for up to a year.. Or that at any point during said year a PM will just bump something to the NEXT year and it won't release until the END of that year!
    I think you are spot on that it's a good option to consider for internal, B2B, and other "workhorse" apps. It should be clear now, in 2024, that it's just not moving fast enough to ever close the gap to become something even MS would use for a project like Loop(as an example).

    • @rankarat
      @rankarat 4 дні тому

      It wipes the floor with react, react is super overrated, try Blazor you'll never go back to React, EVER.

  • @horacioserrano5430
    @horacioserrano5430 2 місяці тому +1

    I need this tool, with a limited team i need to produce client-server app that runs on browsers, is a dedicated android app and is a dedicated iphone app. I simply dont have the time or manpower to write 3 different front ends. Maui and Blazor bridge this gap by using the same code for all 3. It does require some tinkering and adaptations, cookies are a good expample, but if you manage to build those abstractions so that you can use them on all 3 environments this is a great solution.
    We are still developing it, it ends up working, this will be an awesome tool. Loading sizes and time are an overblown issue.

    • @swildermuth
      @swildermuth  2 місяці тому

      When you marry this with Maui, that's a different question. Glad it is working for you. You're the perfect use-case IMO.

  • @matteobarbieri2989
    @matteobarbieri2989 2 місяці тому

    I agree 100% with you. And when you repeatedly hear: "it's good for internal organization apps"...means that's a mess!

    • @SimpMcSimpy
      @SimpMcSimpy 2 місяці тому +2

      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!

    • @rollthers3157
      @rollthers3157 2 місяці тому

      @@SimpMcSimpy Does it play well with third-party UI components?

    • @ilh86
      @ilh86 2 місяці тому +2

      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.

  • @delphiguy23
    @delphiguy23 2 місяці тому +1

    Im a seasoned c# dev mostly delving in the backend/api stuff. My understanding of js and its frameworks are very weak (UI has always been my weak point), and Blazor seems to be a good fit for me until I get myself comfortable with js. That said, I tend to agree that Blazor is not there yet. But for now, it is a good stop gap solution for me until I get comfortable with js frameworks.

    • @swildermuth
      @swildermuth  2 місяці тому +2

      Not a bad strategy, but I am not sure that Blazor will help you get up to speed with js/ts.

  • @JanBebendorf
    @JanBebendorf 29 днів тому

    Typescript exists and it does a really good job especially at fullstack while also being great for frontend and backend individually. I'm a Java guy and I also tried finding solutions to use my lovely Java in browser but the language is simply not built for that and the frontend world has so many cool techniques and patterns that are hard or ugly to implement in C# or Java. I ended up sort of giving up Java this year and I'm now sort of migrating myself to typescript & bun (Actually I've done typescript stuff for a few years but never really forced myself to adhere to good practices like never any). We've become so much more productive in typescript while also having the typesafety I loved in Java. And yes C# has become a little more modern than Java but it's still dated...

    • @swildermuth
      @swildermuth  29 днів тому

      I hear that. I don't enjoy Node dev so I'm biased towards C# backend - and JS/TS on the front-end. But I understand why many want the same language on both sides.

  • @muhammedadel9673
    @muhammedadel9673 2 місяці тому

    Is there a way to code-split it based on routes to make it lighter?

    • @swildermuth
      @swildermuth  2 місяці тому

      @@muhammedadel9673 not that I know of

    • @emmanueladebiyi2109
      @emmanueladebiyi2109 Місяць тому

      I went down this rabbit hole sometime earlier. Currently not possible as a single dll is generated

    • @danroth27
      @danroth27 Місяць тому +1

      You can use lazy loading to load parts of the app based on the route.

    • @emmanueladebiyi2109
      @emmanueladebiyi2109 Місяць тому

      ​@@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 🙌🏽🙌🏽🙌🏽

  • @pierre9368
    @pierre9368 26 днів тому

    Blazor is great for the "admin" part of a website. Also just use server rendering instead of wasm.

  • @xamarinmaster1403
    @xamarinmaster1403 Місяць тому

    I have dabbled in web development my entire career, but never really fully engaged as a full time web developer. Therefore, I am ignorant in a lot of things regarding modern web development. The biggest web application I ever wrote was back in 2004 which used java applets and Nexaweb (which I don't think exists anymore). Anyway, I have never liked HTML, CSS, and JS so always tried to avoid learning them well and looked for alternatives, like java applets, GWT, Silverlight, etc. Therefore, Blazor is wonderful in my naive opinion. I learned C# in 2010 when Xamarin came out so that I could do cross platform mobile apps. C# is by far my favorite language so getting to use C# for both backend and front end is very important to me. Every time I try to learn modern web technologies, like JS, TS, Vue, React, Node, etc, I just get overwhelmed with all of the tooling. It seems there are so many little tools and commands that you have to run to get anything done. Like, what is vite and why is it needed? Being able to click Run or Build in VS is so much easier while using NuGet for all of my dependencies.

    • @slipoch6635
      @slipoch6635 11 днів тому

      One of the things that gets me is how many of the JS tools and systems like NPM etc. require systems access and pass it over to the package it is installing.

  • @bjorns1135
    @bjorns1135 2 місяці тому

    Blazor's use case is probably geared towards the more highend webapps, than your run of the mill webpage.

    • @swildermuth
      @swildermuth  2 місяці тому +3

      Or Enterprise/internal apps instead of websites.

  • @danhartley2136
    @danhartley2136 Місяць тому +2

    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.

  • @CyberSpace.global
    @CyberSpace.global 21 день тому

    quite insightful.

  • @c1d3r-lf5ug
    @c1d3r-lf5ug 2 місяці тому +1

    I prefer Blazor over React, it has the support of the Dotnet framework and it tells. Blazor is also a compiled language so expect issues with hot-reloading. I see a "possible" better JS framework in Blazor then i do in React, i havent tested the limitations.

    • @swildermuth
      @swildermuth  2 місяці тому +1

      I think Vue is awesome, but if it is working for you...no need to change.

    • @paragateoslo
      @paragateoslo 2 місяці тому

      Not having hot reloading as a frontender is a horrible experience. Having to compile the app over and over again drives med mad. Blazor should only be used in apps where user experience is somehow not important.

    • @c1d3r-lf5ug
      @c1d3r-lf5ug 2 місяці тому

      ​@@paragateosloBlazor does have hot-reload, unless you expect it to work when changing internals or something.

    • @paragateoslo
      @paragateoslo 2 місяці тому +1

      @@c1d3r-lf5ug well only slightly. Its highly unstable to the point of simple css prop changes ofte doesnt register.

    • @c1d3r-lf5ug
      @c1d3r-lf5ug 2 місяці тому

      @@paragateoslo Yea it is not ideal.

  • @Thyrius82
    @Thyrius82 9 днів тому

    For me, as someone who has years of experience with Angular and React, I feel like switching to Blazor brings little value. I care as much about using C# for the front-end as I do about using JavaScript for the back-end. Maybe because I dislike the idea of front-end frameworks that hinge entirely on the back-end technology in use. Instead, I’d much rather see a brand-new, web-tailored language replace JavaScript, with fresh frameworks built from the ground up on that foundation.

    • @swildermuth
      @swildermuth  8 днів тому +1

      I get that. But if Blazor works for some, I think that's fine. We don't need one solution for all.

  • @BenjaminSmith-pp3yg
    @BenjaminSmith-pp3yg Місяць тому

    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!

    • @swildermuth
      @swildermuth  Місяць тому +1

      1. Yes, Knockout -> AngularJS -> Angular -> Vue
      2. Composition Syntax is so much easier than debugging the Options Syntax.
      3. Yes. (Having stores that are testable business logic is key here). Same story I've been telling for 15+ years (WPF, Angular, etc.)

  • @UmmarFarooqMahroof
    @UmmarFarooqMahroof 24 дні тому

    I'm actually intrigued with the whole .NET maui blazor hybrid concept. Because I think html css is the best UI language ever and the power of C# for controlling managing the logic is excellent, the only ballbreaker is the xaml, but I suppose that binding/mapping needs to happen somewhere. What are your thoughts on .NET MAUI Blazor hybrid apps

    • @swildermuth
      @swildermuth  24 дні тому

      Haven't used it. Is it HTML Based like Blazor WASM?

    • @UmmarFarooqMahroof
      @UmmarFarooqMahroof 24 дні тому

      @swildermuth yeah, essentially blazor components inside a "webview" component but in a cross platform app. Under the leadership of James montemagno (on UA-cam)

    • @UmmarFarooqMahroof
      @UmmarFarooqMahroof 24 дні тому

      Oh and it's an official. Net maui thing, not a 3rd party Extension

    • @swildermuth
      @swildermuth  24 дні тому

      @@UmmarFarooqMahroof "Inside a WebView component", I get nervous.

    • @UmmarFarooqMahroof
      @UmmarFarooqMahroof 24 дні тому

      @@swildermuth maybe I'm not doing it justice, but yes that was my initial thought too, however I would like to see yourself have a go and your thoughts on it, if you get a chance, because the idea is that you have one way to create a ui for all platforms (inc desktop in a single codebase In a highly productive language like HTML

  • @Eric-v8t
    @Eric-v8t 2 місяці тому

    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.

    • @slipoch6635
      @slipoch6635 11 днів тому

      cheaper/younger developer who don't understand why a loop they wrote takes so long when they have a file i/o op inside it.

  • @abrrrakadabrrra
    @abrrrakadabrrra 14 днів тому

    blazor is the killer of js and all its funny frameworks :)

  • @Explorest
    @Explorest Місяць тому

    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.

  • @Qrzychu92
    @Qrzychu92 2 місяці тому +5

    From my experience, blazor has a niche use and if you don't fall into it, it's a mess.
    However if you do, it's a blessing. If you create am internal app with 50 users, blazor server is just so nice - keeping everybody up do date is easy, no time wasted on creating endpoints, just do the thing.
    Another use case is internal PWA - app that gets installed once and then users just keep it opened. Initial download time and startup time become irrelevant. Libraries around using sqlite are just so magic compared to JS, you can create some really nice things.
    I would happily trade the time I spend tracing "undefined is not a function", or wondering if hot reload did work or do I have a typo, for couple restarts here and there. At least I knwk what I am waiting for.
    Would I use Blazor for an app that is used by the public on a phone connection? Probably not.
    In every other case, I find it really nice

    • @swildermuth
      @swildermuth  2 місяці тому

      Why is a private PWA more beneficial vs. Vite + PWA?

    • @Qrzychu92
      @Qrzychu92 2 місяці тому +5

      @@swildermuth well, personally I find I spend less time restarting the app with Blazor (it's pretty fast to restart) than I waste trying to do things in JS.
      I am far from proficient with JS - just having LINQ in Blazor is enough argument for me. Apps that I create like that don't need flashy UI, so Tailwind not being as easy to use is not a problem - what counts is the app doing the thing it needs to do.
      For me, and many C# devs, it's much easier to achieve in C#. Because let's be honest, most of the work is filtering a list, and uploading a form, maybe store some cache in SQLIte for offline support (which you can do with EF Core in Blazor WA :))
      If your app does more than that, probably use Vue. Out of all the JS frameworks this one is my favourite

    • @rupture007
      @rupture007 2 місяці тому +1

      ​@@Qrzychu92 Exactly! It's not JavaScript that is the biggest draw. I use mostly "Vite + React + TypeScript" for work and even some personal projects. However, anything non-web, Blazor Hybrid is what I would choose in a heartbeat. That is not what this video is talking about though. I do agree though I would just rather work in C# although I consider myself proficient in both.

  • @PicaPauDiablo1
    @PicaPauDiablo1 2 місяці тому +2

    Just FYI Shawn, typo in Title. Very cool video though, thanks man.

    • @swildermuth
      @swildermuth  2 місяці тому

      Oops, you caught me! Thanks for the heads up.

  • @harrisonwell1719
    @harrisonwell1719 Місяць тому

    When it comes to front end nothing beats JavaScript

  • @PeterMatthews-j9x
    @PeterMatthews-j9x Місяць тому

    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.

    • @swildermuth
      @swildermuth  Місяць тому

      Exactly. Blazor is a different use-case.

    • @PeterMatthews-j9x
      @PeterMatthews-j9x Місяць тому

      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.

  • @law6906
    @law6906 22 дні тому

    I personally just dont like the though of GUI being integrated with your business logic which to me is what Microsoft's MVC does. Pick a language / framework that works best for your data logic. Pick a language / framework for you business logic. Pick a language for your Gui logic. If you make your language determine what you pick for any solely on "I don't want to have to learn / understand multiple languages" you are doing the application wrong.
    Personally my goto is Angular / typescript frontend , c# serverside , and database i'm starting to like Postgresql but Tsql is still VERY good imo.

    • @swildermuth
      @swildermuth  18 днів тому

      The goal of MVC was to avoid the mix of GUI and business logic, but lots of companies missed the memo. I am with you, MVC/REST/MinimalAPIs are the way I prefer to write interactivity with a client - though I don't want to throw the baby out with the bathwater when it comes to some benefits of a hybrid model of server and client rendering. But just rendering.

  • @ttolst
    @ttolst 2 місяці тому

    The more i look into Blazor, the more i feel those who love it do so because they really are backend specialists trying to go full stack without learning the skills needed.
    The server version... wtf, new webforms. The Wasm feels like such an ugly fat hack. Just make your services API based and stateless, and use modern javascript like Vue for the client. Add someone to the team with competencies to teach the others. The client will be much faster, and you can have specialists in the team (no frontend specialist will touch Blazor)
    If you have not tried it, then i strongly recommend that you try to get into a position where you can work side by side with a highly skilled frontend developer and see the difference they can make when they truly understand the stack and think in reusable components.

    • @swildermuth
      @swildermuth  2 місяці тому

      I think you're on the money here. Blazor (to me) fits into a space where you have C# full-stack (used to be WinForms or WPF) that need to move to web-based and have no time/interest in the JS ecosystem.

    • @HMan2828
      @HMan2828 Місяць тому

      "The server version... wtf, new webforms. The Wasm feels like such an ugly fat hack. Just make your services API based and stateless, and use modern javascript like Vue for the client."
      I suggest you actually try Blazor Interactive Server for yourself... It has nothing to do with WebForms... WASM is still a novelty, but it has its uses. Think for example running a very CPU intensive algorithm... Or even running a desktop-quality game in a browser. You can run compiled code from a browser. Although, I agree too many people focus on WASM when talking about Blazor. They are two different things. WASM is an open standard, it's not reserved to Blazor. And honestly from the little Vue I have done (a little bit, not a lot), Razor pages do exactly the same thing, most of the time easier... Scoped styles, reusable components, two way databindings, etc all are a core part of Blazor too. And if you want to use API calls, just have at it! You can build a SSR application, a separate API layer, and use controllers if you want, you don't HAVE to use SignalR... But that kind of defeats the purpose of Blazor...
      I know plenty of JS, but I just hate it. Up until Blazor I HAD to use either JS or TS. I was making due. Now I can actually write the entire application in C# with near-zero JS and none of its limitations.

    • @swildermuth
      @swildermuth  Місяць тому

      @@HMan2828 For C#-only devs, the WASM feels very similar to building in JS-SPAs. At least, that's how i'd use it. Though, I've been in JS/TS for so long, I'd likely not use it as I like how that ecosystem works.

  • @davidmasterson883
    @davidmasterson883 2 місяці тому +3

    wasm released 1 year after server side, not hard to find unless you just want to suggest it is not a solid option to suit your pre decided opinion!

    • @swildermuth
      @swildermuth  2 місяці тому +1

      It's just an opinion. The rolling experience continues to be painful. And how wasm works has decidedly checked in the last few years. A lot less friction that earlier editions. Debugging is still annoying IMHO.

  • @LarsWorkShop
    @LarsWorkShop Місяць тому +3

    Blazor rocks - so much less work than angular

    • @swildermuth
      @swildermuth  Місяць тому +1

      Sure, but Angular (until recently) was so much boilerplate. Which is why I ended in Vue-land.

  • @StephenStrong-x1s
    @StephenStrong-x1s 2 місяці тому +4

    Wow the courage to ask "Might I be Wrong?" very rare these days. Like you I have been allover the ever changing web stack. I like blazor because I build editors that expect users to spend a lot of time in the client. However I do not think that my dll are beiung recompiled to wasm. it all works, but maybe it could work better. Yes there some dark magic here

  • @MarkoMijuskovic
    @MarkoMijuskovic 2 місяці тому +1

    I don't want to sound arrogant or sarcastic here, but this video very clearly sums up all the problems with modern javascript: ua-cam.com/video/Uo3cL4nrGOk/v-deo.html. Now if we consider that time = money then Blazor does exactly what it is supposed to do - increase my productivity by reducing the daily javascript build/maintenance hell that we all live in. Does that mean it is better than or more viable than javascript? I don't know, I'm not that smart or educated, I think of myself as an average programmer. But I know that it makes my job much easier, fun and it allows me to focus on what matters - building a product instead of constantly doing plumbing fixes. We went from Knockout to React to Vue and now the latest flavor of the month is Svelte. Every one of them was hailed as "game changer" and, in the end, they all end up being... just another JS framework.

    • @swildermuth
      @swildermuth  2 місяці тому

      That's not how I see it. The tooling/build for JS is, frankly, more mature than VS's Blazor WASM story. It's failings probably are hamstrung by the JS->WASM bridge deficienties. But if it is working for you, all power to you!

    • @MarkoMijuskovic
      @MarkoMijuskovic 2 місяці тому

      What do you mean by js->wasm bridge deficiencies? Can you give me a concrete example?

    • @swildermuth
      @swildermuth  2 місяці тому +1

      @@MarkoMijuskovic en.wikipedia.org/wiki/WebAssembly#Limitations

    • @minnedanhieux1040
      @minnedanhieux1040 Місяць тому

      @@swildermuth Honestly don't see why this is a problem...

    • @swildermuth
      @swildermuth  Місяць тому

      @@minnedanhieux1040 Not being able to manipulate the DOM seems like a decently sized hole.

  • @Arcadenut1
    @Arcadenut1 2 місяці тому +2

    Development tools are a religion...

    • @swildermuth
      @swildermuth  2 місяці тому

      May your debugger go with you.

    • @gfinzer
      @gfinzer Місяць тому

      @@swildermuth And also with you

  • @Suriprofz
    @Suriprofz 3 дні тому

    Performance is an issue

  • @robertok4646
    @robertok4646 13 днів тому

    Interesting interview: Daniel Roth & Nick Chapsas (ua-cam.com/video/2uLGXe95kTo/v-deo.html&ab_channel=NickChapsas)

  • @Siddiskongen
    @Siddiskongen Місяць тому

    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.

    • @swildermuth
      @swildermuth  Місяць тому

      That's another way. But learning XAML isn't a piece of cake. There is a real learning curve; so if you are starting from scratch and building a web app, why not learn something that has a bigger community and usefulness in other use-cases?

  • @TheCzemike
    @TheCzemike Місяць тому

    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.

    • @pookiepats
      @pookiepats Місяць тому

      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.

    • @pookiepats
      @pookiepats Місяць тому

      * if you want to

    • @swildermuth
      @swildermuth  Місяць тому

      While, yes, that's true. Lots of companies have needs for full-stack (small teams, internal apps, etc.) and this is an easy way to accomplish that. Not every app needs to be fast and scalable.

  • @BobFrTube
    @BobFrTube 2 місяці тому

    I long moved from C# to TypeScript and don't see myself coming back. I do my desktop apps using Node with Express.
    Blazer seems to be for those who can't move on. I'm reminded of people who did tooling so Basic programmers would write web servers and apps without learning all that asynchronous stuff. DIdn't go well.

    • @swildermuth
      @swildermuth  2 місяці тому +1

      I am not sure that's fair to those developers, but for C# only shops (think the new version of WebForms) - it's a viable solution IMHO

    • @keyser456
      @keyser456 2 місяці тому +1

      Could not disagree more. I moved my web app from JS to TypeScript circa 2016 which was nice for some semblance of type-safety. When Blazor WASM did finally hit, I was happy to throw away TS in favor of actual C# -> WASM in the client. No transpiling, npm, version mismatches, or other clunky build steps necessary. TS is for those who can't/won't move on, but stick with it boomer! :)

    • @BobFrTube
      @BobFrTube 2 місяці тому

      @@keyser456 Why go back to C# when you go just go back to Lisp, the great grandparent of TS? None of this new-fangled C-derived languages

    • @keyser456
      @keyser456 2 місяці тому

      @@BobFrTube You clearly haven't used Blazor WASM or you'd have moved away from TS yourself by now. Luddites gonna be Luddites though!

    • @BobFrTube
      @BobFrTube 2 місяці тому

      @@keyser456 You make many incorrect assumptions. I write peer apps, not clients.

  • @dand4485
    @dand4485 2 місяці тому

    Might be me but what kind of turns me off on Blazor is the dependency on the sever. Might be nice for some stuff but i find my svelte stuff plenty fast for what i might need. And generllly i'll do the front end ui in svelte, and use messages to the pack end via some message. Then may server routines are C# for doing the heavy lifting for the app, them seems to me as the best mix... Could be wrong but i feel as i get the best of both worlds and good enough performance as a whole...

    • @swildermuth
      @swildermuth  2 місяці тому +2

      Blazor WASM has no requirements on the server.

  • @kimpedersen4746
    @kimpedersen4746 2 місяці тому +1

    i really like the comparing to forms .. it very nice to make all the mvvm code in c# and only have the gui part as html with binding to the vm . we do internal apps where we move a away forms to web. also nice to be able to make serverside since we have no heavy traffic

  • @lolyasuo1235
    @lolyasuo1235 2 місяці тому

    Everyone knows that JS (even TS) becomes a mess when talking about large-scaling apps. This is something that JS devs are complaining about all the years.

    • @swildermuth
      @swildermuth  2 місяці тому

      The "for years" is an interesting inclusion. This had been true for years, but in the last 5 years or so (coinciding with TS's adoption), large scale JS isn't as much of a mess as it once was. Bad architecture is bad, no matter the language.

  • @ronnyek4242
    @ronnyek4242 2 місяці тому

    I just looked into it a week or so ago... I'd say tooling is NOT good... Significantly worse experience than workflows with react or other dev.
    I've always been a skeptic, but I really don't get blazer server is for, and blazor wasm seems less than optimal.
    I also think razor as a templating language is not great in 2024

    • @swildermuth
      @swildermuth  2 місяці тому

      I think it's fine. Sure, it's not a mustache language, but I am not sure v-for is much better than @foreach.

    • @abrrrakadabrrra
      @abrrrakadabrrra 14 днів тому

      maybe you should take some lessons how to use it :)

  • @afshin7104
    @afshin7104 2 місяці тому +3

    Hi shawn I may be wrong but I think blazor will have the same fate as windows phone for exactly the same reasons that windows phone failed

    • @NBGTFO
      @NBGTFO 2 місяці тому

      I agree. I think it'll be around for another couple of years and then fade away... unless they can make it much better than it is now.

    • @carlosjosejimenezbermudez9255
      @carlosjosejimenezbermudez9255 2 місяці тому

      WASM isn't at the stage necessary for something like Blazor to kick off outside of corporate environments.

    • @swildermuth
      @swildermuth  2 місяці тому +3

      Think web forms more than windows phone, I expect. Loyal following, long lived.

    • @SBDavin
      @SBDavin 2 місяці тому +1

      I don't understand this comment.
      Yes - I had Microsoft phones, loved them, and feel Microsoft and the phone carriers dropped the ball with them. I especially won't buy Microsoft hardware ever again.
      However, most Microsoft software frameworks (OLE, COM, .NET, WinForms, WPF, etc.) have been around a long time and are still supported today.
      Microsoft has cleverly intertwined the MVC, Web Pages, and Blazor frameworks together. WIll they drop all three? What's the replacement?

    • @minnedanhieux1040
      @minnedanhieux1040 28 днів тому +1

      Say's some random guy on youtube...

  • @this-is-bioman
    @this-is-bioman 20 днів тому

    Blazor is just another cheap attempt to avoid Javascript. Just replace the damn thing with something modern and strongly typed and stop creating these stupid frameworks or workarounds like typescript.

    • @swildermuth
      @swildermuth  18 днів тому

      I can't agree (especially around TypeScript) but if JS works well enough for you, glad it works!

    • @abrrrakadabrrra
      @abrrrakadabrrra 14 днів тому

      no it isn't