Blazor Server, Blazor WebAssembly en Blazor Hybrid zijn drie verschillende implementatiemodellen die beschikbaar zijn in het Blazor-framework.
Blazor Server is een implementatiemodel waarbij de applicatie op de server wordt uitgevoerd. De gebruikersinterface wordt via een SignalR-verbinding naar de browser gestuurd, waardoor gebruikersinteracties resulteren in serverrondreizen voor het bijwerken van de applicatie en het ontvangen van wijzigingen. Dit model biedt een responsieve gebruikerservaring, waarbij de meeste verwerking op de server plaatsvindt.
Blazor WebAssembly is een ander implementatiemodel waarbij de applicatie volledig in de browser wordt uitgevoerd. De C#-code wordt gecompileerd naar WebAssembly en gedownload naar de browser, waardoor de applicatie lokaal in de browser draait. Dit resulteert in snellere laadtijden en een rijkere interactieve gebruikerservaring, zonder de noodzaak van serverrondreizen.
Blazor Hybrid is een variant van Blazor die gebruikmaakt van MAUI (Multi-platform App UI). Het combineert de mogelijkheden van Blazor met de native functionaliteiten van MAUI, waardoor ontwikkelaars één codebase kunnen gebruiken om zowel web- als mobiele apps te bouwen. Dit biedt efficiëntie en productiviteit, omdat ontwikkelaars dezelfde code kunnen delen tussen verschillende platforms.
Kortom, Blazor Server, Blazor WebAssembly en Blazor Hybrid bieden verschillende implementatiemodellen binnen het Blazor-framework, elk met hun eigen voordelen en gebruiksscenario's. Ontwikkelaars kunnen kiezen welk model het beste past bij hun behoeften om moderne en krachtige webapplicaties te bouwen.
De video laat zien hoe een webapplicatie, ontwikkeld met HTML en Blazor .
De onderstaande afbeelding illustreert het gebruik van HTML, C# en Razor voor het creëren van de view. Door deze combinatie van technologieën kunnen ontwikkelaars krachtige en dynamische gebruikersinterfaces bouwen. HTML wordt gebruikt voor de structuur en presentatie van de elementen, terwijl C# de logica en gegevensverwerking afhandelt. Razor fungeert als de brug tussen HTML en C#, waardoor ontwikkelaars naadloos C#-code in de HTML-templates kunnen integreren. Deze samenwerking biedt ontwikkelaars de flexibiliteit en controle om effectieve en aantrekkelijke webapplicaties te ontwikkelen.
De video laat zien hoe een webapplicatie, ontwikkeld met HTML en Blazor, kan worden gebruikt om met behulp van MAUI een native Windows- of Android-app te creëren.
MAUI staat voor Multi-platform App UI en is een framework dat wordt ontwikkeld door Microsoft. Het is ontworpen om ontwikkelaars in staat te stellen native apps te bouwen die kunnen worden uitgevoerd op verschillende platforms, waaronder iOS, Android, Windows en macOS.
Met MAUI kunnen ontwikkelaars één codebase gebruiken om apps te bouwen die native zijn voor verschillende platforms. Dit betekent dat ze dezelfde UI-componenten, architectuur en logica kunnen delen, waardoor de ontwikkeling efficiënter wordt en de time-to-market wordt verkort.
MAUI bouwt voort op het eerdere Xamarin.Forms-framework en biedt verbeterde mogelijkheden en prestaties. Het maakt gebruik van de .NET MAUI-runtime, die de uitvoering van apps mogelijk maakt op basis van de specifieke platform-API's en functies.
Met MAUI kunnen ontwikkelaars gebruikmaken van een breed scala aan UI-elementen en -controls, toegang krijgen tot native platformfunctionaliteiten en integreren met bestaande .NET-bibliotheken. Ze kunnen ook gebruikmaken van XAML, C# en .NET-ecosysteemtools om hun apps te bouwen.
Hier wordt geen gebruik gemaakt van HTML voor de view, waardoor de leercurve moeilijker kan zijn. In plaats daarvan wordt XAML gebruikt, wat een specifieke opmaaktaal is voor het bouwen van gebruikersinterfaces. Deze aanpak resulteert in het genereren van native elementen die naadloos passen bij het platform waarop de applicatie wordt uitgevoerd.
In deze video wordt ook het gebruik van MAUI Native gedemonstreerd, een versie zonder Blazor maar met vergelijkbare functionaliteit als de Blazor Hybrid applicatie die we zojuist hebben gezien.
Drie jaar geleden kwam ik voor het eerst in aanraking met Blazor tijdens een schoolproject. We moesten een eenvoudig berichtensysteem opzetten, maar alles was gebouwd met ASP.NET MVC. Ik wilde graag iets nieuws proberen en na wat onderzoek ontdekte ik Blazor, dat gemakkelijk kon worden geïntegreerd met ASP.NET MVC omdat beide gebruikmaken van Razor-pagina's. Het grote verschil was dat je in Blazor geen JavaScript hoefde te schrijven voor de communicatie tussen client en server. Ondanks dat het platform nog jong was, werkte dit erg goed.
Vorig jaar ben ik ook voor het eerst aan de slag gegaan met MAUI, met als doel applicaties te ontwikkelen voor zowel Android als Windows. Ik was op zoek naar een alternatief voor WPF voor Windows en tegelijkertijd de mogelijkheid om voor Android te ontwikkelen. Het is buitengewoon interessant dat je met dezelfde codebase je applicatie naar verschillende platforms kunt brengen. Dit opent de deur naar een efficiënte ontwikkeling en het bereiken van een breder publiek met één enkele codebase. Het biedt ontwikkelaars de flexibiliteit om hun apps aan te passen aan verschillende besturingssystemen zonder veel extra inspanning. Het vermogen om naadloos over te schakelen tussen Android en Windows met behoud van codehergebruik is een grote troef en maakt de ontwikkeling van multi-platformapplicaties veel eenvoudiger en productiever. Ik ben enthousiast over de mogelijkheden die MAUI biedt en kijk uit naar verdere ontwikkelingen binnen dit framework.
Toen ik ontdekte dat MAUI en Blazor samen konden worden gebruikt, kon ik mijn nieuwsgierigheid niet bedwingen. Ik vroeg me af hoe dit in elkaar zou zitten en hoe complex het zou zijn. Het bleek echter veel eenvoudiger dan verwacht. Visual Studio biedt sjablonen die het ontwikkelen van je applicatie in HTML, C# en Razor-componenten vergemakkelijken. Hierdoor kun je je volledig richten op de ontwikkeling van je applicatie zonder je druk te maken over de complexiteit van de integratie tussen MAUI en Blazor.
De uitgebreide en nuttige documentatie over MAUI en Blazor heeft me doen realiseren hoe belangrijk het is. In de toekomst wil ik dan ook meer tijd besteden aan het schrijven van documentatie, gezien de waarde ervan. Dankzij mijn jarenlange ervaring met verschillende platformen en mijn vertrouwdheid met het .NET-framework, viel de implementatie van deze projecten me mee. Ik merkte dat mijn verworven kennis en vaardigheden een waardevolle bijdrage leverden, waardoor het proces eenvoudiger verliep dan ik aanvankelijk had verwacht. Als je echter nog nooit met deze platformen hebt gewerkt, kan de leercurve wat moeilijker zijn. Zoals bij elk platform is het nodig om bepaalde kennis op te doen en jezelf vertrouwd te maken met de specifieke aspecten ervan.