Blazor – das Web-Framework von Microsoft

post-thumb

Seit einigen Jahren ist das Web-Framework „Blazor“ von Microsoft auf dem Markt. Stand heute scheint die Akzeptanz und somit auch die Adaption von Blazor noch nicht so richtig Fahrt aufgenommen zu haben. Aber was genau ist Blazor? Wann und wie sollte es eingesetzt werden? Wie sieht die Entwicklungs-Roadmap von Microsoft aus und gibt es möglicherweise bald einen deutlichen Aufwärtstrend für Blazor? In dieser Beitragsreihe erhaltet ihr die Antworten.

Was ist Blazor?

Blazor ist das neueste von Microsoft entwickelte Framework für die Web-Entwicklung und seit 2018 verfügbar. Es ermöglicht das Erstellen interaktiver Web-Anwendungen, bei denen C#-Code in HTML-Seiten eingebettet wird. Die Einbettung erfolgt über die Razor-Syntax mit „@“-Zeichen und „{}“ oder durch die Verwendung von Codebehind-Dateien, wie es bereits bei vorherigen Web-Frameworks von Microsoft der Fall war. Die gesamte Entwicklung mit Blazor kann in der Programmiersprache C# erfolgen. Dadurch wird es Entwicklern erspart, JavaScript zu schreiben, während sie dennoch moderne Single Page Applications in einem komponentenorientierten Aufbau erstellen können.

Ein Beispiel für eine solche Komponente ist nachfolgend dargestellt. Die Komponente rendert dabei in einer Liste eine vorgegebene Anzahl an Elementen oder zeigt eine Progress-Bar an, wenn die Elemente noch nicht empfangen wurden.

@inherits Fluxor.Blazor.Web.Components.FluxorComponent
@inject IState<AppState> AppState
 
<PageTitle>Dashboard</PageTitle>
 
@if (IsLoading)
{
    <ProgressBar />
    return;
}
 
<div>The first @MaxListSize Items are:</div>
 
<ul>
    @foreach (var item in Items.Take(MaxListSize))
    {
        <li>@item</li>
    }
</ul>
 
@code {
    [Parameter]
    public string[] Items { get; set; }
    public bool IsLoading => Items == null;
    public int MaxListSize => AppState.Value.MaxListSize;
}

Bei der Entwicklung solcher Komponenten wird je nach Anwendungsart in verschiedene Hosting-Modelle unterschieden.

  • Mit „Blazor Server“ kann eine Anwendung auf dem Server ausgeführt und gerendert werden.
  • Bei „Blazor WebAssembly“ hingegen wird der C#-Code clientseitig im Browser anstelle von JavaScript ausgeführt und gerendert. Dies wird durch die Nutzung des namensgebenden „WebAssembly“ ermöglicht, welches kompilierten C#-Code (und andere Programmiersprachen) im Browser ausführen kann.
  • Zusätzlich existiert das Modell „Blazor Hybrid“, das für Cross-Plattform-Anwendungen genutzt werden kann. Eine nähere Betrachtung der verschiedenen Hosting-Modelle erfolgt in einem nächsten Blogbeitrag.

Vorteile und Möglichkeiten von Blazor (Web-Framework von Microsoft)

Die Mehrwerte, die Blazor mit sich bringt, können am besten ausgereizt werden, wenn im Projekt- oder Unternehmensumfeld bereits auf Microsoft-Technologien gesetzt wird. In diesem Fall eröffnet die Nutzung von Blazor diverse Chancen und Potenziale, die bei anderen Web-Frameworks nicht im gleichen Umfang vorhanden sind. Einige Beispiele dafür sind nachfolgend beschrieben.

Die Integration in das Microsoft-Ökosystem und Azure ist durch die enge Verbundenheit mit der .NET-Plattform nahtlos möglich. Dadurch können auch bestehende Infrastrukturen, Schnittstellen und Dienste wiederverwendet werden. Zusätzlich bietet die Nutzung etablierter .NET-Bibliotheken bekannte Vorteile wie Geschwindigkeit, Zuverlässigkeit und Sicherheit.

Die Entwicklerproduktivität wird durch Blazor ebenfalls begünstigt. C#-Entwickler können sich auf ihre Kernprogrammiersprache konzentrieren und dabei ihr Expertenwissen und bewährte Best Practices einbringen, ohne eine neue Sprache oder Konzepte erlernen zu müssen. Die konsistente Verwendung der Programmiersprache über verschiedene Projekte hinweg trägt zusätzlich zur Einheitlichkeit und Übersichtlichkeit bei. Zudem können bekannte Entwicklungsumgebungen und Tools aus der .NET-Welt eingesetzt werden.

Die zuvor genannten verschiedenen Hosting-Modelle von Blazor eröffnen Flexibilität bei der Auswahl zwischen client- oder serverseitigem Rendering. Sie schaffen aber auch den Zugang zu einer breiten Zielgruppe. Dies wird durch die hohe Browser-Kompatibilität, die Cross-Plattform-Unterstützung (Web, Desktop, Mobile) und die Option zur Offline-Nutzung mittels Progressive Web-Apps ermöglicht.

Diese Aspekte stellen nur eine kleine Auswahl der Vorteile und Möglichkeiten dar, die sich durch den Einsatz von Blazor ergeben. Jedoch gibt es auch Schattenseiten, wie die hohe initiale Datenlast bei Blazor-WebAssembly-Anwendungen oder der bisher vergleichsweisen kurzen Lebenszeit und somit noch ausbaufähigen Etablierung des Frameworks. Auf diese und weitere Punkte, einschließlich dem zukünftigen Potenzial von Blazor, wird in den folgenden Blogbeiträgen eingegangen.

Fazit zu Blazor

In diesem Blogbeitrag wurde ein Blick auf das Web-Framework Blazor von Microsoft geworfen. Blazor bietet vielfältige Möglichkeiten und Vorteile, besonders für Projekte und Unternehmen mit Fokus auf Microsoft-Technologien. Dazu gehören unter anderem die nahtlose Integration in das Microsoft-Ökosystem und Azure, die hohe Wiederverwendbarkeit bestehender Ressourcen, sowie die Effizienz und Konsistenz im Entwicklungsprozess. Insgesamt zeigt sich Blazor als vielversprechendes Web-Framework, welches moderne Webentwicklung mit den Stärken der .NET-Plattform vereint. Trotz Herausforderungen bietet Blazor eine robuste Grundlage für zukunftsweisende Webanwendungen.

Teil 2: Blazor – Hosting-Modelle

Teil 3: Blazor – Marktakzeptanz und -etablierung

Lernen Sie uns kennen

Das sind wir

Wir sind ein Software-Unternehmen mit Hauptsitz in Karlsruhe und auf die Umsetzung von Digitalstrategien durch vernetzte Cloud-Anwendungen spezialisiert. Wir sind Microsoft-Partner und erweitern Standard-Anwendungen bei Bedarf – egal ob Modernisierung, Integration, Implementierung von CRM- oder ERP-Systemen, Cloud Security oder Identity- und Access-Management: Wir unterstützen Sie!

Mehr über uns

Der Objektkultur-Newsletter

Mit unserem Newsletter informieren wir Sie stets über die neuesten Blogbeiträge,
Webcasts und weiteren spannenden Themen rund um die Digitalisierung.

Newsletter abonnieren