Onze .NET developers Amish en Robbe werken samen op een project voor FOD BOSA. Ze ontwikkelen webapplicaties voor de selectieprocedure bij de overheid. Voor dit project kwamen ze voor het eerst in contact met Blazor. Heb je je altijd al afgevraagd hoe Blazor werkt en wat de pro’s en con’s zijn in vergelijking met Angular? Lees dan zeker verder!
Wat is Blazor?
Blazor is een single-page application .NET framework waarmee je webapplicaties kan schrijven in C#. Je kan het zowel client-side (WebAssembly) als server-side hosten. WebAssembly is een webstandaard waardoor de applicatie op alle devices en browsers zal werken. Verder is het open source en kan dus iedereen contributen waardoor je veel packages van andere developers kan gebruiken.
Welke rol speelt Blazor in jullie project?
We werken momenteel aan een project bij FOD BOSA voor de selectieprocedures bij de overheid. Dit omvat het vernieuwen en herschrijven van het hele back office proces: vanaf dat een kandidaat solliciteert tot aanwerving. Elke applicatie wordt geschreven in .NET 6 waarbij we voor de frontend gebruik maken van Blazor. Binnen Blazor kiezen we voor MudBlazor voor de opbouw van de schermen. Daarnaast is het enorm handig dat alle developers binnen ons team gemakkelijk kunnen switchen tussen projecten omdat deze allemaal in dezelfde technologie stack worden geschreven.
Wat zijn de voordelen van Blazor in vergelijking met Angular?
- Gemakkelijk om dagelijks in te werken omdat de API en frontend in één solution zitten en dus ook in één flow worden getest. Bij Angular is dit meestal gescheiden waardoor je dubbel moet testen.
- View models zijn shared over front- en backend waardoor je in vergelijking met Angular niet zoveel mapping moet schrijven.
- Door de cascading parameters bij Blazor kan een parent component gemakkelijk spreken met zijn child components waardoor je rechtstreeks tussen de lagen kan communiceren zonder dat de parameters door heel de hiërarchie worden doorgegeven. Dit zorgt ervoor dat je code overzichtelijker is in vergelijking met Angular.
- De learning curve om in Blazor te schrijven is heel laagdrempelig voor een .NET developer omdat zowel front- als backend geschreven worden in dezelfde codeertaal, namelijk C#. In tegenstelling tot Angular waarbij je ook kennis moet hebben van TypeScript.
“De learning curve om in Blazor te schrijven is heel laagdrempelig voor een .NET developer omdat zowel front- als backend geschreven worden in dezelfde codeertaal, namelijk C#.”
Waarom kozen jullie MudBlazor voor de visualisatie?
Door met MudBlazor te werken zorgen we ervoor dat alle verschillende applicaties dezelfde look and feel krijgen wat op zijn beurt weer zorgt voor uniformiteit en gebruiksvriendelijkheid. Het gebruik van MudBlazor zorgt ervoor dat we slechts een minimale hoeveelheid HTML en CSS moeten schrijven voor de visualisatie. Indien gewenst, is het wel nog steeds mogelijk om HTML en CSS toe te passen. Ondanks MudBlazor nog in ontwikkeling is, is het toch al matuur genoeg om volwaardige applicaties te ontwikkelen.
Waarom zouden jullie Blazor aanraden?
De voornaamste reden waarom we dit framework aanraden is omdat de view models gedeeld zijn tussen de front- en backend. Dit zorgt ervoor dat een volledige applicatie flow gemakkelijk te debuggen is. Verder kan je gemakkelijk deployen via de Azure Pipelines naar Azure. Bovendien is Blazor heel toegankelijk om mee te starten als je al een achtergrond hebt in .NET en kan je het zowel gebruiken voor kleine als grote webapplicaties.
Hebben jullie nog tips om aan de slag te gaan met Blazor?
Microsoft heeft een interessant demo project uitgewerkt, namelijk ‘Blazing Pizza‘. Dankzij deze demo leer je slechts op enkele uren de basisprincipes van Blazor door het schrijven van een end-to-end application voor een pizza webshop. Je leert meer over de opbouw en structuur van je project, hoe je communiceert met je API, validatie en authenticatie.