Razor en Blazor
Inleiding
Allerlei termen vliegen in het rond zodra je je in Blazor gaat verdiepen. In deze post zal ik het hebben over Blazor en Razor. Twee termen die regelmatig door elkaar gehaald worden en voor veel verwarring zorgen.
Razor
Het wordt in één adem genoemd en de termen lijken op elkaar, maar wat heeft Blazor met Razor te maken? Laten we maar eerst Razor bekijken. In 2009 lanceerde Microsoft haar ASP.NET MVC framework waarmee web applicaties gemaakt kunnen worden volgens een strak MVC (model-view-controller)-model.
In het MVC framework is de “view” bedoeld voor het kunnen presenteren van gegevens en dat op een manier zoals dat door de gebruiker wordt gewenst.
MVC maakt voor haar views gebruik van Razor markup view bestanden en Razor is in die bestanden de zogenaamde “markup syntax” en te herkennen aan een @-symbool.
Een Razor markup view bestand kan er als volgt uitzien:
Razor markup view bestanden hebben de extensie .cshtml of .vbhtml. In het voorbeeld tonen we een .cshtml-bestand omdat we C# als programmeertaal gebruiken. De Razor markup view bestanden hebben een .vbhtml extensie indien we Visual Basic .NET als programmeertaal gebruiken.
HTML
De server gaat uiteindelijk aan de gang met de Razor markup view bestanden en een view engine. Alles wordt inclusief de gewenste gegevens “gerendered” naar HTML en vervolgens naar de browser gestuurd. In dit voorbeeld krijgt de browser deze HTML:
In het voorbeeld zagen we in het Razor markup view bestand deze Razor markup syntax:
@Html.Text(“Getal01”).
De view engine gaat ermee aan de gang en stuurt uiteindelijk deze HTML naar de browser:
<input id=”Getal01” name=”Getal01” type=”tekst” value>.
Blazor
Maar wat heeft Blazor nou eigenlijk met Razor te maken? Het antwoord is: niks. Blazor is een compleet framework waarmee web applicaties gemaakt kunnen worden. Het is geen “markup syntax”.
Wat het verwarrend maakt is dat je in een Blazor applicatie de Razor “markup syntax” kunt gebruiken en dat in Blazor de bestanden de extensie .razor hebben terwijl die bestanden in Blazor vaak meer zijn dan alleen maar markup view bestanden.
Slot
In deze post heb ik het gehad over Razor en Blazor. We hebben gezien dat Razor “slechts” een uit MVC afkomstige markup syntax taaltje is voor de view engine terwijl Blazor een compleet framework is waarmee web applicaties gemaakt kunnen worden. Razor kan in Blazor gebruikt worden en dat zal ongetwijfeld goed nieuws zijn voor de mensen die MVC gewend zijn.
Hopelijk ben je met deze posting weer wat wijzer geworden en ik hoop je weer terug te zien in één van mijn volgende blog posts. Wil je weten wat ik nog meer over Blazor heb geschreven? Hit the Blazor button…