Blazor is een opwindend webframework dat de .NET-gemeenschap heeft doen oplichten sinds de eerste release. Het stelt ontwikkelaars in staat om webapplicaties te bouwen met C# en .NET in plaats van traditionele webtalen zoals JavaScript. In dit artikel verkennen we de laatste versie van Blazor en bekijken we enkele van de spannende functies en verbeteringen die in de loop der jaren zijn geïntroduceerd. Interesse in onze andere artikelen? Bekijk onze kennisbank.

Wat is Blazor?

Blazor is een open-source webframework van Microsoft dat de mogelijkheid biedt om interactieve webtoepassingen te bouwen met behulp van C# en .NET in plaats van JavaScript. Dit maakt gebruik van WebAssembly om C#-code in de browser uit te voeren, waardoor ontwikkelaars een krachtige en bekende taal kunnen gebruiken voor zowel de client- als de serverzijde van webontwikkeling.

Blazor Server en Blazor WebAssembly

Er zijn twee implementaties van Blazor: Blazor Server en Blazor WebAssembly. We zetten ze graag voor je uiteen.

Blazor Server is ontworpen voor toepassingen waarbij de server gebruikt wordt om de applicatie te draaien, terwijl Blazor WebAssembly toepassingen direct in de browser worden uitgevoerd. Beide modellen hebben hun eigen sterke punten en kunnen worden aangepast aan de behoeften van je project. Blazor server gebruikt SignalR om te communiceren tussen de browser en de server. Op de server draait dan een lokale virtual DOM en alle events die op de client plaatsvinden worden afgespeeld op de server en het resultaat hiervan wordt via SignalR naar de cliënt gecommuniceerd. Dat maakt Blazor Server een veel minder schaalbaar model dan Blazor WebAssembly waarbij de volledige applicatie in de browser draait.

Verschil tussen Blazor Server en Blazor Webassembly

Het verschil tussen Blazor Server en Blazor Webassembly zit hem vooral in de applicatie startup. Het gros van de code voor de beide modellen is identiek. Het is daarom aan te raden om de meeste code in Razor libraries te plaatsen en zowel een Server als een WebAssembly variant in je solution te hebben. Momenteel is het namelijk in Blazor WebAssembly nog niet ideaal debuggen en dan kan het helpen om lokaal ook een Blazor Server te kunnen starten. Bovendien geeft het de flexibiliteit om beide modellen te kunnen inzetten.

De laatste ontwikkelingen in Blazor

Een totaaloverzicht van wijzigingen vind je bij Microsoft. De belangrijkste ontwikkelingen voor ons zitten hem in de verbeterde debugging van Blazor WebAssembly en de doorontwikkeling van de manier waarop Blazor Server en WebAssembly werken zodat ze naadloos gecombineerd kunnen worden in één project. Veelbelovend is daarbij de Auto Mode waarbij initieel de pagina via Blazor Server wordt uitgeserveerd terwijl op de achtergrond de WebAssembly componenten worden geladen. Deze functionaliteit lijkt vooralsnog niet al in .NET 8 beschikbaar te komen, maar we wachten er met smart op, want het maakt veel beter geoptimaliseerde applicaties mogelijk.

Conclusie: Blazor is aantrekkelijk alternatief

Blazor heeft sinds de introductie een opmerkelijke groei doorgemaakt en heeft de manier waarop .NET-ontwikkelaars webtoepassingen bouwen veranderd. Met de mogelijkheid om in C# te werken, zowel aan de serverkant als aan de clientkant, biedt Blazor een aantrekkelijk alternatief voor traditionele webontwikkeling. Wil je er meer over weten, neem dan even contact met ons op. We helpen je graag!