The Blazor Competitor is Here!

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

КОМЕНТАРІ • 327

  • @krzysztofjeske
    @krzysztofjeske 6 місяців тому +116

    Hi, Hydro creator here. Thank you Nick for checking out Hydro and creating this video! Thank you everyone who tried Hydro, I'm grateful for the support you gave by starring the repo and testing the features. I really appreciate that. I appreciate also all the comments, positive ones and the criticism - both are needed!

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

      Thank you for your awesome work!

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

      I think it's something very interesting for quick and dirty applications like internal tools or concept prototypes.

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

      Interesting project, keep up the good work! It's always good to have alternatives

    • @krzysztofjeske
      @krzysztofjeske 6 місяців тому +1

      @@xybersurfer Thanks! Could you say something more about the composability issue in Blazor? What's the main cause of it?

    • @viniciusvbf22
      @viniciusvbf22 6 місяців тому

      This is certainly a step in the right direction. Blazor and other technologies have become way too complex for very little benefits, but, for some reason, only programmers with 15+ years of experience seems to understand that.
      Sometimes I see new devs in my company getting very excited with a tech or a concept that existed 10 or 12 years ago.
      "This is running in the server? WOW!"
      Just the other day I made a PoC in 30 minutes using WebForms and they were speechless 😅

  • @MAMW93
    @MAMW93 6 місяців тому +337

    lmao we're full circle back to webforms and update panels

    • @margosdesarian
      @margosdesarian 6 місяців тому +3

      Yeeeeah! :)

    • @KorsAir1987
      @KorsAir1987 6 місяців тому +33

      20 years later, I still have nightmares with webforms.

    • @ErazerPT
      @ErazerPT 6 місяців тому +9

      THANK YOU.... i thought i was taking crazy pills because i was think "oh, we back to webforms... wonder why we dumped that trash, can't really remember..."

    • @Talk378
      @Talk378 6 місяців тому +4

      Thanks for triggering PTSD

    •  6 місяців тому

      Yep

  • @JoseLuisOrihuelaConde
    @JoseLuisOrihuelaConde 6 місяців тому +52

    It's a cool idea, but late in time. Blazor 8 give us a lot of choice on how to create components and its render modes. I think that WASM is evolving in an effective way and it's the way to go.

  • @SuperWarZoid
    @SuperWarZoid 6 місяців тому +193

    idk, at this point i think i'll stick to blazor

    • @alkishadjinicolaou5831
      @alkishadjinicolaou5831 6 місяців тому +1

      Same here!

    • @PelFox
      @PelFox 6 місяців тому +6

      I prefer htmx 😊

    • @RamonDeKlein
      @RamonDeKlein 6 місяців тому +23

      I"ll stick to Silverlight ;-)

    • @markovcd
      @markovcd 6 місяців тому +3

      I'll stick to WinForms that is run on virtual machine which is then rendered on a page, but thanks!

    • @alkishadjinicolaou5831
      @alkishadjinicolaou5831 6 місяців тому

      @@markovcd Interesting. What framework are you referring to?

  • @browny99
    @browny99 6 місяців тому +69

    Hm, htmx with mvc/razor pages seems simpler

    • @johnsuckher3037
      @johnsuckher3037 6 місяців тому

      you can now do blazor SSR without signalR and return html sections (RazorComponentResult) from api controller (RazorComponentResult(new{ whatever you need to pass to it})). modern touch of server rendered site

    • @technolung
      @technolung 6 місяців тому +1

      It is

    • @davideastman5806
      @davideastman5806 6 місяців тому

      I've been enjoying this combination, too. Let servers serve html and decorate the front end a little to handle interactivity

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

      Hydro makes it easier to work with temporary local state, for example a form in a draft state that contains fields dependent on each other, that can interact with each other before the data is saved

    • @eyoo369
      @eyoo369 6 місяців тому

      Honestly this year I started a new MVC project with Dotnet 8.0 and it works beautifully. Heck I even use JQuery for some light interactivity. Managed to get 850k in funding for the business idea. Don't feel discouraged about "SPA's being the next thing"... yes they're cool but ultimately choose which tools feel right for you and just ship features man

  • @keyser456
    @keyser456 6 місяців тому +45

    Competition is always good, and I genuinely wish the creator luck! That said, as a business owner & architect looking for a solid production-ready platform that will be supported for years going forward, Blazor still seems like the more obvious choice. I'm not seeing any compelling reasons for me to switch, not yet anyway. If nothing else, maybe this will force MS to address any major limitations in Blazor, and that's a good thing. :)

    • @catalystcorp
      @catalystcorp 6 місяців тому

      "as a business owner & architect looking for a solid production-ready platform that will be supported for years going forward" -- as one of those myself, I'm just sticking with React/Angular and plain old javascript/typescript with .NET on the server. This whole wacky circus tent that is Blazor and WASM seems like a nice way for dotnet devs to pad their resumés and waste time in scrum meetings coming up with convoluted DI systems when all they need to write is a couple of divs on a Contact Us page.

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

      Whilst I agree, production ready and being around for years isn't really Microsoft's thing though is it! Sliverlight, Maui seem like good examples!

    • @PelFox
      @PelFox 6 місяців тому

      Blazor completely changes everything with every new .net version. I wouldn't call it stable. We have so many different blazors right now, it's a mess.

    • @keyser456
      @keyser456 6 місяців тому

      @@thefattysplace Fair points. I got burned on XNA / Managed DirectX and Silverlight. But... *everybody* who went down the Flash/Silverlight path got burned. The Mobile / Desktop shared space is always going to be volatile. Xamarin had a bit of a smell to it, and it's why I won't touch Maui. WebAssembly has been around for a while now (2017 looks like?) and has been adopted by all the major browsers. Once you actually build something in Blazor WASM you realize this thing has legs. It really is .NET and C# in the browser, like virtually no javascript is needed. A tiny bit of JSRuntime business here and there to achieve some hacky stuff, but I can see that getting resolved. I don't see WASM going away, but who knows for sure... I've got a lot of time and money invested into it.

    • @keyser456
      @keyser456 6 місяців тому

      ​@@thefattysplace I got burned on Silverlight, but *everybody* who did the Flash / Silverlight thing did. .NET and C# have been around now for over 20 years (I started v1.0 circa 2002). The real beauty of Blazor is in the SPA / WASM paradigm. WASM has been around for about 7 years now. It's here to stay.

  • @Tsunami14
    @Tsunami14 6 місяців тому +22

    I'm not sure how I feel about Hydro (reminds me of WebForms), but I generally agree that alternatives are a good thing. ...so long as we don't get to JavaScript levels of "framework of the week".

    • @abdouldia1605
      @abdouldia1605 6 місяців тому

      I was wondering if we are not getting back to webform era. Same thoughts as you.

    • @TehKarmalizer
      @TehKarmalizer 6 місяців тому

      The history of development paradigms is a spiral. What is old will one day be new again.

  • @ericblankenburg
    @ericblankenburg 6 місяців тому +144

    He should have spent his time creating an alternative to Maui.

    • @Birb-
      @Birb- 6 місяців тому +13

      exactly this, I've always disliked the Cshtml and prefer blazor over it, but man an alternative to MAUI would be so helpful, either I'm writing blazor hybrid or avalonia, never ever again will I go through the maui BS

    • @sacalbal
      @sacalbal 6 місяців тому +1

      I don't think that MAUI itself is bad. The tooling is the real difficulty for me, when developing on windows (mainly because debugging on ios while being paired to a mac is slow).

    • @DeusinMachina
      @DeusinMachina 6 місяців тому +12

      How do you feel about AvaloniaUI?

    • @mynameisshadywhat
      @mynameisshadywhat 6 місяців тому +12

      There's already AvaloniaUI and Uno Platform...

    • @SuperGulamali
      @SuperGulamali 6 місяців тому +3

      Microsoft needs to add more developers to support MAUI

  • @simonegiuliani4913
    @simonegiuliani4913 6 місяців тому +18

    Hi why are you not looking into HTMX + C#?

    • @krzysztofjeske
      @krzysztofjeske 6 місяців тому +1

      I was, in the beginning, but I realized quickly that it was hard to manage temporary local state, for example a form in a draft state that contains fields dependent on each other, that can interact with each other before the data is saved

    • @simonegiuliani4913
      @simonegiuliani4913 6 місяців тому

      @@krzysztofjeske yeah if transactions require a lot of "local interactions" than having an heavier client may be beneficial and it's not gonna play out great with HATEOS since you have a state machine model spread between client and server but it's really good otherwise.

  • @LiveErrors
    @LiveErrors 6 місяців тому +10

    Im getting pretty sick of youtube videos not putting the name of the subject in the title

  • @bartlomiejuminski
    @bartlomiejuminski 6 місяців тому +49

    Blazor WASM is my favorite version of Blazor. Just a SPA website without any unnecessary complexity being added.

    • @RoaringOrange
      @RoaringOrange 6 місяців тому +1

      Word

    • @Talk378
      @Talk378 6 місяців тому +1

      The problem a company I talked to was having is slow initial load times. Didn’t they fix this with a static site that gets updated when the new wasm is finished compiling?

    • @bartlomiejuminski
      @bartlomiejuminski 6 місяців тому +6

      ​@Talk378 The problem with Blazor Server is that it uses SignalR for interactivity. The problem with SSR is that the website is not interactive. I want my website bo be interactive all the time and i don't want it to use websockets (SignalR). So this is the reasons why i prefer Blazor Webassembly Standalone project rather than Blazor App (with all the complexities from switching render modes). I really like Blazor WASM but here are some points to consider before using it:
      - huge bundle size (~ 10MB) - slow initial time
      - no support for DOM manipulations (canva etc.)
      - bad performance (slower benchmarks than other frameworks)
      - small amout of js libraries ported to Blazor
      - Blazor community is still very small

    • @sulmarpl
      @sulmarpl 6 місяців тому

      ​@@bartlomiejuminski WebAssembly = long loading issue. Blazor Server = connection interruption problem SignalR. That's why I chose the third way: htmx with blazor SSR. Works quickly and is easy to write.

    • @dovh49
      @dovh49 6 місяців тому

      @@bartlomiejuminski With all those negatives I'm surprised that anyone would use Blazor. I build PWAs on the side (offline first) for personal use and my most complex app is 100kB total. The underlying code that makes it all work is 15kB total. Why would I force a user to download 10 MB just to use my site? That would kill my cheap phone.

  • @micoberss5579
    @micoberss5579 6 місяців тому +10

    Why not just use htmx with razor pages ?

    • @sulmarpl
      @sulmarpl 6 місяців тому +1

      I use htmx with Blazor Component. Better than Razor Pages.

    • @maacpiash
      @maacpiash 6 місяців тому

      I think this is a better version of HTMX with Blazor static SSR - you can make reusable components, integrate objects from .NET DI container into them, and do a lot of cool stuff on the server with C#.

    • @PelFox
      @PelFox 6 місяців тому +1

      @@sulmarpl In what way is it better?

    • @sulmarpl
      @sulmarpl 6 місяців тому

      @@PelFox I don't have to create the entire page. I expose the blazor component as an endpoint. Fast and convenient. You have to try ;-)

    • @PelFox
      @PelFox 6 місяців тому

      @@sulmarpl Could you show some examples? Last I tried it used minimal api and you lost strongly typed models when returning components. I fail to see the benefit of this compared to using razor pages with partial views and viewcomponents.

  • @hio86
    @hio86 6 місяців тому +5

    We have blazor static rendering with enhanced forms or we could just user static rendering and HMTX. This seem to need more bolier plate for the same effect. I can't think of any reason why I would want to use hydro instead of the static rendering options.

    • @maacpiash
      @maacpiash 6 місяців тому

      I think this is a better version of HTMX with Blazor static SSR - you can make reusable components, integrate objects from .NET DI container into them, and do a lot of cool stuff on the server with C#.

  • @marciogoularte
    @marciogoularte 6 місяців тому +33

    Another good alternative is to use Htmx with Blazor SSR with a per-component route. There is no library for this, but it does similar behavior

    • @sammyjjb
      @sammyjjb 6 місяців тому

      Someone recently made a library called Htmxor that integrates htmx with Blazor SSR. There's a talk about it on the dotnet youtube channel. Still seems to be in beta though.

    • @sulmarpl
      @sulmarpl 6 місяців тому +7

      I'm currently using htmx with blazor SSR and it works great.

    • @johnsuckher3037
      @johnsuckher3037 6 місяців тому

      Htmxor is trying to achieve it so separate endpoints wouldn't need be created

    • @NotInventedHereShow
      @NotInventedHereShow 6 місяців тому

      There is a library. Check out Htmxor.

    • @Daniel15au
      @Daniel15au 6 місяців тому

      "there's no library for this" what type of library are you looking for?

  • @logicalsparrow2130
    @logicalsparrow2130 6 місяців тому +1

    I've been excited about Blazor since it came out but haven't had a business case to use it so my knowledge of it isn't too deep, but the existence of Hydro made me question some of the things I thought I knew about it. I went to read the blog post to find out what the reasons were for building it. The idea that having a WASM version of .NET is overkill seems a bit silly to me since you can specify a CDN for that and it will be cached so it should slow down page loads at most once, and I recall that the assembly file was just a few MB, so it's hardly expensive. The SignalR re-connection issue I thought was mostly solved by a feature added in, I think, .NET Core 3.1. The load balancing and connection exhaustion issues might be the only concerns I had left. Anyway, for cases where a push model isn't needed, this AJAX-centered approach seems like a great idea.

  • @kipchickensout
    @kipchickensout 6 місяців тому +5

    I went through WinForms and then WPF but wanted a better way of making good UI, went to MAUI which I found hard and weird to use and not so different from WPF, then skipped Uno but tried Avalonia (because of the good reception online) but the support for intellisense and various components just felt so clunky to me, at some point I noticed Blazor and liked it but I wanted to make regular Desktop applications, didn't want to use Avalonia so I decided to go with Blazor Hybrid in MAUI but MAUI does not support linux for some reason so I finally found Photino, which seems like barely anyone knows of it. I have yet to see how well it works for me
    And then there's this one that's new yet again

    • @juffma
      @juffma 6 місяців тому +1

      I recently found it too, it seemed really interesting. I developed something similar for myself however the blazor support of photino seems really cool.

    • @Zenoc2
      @Zenoc2 6 місяців тому

      I had forgotten Photino! I was very interested when CODE Magazine first published it. The Blazor package for it looks appealing.

    • @kipchickensout
      @kipchickensout 6 місяців тому

      @@juffma Yeah true, I think for blazor I had to copy stuff that an example app showed, because the project templates didn't reflect it

    • @markparker6499
      @markparker6499 6 місяців тому +1

      Never heard of Photino, but gonna check it out now!! 👍

    • @notsingular
      @notsingular 6 місяців тому

      I've been looking at open source alternatives to wisej and Photino looks promising.

  • @psyaviah
    @psyaviah 6 місяців тому +9

    For the sake of competition and growing ideas, please make more videos on it. Blazor is still preferred for now, but, competition is needed. I like the fact it at least makes it as easy as Blazor to write code. So I'm excited for that. And, to be honest, Blazor needs competition to keep it fresh. I love Steve's work, but what has been done in .NET 8 and the missing templates we have, is really making people furious and is complicated for people...
    Maybe hydro can deliver new takes on stuff, and we they can all steal from each other ;)

  • @IOSALive
    @IOSALive 6 місяців тому +1

    Nick Chapsas, This is awesome! I subscribed because I want to see more!

  • @Artokieffer
    @Artokieffer 6 місяців тому

    What is the difference between the method you showed us to store the property data at 11:02 and the already existing component state that we have for long in .NET ?

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

    Blazor hasn't even caught fire after all these years and now there is a competitor!!!

  • @hanisafa9094
    @hanisafa9094 6 місяців тому

    Do you think, Asp team can introduce a similar thing to a blazer server so it optionally doesn't depend on signal R? Or signal R is cobbled to the implementation

  • @asvirts
    @asvirts 4 місяці тому

    I don't like that you had to add external script tags to the project. Is that required or just an example for this video?

  • @maacpiash
    @maacpiash 6 місяців тому +1

    I think this is a better version of HTMX with Blazor static SSR - you can make reusable components, integrate objects from .NET DI container into them, and do a lot of cool stuff on the server with C#.
    I just have one question that was not answered by this video: Nick included Alpine.js in the head of the Layout, that means there are definitely some client-side capabilities, i.e. interactive changes that do not require HTTP calls to the server. I would like to see how that would work.

  • @pilotboba
    @pilotboba 6 місяців тому +1

    Kinda looks a bit like htmlx where the server is doing the rendering and sending HTML fragments that the client side js uses to update the dom.

  • @rn.cslive
    @rn.cslive 6 місяців тому +1

    Hi Nick thank for your demo, did you try to make it can interact with external component like: calendar, date picker ... cause in the real application we really need them .

  • @nothingisreal6345
    @nothingisreal6345 6 місяців тому +1

    If I got this right the updates to the page are all computed on the server. That is: send AJAX request to server, render new, compute diff, send diff back as HTTP response, apply diff - right? That causes many requests, NW traffic and compute time at the server. It is similar to Blazor rendermode InteractiveServer. That is not a good idea for general purpose.

    • @cicher
      @cicher 6 місяців тому

      There is no diff, it's UpdatePanels into Razor pages... it just re-render the component in the server and send the HTML back to the client

  • @bzbetty1
    @bzbetty1 6 місяців тому +1

    Is it truely an alternative if none of the big component libraries adopt it?

    • @PikiPikoslav
      @PikiPikoslav 6 місяців тому

      this. no matter how cool or not, rarely there is a time or chance these days to pursue anything but established productivity

    • @krzysztofjeske
      @krzysztofjeske 6 місяців тому +1

      It's only 5 months old, give it some time :)

  • @djdaveydave123
    @djdaveydave123 6 місяців тому +14

    Geez... if you squint, it is effectively web forms with ajax!

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

      This is my current hell, waiting on my manager to greenlight the migration to Blazor

    • @cicher
      @cicher 6 місяців тому

      UpdatePanels into Razor pages 😹

    • @benjamininkorea7016
      @benjamininkorea7016 6 місяців тому

      Trauma!

  • @xeoneraldo1254
    @xeoneraldo1254 6 місяців тому +7

    Hmm good project, but a bit clunky compared to blazor. It sends the whole HTML as response, Blazor doesn't do that and is more efficient

  • @farmanguliyev
    @farmanguliyev 6 місяців тому

    It helps to add some reactivity to existing big non-blazer applications.

  •  6 місяців тому +6

    Developer should add the ViewState to hold the state. 😂

  • @clhoover4
    @clhoover4 6 місяців тому

    Not sure the value of Hyrdo. Is it just to remove the server required support for Signal R?

  • @leftjabrighthook
    @leftjabrighthook 6 місяців тому +1

    I played around with Hydro, if you are stuck with Razor Pages its a great alternative to Blazor. I like the fact it does not use Signalr.

  • @craigmcinnes1212
    @craigmcinnes1212 6 місяців тому

    this looks great, especially for people who were mainly server side, perhaps this will give them the confidence to try a bit more front end stuff

  • @adamoneil7435
    @adamoneil7435 6 місяців тому

    wow, really interesting. I've been into Blazor for a couple years now. I do have some pain points around SignalR/socket disconnect issues, but overall it's a good dev experience. My WASM experience has not been great, but that's a side issue, really. It's great to see something like this being done. I'm not sure I want to pivot my effort into this, but I do like that this has a simple "feel" to it.

    • @ApacheGamingUK
      @ApacheGamingUK 6 місяців тому

      Socket connection and re-hydration issues should be a lot better in .NET9. If you follow Daniel Roth's talks in the community standups, he talks extensively about the massive changes being made under the hood to make Blazor9 a lot better. It makes me think that Blazor8 was released as an MVP, and was probably rushed out for the November deadline. They've fixed the interactivity paradox; socket rehydration; and, they re-written the Razor compilation paths from scratch, to make Hot Reload work a lot better with Blazor. As well as lots of other small changes that read like a laundry list of low-priority work items that didn't make it into .NET8.

  • @Spylak
    @Spylak 6 місяців тому +1

    This seems like a great option to migrate gradually from regular RazorPages

  • @gabrielandres26
    @gabrielandres26 6 місяців тому +5

    It would be interesting to see how this compares to htmx and razor pages.

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

    *This sounds like the old "Update Panel" from Webforms! Oh, I see @MAMW93 has already noted this!*

    • @sulmarpl
      @sulmarpl 6 місяців тому

      Webforms like Winforms, forever alive ;-)

  • @saymehname
    @saymehname 6 місяців тому +4

    Nice, reminds me of HTMX, I will give this a try. Blazor isn't the best, people are coping it's lackluster at best.

  • @sascha1461
    @sascha1461 6 місяців тому +1

    I'm just a month or two in on a project with blazor (first bigger project doing with it) and I encountered lots of things that I find really annoying with it. This looks more like what I had hoped blazor would be like. I'll definitely give it a try and check if it's worth compared to just using something like React

  • @ApacheGamingUK
    @ApacheGamingUK 6 місяців тому

    I can see this being really powerful as a de-coupled front-end to OrchardCore. It's a bit of a pain to use Blazor as a de-coupled front-end, but because this uses Razor Pages, it would fit right in with the OrchardCore ethos.

  • @supreme_dev
    @supreme_dev 6 місяців тому

    Interesting one, might give it a go for a project, I dislike the slow download of webassembly on first visit in blazor and server-side for high traffic web applications might get expensive

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

    I want to see an example of you updating the page from an event received by the server. These events you showed are nice, but they are triggered from the front-end. Can you have the events triggered from the backend? Since its http, I am guessing... no way

  • @stoched
    @stoched 6 місяців тому +5

    I gave Blazor a try but it was too difficult especially in VS dealing with the random LSP issues. I’ve found Svelte to be a much better alternative. Svelte components are structured very similar to blazor and everything just works. It’s the easiest framework to whip up front ends in imho

  • @billscharf3353
    @billscharf3353 6 місяців тому

    @nick chapsas
    I would love a comparison between hydro and DotVVM. Thr former uses Ajax and the latter backbone.js, but both have 2way data binding without the signalR dependency.

  • @ayorus
    @ayorus 6 місяців тому

    This use similar approach to Livewire, which has some sync problems on slow networks, specially when you have big forms with many dynamic lists.

  • @FPI23
    @FPI23 6 місяців тому +20

    Hail Hydro!

  • @thefattysplace
    @thefattysplace 6 місяців тому

    Seems great. But not sure why i would use this over blazor? If I'm not messing around with what's going on behind, why does it matter if its running on JavaScript or wasm? That's an actual question.

  • @zagoskintoto
    @zagoskintoto 6 місяців тому +5

    Kinda funny nick's been producing content against the same courses they are just launching in dometrain LOL
    EDIT (coming back after watching):
    I liked most of the showcase. It really feels like some of the stuff should've always been like that in blazor.
    What doesn't sell, imho, is the whole Subscribe/Dispatch/DispatchGlobal thing. Idk it feels like reinventing the wheel to just do events and event handlers, and the syntax reminds me of MAUI (which is not a good thing). Nevertheless the fact that the whole thing is just done with ajax and doesn't have the problem of the signalR connection or the wasm download delay feels like the step Microsoft should've always gone with.

  • @CloudTheWolf
    @CloudTheWolf 6 місяців тому

    This gives the same vibes as Livewire Components for Laravel, which is cool!

  • @ueliska
    @ueliska 6 місяців тому +6

    really hope c# doesnt turn into javascript that has 200 new web frameworks every single day lol

    • @an_wobbly
      @an_wobbly 6 місяців тому

      Pretty sure C# was doing it before it was popular with NuGet, just before it was considered a web-first language.

  • @leftjabrighthook
    @leftjabrighthook 6 місяців тому

    everyone suggesting htmx, have you tried changing a htmx action url client side?

    • @johnsuckher3037
      @johnsuckher3037 6 місяців тому

      what kind of action? each action produces events that you can listen and modify before it's being sent rendered or whatever. But I implemented one where I was changing urls, simply get element, set attribute with new url, htmx.process and trigger htmx.trigger if that was your intention

    • @davideastman5806
      @davideastman5806 6 місяців тому

      Why are we changing url's client side? Can you give a concrete example?

  • @PedroPabloCalvoMorcillo
    @PedroPabloCalvoMorcillo 6 місяців тому +1

    I'm in love with Hydro. Awesome.

  • @SajadJalilian
    @SajadJalilian 6 місяців тому

    Finally something like "hot wire" and "live wire" for dotnet 🍺

  • @tempusmagia486
    @tempusmagia486 6 місяців тому +3

    I think this is more a replacement for aspnet mvc. Not match for blazor

  • @Milk-gw1zl
    @Milk-gw1zl 6 місяців тому

    Many people say that's it's like a old WebForms, BUT IT DOESN'T. SSR in react works like that, where it get just html element from server with content. And i think it's future of frontend because it's simple as it is. In my opinio it must be in blazor as alternative to SignalR

  • @EnricoBarbieri86
    @EnricoBarbieri86 6 місяців тому

    I never used blazor before (therefore I can be totally wrong here) but this Hydro looks very like the Angular approach to me… In the video I cannot understand if all those HTTP calls on the Add button are handled by the client or the server. If it’s on the server, it’s a bit of a bummer for me wasting bandwidth and processing for something the client could handle itself.

  • @andriisnihyr6497
    @andriisnihyr6497 5 місяців тому

    I love the fact that this is an alternative to what Microsoft provides. I think we need fresh ideas. I'd love to see how it will evolve. Right now, I don't see much benefit of using it over Blazor. Blazor will most likely be more efficient with the SignalR as a transport.

  • @jaymartinez311
    @jaymartinez311 6 місяців тому

    I hope something comes out with jsx but C#. I don’t use blazor but i would stick to it then using this.

  • @nervousstate
    @nervousstate 6 місяців тому +4

    Latency becomes problem number one here.

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

    I would love some alternative like cshtml in the desktop/mobile UI field, microsoft stickyness with the weird XAML is absolutely terrifying, and Comet appears to be stale...

    • @yperman1
      @yperman1 6 місяців тому

      There is. Its called MAUI hybrid using blazor html css and c#. No need for XAML.

    • @diadetediotedio6918
      @diadetediotedio6918 6 місяців тому

      @@yperman1
      Naturally I'm talking about a native (in the sense of using the native elements of the system OR using another approach that is not embedding/consuming an entire browser in the app, like skia) alternative, the hybrid (at least of what I know) still uses a browser to do it's biddings.

    • @yperman1
      @yperman1 6 місяців тому

      @@diadetediotedio6918 yes it uses webview2. But it works perfectly I have created a few apps and it is very good. Everything is going to work throuhg a browser and the reason the cross platform thing. browsers work everywhere.

    • @fsharplove
      @fsharplove 6 місяців тому

      @@diadetediotedio6918 Webview not a browser. Blazor hybrid > Blazor XAML (PERSONAL POINT OF VIEW)

    • @emmanueladebiyi2109
      @emmanueladebiyi2109 6 місяців тому

      Yeah, really like the Blazor Mobile bindings. You can try it out

  • @AmateurSpecialist
    @AmateurSpecialist 6 місяців тому

    As a former Perl programmer ("There's more than one way to do it!") I'm all in favor of reinventing the wheel, because we might just get a better wheel.

  • @mm-iv9cl
    @mm-iv9cl 6 місяців тому

    @7:12 Nick said, "... you don't necessarily have to use an Azure-managed SignalR instance to get everything to work properly..."
    Could you clarify this? Is all the Blazor Server app's SignalR instances managed by Azure?

    • @hio86
      @hio86 6 місяців тому

      No, it's not. Blazor server works fine on any server. I host it on digital ocean ubuntu VPS.

  • @nihanshuranjanmitra947
    @nihanshuranjanmitra947 6 місяців тому +1

    It seems to me that writting React in C# syntax ...

  • @manojchowdhary4097
    @manojchowdhary4097 6 місяців тому

    Blazor hadn't gotten that popular and there is an alternative already 😀

  • @gregdennis6094
    @gregdennis6094 6 місяців тому

    My only reason for using Blazor is WASM. This didn't appear to do that. The data binding is neat though.

  • @michaelakin766
    @michaelakin766 6 місяців тому

    I am a bit new to Blazor and my current project is using .razor and Nick used .cshtml when and why do you use one over the other?

  • @stephajn
    @stephajn 6 місяців тому

    I don't see the reason for this approach. I am still going back and forth to the server for all state changes. Like others have pointed out, this is WebFirms all over again. Why would I take this over Blazor WASM?

  • @krigrtrue
    @krigrtrue 6 місяців тому

    Nice video
    Please make a video showing viewmodel with multiple nested objects using lists in a form and using one form submit.
    Can't remember if you have made a video about htmx it would be great to get your opinion on blazer vs htmx and hydro.

  • @JeffryGonzalezHt
    @JeffryGonzalezHt 6 місяців тому +18

    I don't totally dismiss Blazor, or this - but it is just amazing to me how much crazy stuff .NET developers will do just so they don't have to learn some JavaScript or a framework like React, Vue, or even Angular. Maybe I just still have some latent trauma from the years of the "Ajax Toolkit".

    • @MrFloDotDB
      @MrFloDotDB 6 місяців тому +3

      Yeah, Crazy stuff to avoid js & react crazy stuff and other mfe shit

    • @keyser456
      @keyser456 6 місяців тому +17

      That's like saying c or c++ is to avoid having to learn Assembly. The whole point of Blazor WASM is you effectively get the entire .NET Framework and C# in the browser. If you're not a .NET developer yourself, the benefits aren't immediately obvious.

    • @JeffryGonzalezHt
      @JeffryGonzalezHt 6 місяців тому

      @@keyser456 It's not at all like saying that. I have been a .NET developer, and continue to be, since version 1.0. (I was also a C, and C++ developer). I wrote web apps with PERL on Apache before old school ASP. I think frameworks like React, Angular, Vue, etc. are really overused in enterprise environments. I think just server-side MVC/Razor is a better choice in about 85% of the cases. BUT, if you are trying to do a SPA type experience, the other end of the spectrum, your programming language of choice is the least of your worries. Abstracting yourself away from the DOM, from the browser, is going to give you issues. The DOM updates thing and state management is a pretty hard problem to keep it performant. And there are 100s of brilliant developers on the browser side struggling with this stuff - and making progress (reactive, signals, redux, etc.) and then I see stuff like the next iteration of "INotifyPropertyChanged" like Nick showed here and I just groan. Web Assembly in the browser is nearly abandoned. (Server-side, it's hot). I can see uses for Blazor (and this stuff) to add *some* interactivity to otherwise server-rendered LOB apps. I'm not dismissing it. I'm just skeptical.

    • @hio86
      @hio86 6 місяців тому +8

      Ah yes, people assume that other people are just stupid and don't want to learn. The same logic SQL fanatics use for why others use ORMs or MongoDB. It's not about learning. It's about simplifying our workflows and being more productive. I use Vue and I am sick of the build process being slow and breaking every once in a while so i have to debug my tools instead of my apps. I am sick of the node build proccess and it's overly large dependency eco system. Also with blazor server i just give an IQueryable to DataGrids and it just works with sorting paging and filtering. Datagrids used be the most time consuming thing to build and now with blazor it is trivial. With server blazor I don't have to write API code or the JS to consume it and i get the responsive feeling of a SPA.

    • @creo_one
      @creo_one 6 місяців тому +3

      I have latent trauma from the years of the "React framework"

  • @ChrisWard74
    @ChrisWard74 6 місяців тому +1

    So why would we want this vs Blazor again?

  • @CarrigansGuitarClub
    @CarrigansGuitarClub 6 місяців тому

    I have to say that Blazor hasn't caught fire like the industry thought it should - I remember Silverlight and that caught the imagination of all C# developers, but Blazor just hasn't ignited yet....and now a competitor.....

  • @dawizze1
    @dawizze1 6 місяців тому +1

    Blazor doesn't seem like it wants to know what it wants to be.

  • @gordonfreimann
    @gordonfreimann 6 місяців тому

    So you cached counter for all the clients. Id rather have a client side component and cache it in the browser

  • @mekowgli
    @mekowgli 6 місяців тому

    I'll check it out, but I would also like to do a shoutout for DotVVM which super mature (IMHO more than Blazor) and tested in the field.

  • @MalinAhlin
    @MalinAhlin 6 місяців тому

    It's interesting and competition is good but long running established frameworks have ran into issues after Microsoft released their own version, I might look into it on some hobby project but I hope the best for the developers

  • @jd31068
    @jd31068 6 місяців тому

    I used AJAX when it first arrived, and it was beautiful and easy.

  • @theonlywallrus
    @theonlywallrus 6 місяців тому +3

    Thanks Nick, good information. HTMX is another great alternative.

  • @figloalds
    @figloalds 6 місяців тому

    I like that it uses plain requests, because it's better for scaling; It does have the performance compromise of multiple connection opens that Blazor doesn't have, but with requests, as long as the state isn't tracked server-side it doesn't matter what server responds, which opens doors to horizontal scaling and blue-green updates
    I hate it's syntax tho, ugly af

  • @sayedshraki8417
    @sayedshraki8417 6 місяців тому

    Deer Nikin can you make video about how to run dotnet descktop app on browser?

  • @DavidSmith-ef4eh
    @DavidSmith-ef4eh 6 місяців тому

    reminds me of a laravel library, livewire. I didn't like it at all, since the people using it hardcoded it and it was a hard dependecy for everything. They were too lazy to use it only in the presentation layer, actually, they had no presentation layer lol

  • @rodjenihm
    @rodjenihm 6 місяців тому +3

    Poor man's Laravel Livewire.

  • @ChaimMosheStern
    @ChaimMosheStern 6 місяців тому +6

    Why go to the server for every increment of counter
    So sick

    • @abdusuf523
      @abdusuf523 6 місяців тому +6

      lol 😅.. what if the counter is in db and u need to update it, r u going to increment it locally? Then what?
      This is just an example.. it is either an api or ajax that connect to the server to update the data
      Server is the source of truth

    • @catalystcorp
      @catalystcorp 6 місяців тому +1

      @@abdusuf523 What if it's *not*? The point is this framework and blazor have no choice but to rerender from the server, whereas javascript can do both.

    • @DEZK90
      @DEZK90 6 місяців тому

      @@catalystcorp But Blazor still offers WASM that would not need to render on any server. But at the end Blazor integrates great with JavaScript thats why everything that needs to be done on the client is either done with WASM or JavaScript in my blazor projects

    • @maacpiash
      @maacpiash 6 місяців тому

      Nick included Alpine.js in the head of the Layout, that means there are definitely some client-side capabilities, i.e. interactive changes that do not require HTTP calls to the server.

  • @MatinDevs
    @MatinDevs 6 місяців тому +1

    Then he reinvented the wheel

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

    So this is basicly more like HTMX with C#

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

    Hmm, reminds me of Webforms and update panels?
    I've created my own version of this 20 years ago, ultimately migrated to KnockoutJS followed by Angular. This is interesting but in my opinion not sustainable. I'm all for new frameworks and for someone to surprise me and prove me wrong!

  • @nage7447
    @nage7447 6 місяців тому +1

    not bad idea, but I just hate to know that every action will do http call

  • @Condition_svk
    @Condition_svk 6 місяців тому

    This hardly can fight support of MS in blazor but it's interesting

  • @IcaroFelix2023
    @IcaroFelix2023 6 місяців тому

    It would be better if we could get the element reference and use System.Reactive to listen events

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

    You do not need SignalR any longer

  • @law6906
    @law6906 6 місяців тому

    I'm not sure why we get stuck in the loop of returning HTML. It seems that when you do that you get yourself stuck where your business logic gets stuck in the GUI section.

  • @thygrrr
    @thygrrr 6 місяців тому

    IMMA FIRIN' MA BLAZOR!!!

  • @leffivanov3127
    @leffivanov3127 6 місяців тому

    Never loved Blazor because of that lots of complexity we have in project. I wish there were something like NiceGUI, Dash, Flet and etc in Python, but in pure C# or F#.

  • @billy65bob
    @billy65bob 6 місяців тому

    2:19 a bold and false assumption 😂

  • @dirkschannel5817
    @dirkschannel5817 6 місяців тому

    Feels a bit like WebForms.
    Don’t hate me, but I really liked WebForms.

  • @Subjective0
    @Subjective0 6 місяців тому

    Definitely won’t use cshtml voluntarily again, such a big mess to do so little. For me, Blazer has a much better way to express components and pages and use them together.

  • @davidpickering1778
    @davidpickering1778 6 місяців тому

    Hopefully someone will port it to Blazor SSR. Seems the project itself is a bit dead. No activity past 6 months.

  • @_iPilot
    @_iPilot 6 місяців тому

    It uses AJAX. Blazor with WASM is an attempt to get rid of JS completely, isn't it?

  • @sakenda
    @sakenda 6 місяців тому +1

    Adding a hole massive dependency bc of what? I would rather spend time using the tools that are given by blazor

  • @rwj_dk
    @rwj_dk 6 місяців тому

    Sticking with Blazor...