Seite wählen

Blazor und seine technischen Kniffe

von Thomas Leiber⠀|⠀

Blazor und seine technischen Kniffe

In unserem letzten Blogpost haben wir uns Microsofts Framework Blazor mit MVC verglichen und dabei feststellt, dass es vor allem für Unternehmen geeignet ist, die nicht in MVC investiert haben und komplexe Anwendungen bauen müssen. Dabei fiel uns vor allem auf, wie smart Blazor gebaut ist. Daher möchten wir in einem weiteren Post mit zusätzlicher Tiefe über die technischen Details von Blazor sprechen.

Dessen technische Architektur bietet eine Reihe an Vorteilen, die über die grundlegenden Funktionen des Systems hinausgehen. Betrachten wir das Framework genauer, dann zeigen sich durchdachte Konzepte, die es Entwicklern ermöglichen, leistungsstarke und interaktive Anwendungen zu erstellen.

Einige technische Kniffe

Blazor hat an vielen Ecken kleine technische Tricks und Kniffe, die die Arbeit mit dem Framework erleichtern. Entwickler können außerdem vergleichsweise einfach moderne und innovative Drittanwendungen in die Architektur integrieren.

Komponentenarchitektur und State Management

Blazor nutzt eine modulare Komponenten-Architektur, die auf Wiederverwendbarkeit und Wartbarkeit ausgelegt ist. Das State Management – so nennen wir die Verwaltung des Anwendungszustands – spielt dabei eine wichtige Rolle. Entwickler haben verschiedene Optionen für die Zustandsverwaltung. Diese reichen von einem Browserspeicher bis hin zu serverseitiger Speicherung und Containern.

Besonders bemerkenswert ist Blazors Fähigkeit, den Komponentenzustand zwischen Renderings beizubehalten. Dieses Feature wird durch deklarative Zustände in Dependency-Injection-Services ermöglicht. Darüber hinaus bietet ASP.NET Core Protected Browser Storage eine sichere Möglichkeit, Daten im Browser zu speichern, indem es ASP.NET Core Data Protection nutzt, um sensible Informationen zu verschlüsseln.

Für komplexere Anwendungen können Custom State Container implementiert werden, die mittels Action-Benachrichtigungen Komponenten in verschiedenen Teilen der Anwendung über Zustandsänderungen informieren.

SignalR für Echtzeitkommunikation

Blazor integriert sich nahtlos mit SignalR, einem Open-Source-Framework für Echtzeitkommunikation. SignalR vereinfacht die Implementierung einer bidirektionalen Kommunikation zwischen Server und Clients erheblich, weswegen die direkte Anbindung ein großer Vorteil für das System ist.

Aus technischer Sicht baut SignalR eine persistente Verbindung zwischen Client und Server auf. Zunächst sendet der Client einen HTTP POST-Request mit dem Inhalt „negotiate“, woraufhin der Server mit verfügbaren Verbindungstypen wie WebSocket, LongPolling oder ServerSentEvents antwortet.

Diese Technologie ermöglicht zahlreiche praktische Anwendungsfälle, die von Chatfunktionen bis hin zu Dashboards mit Echtzeitdaten reichen können. SignalR besonders bei Blazor Server eingesetzt, um die UI-Updates zwischen Server und Browser zu synchronisieren.

Radzen Blazor als Low-Code-Option

Entwicklern, die ihre Produktivität weiter steigern möchten, bietet Radzen Blazor Studio eine Low-Code-Option. Diese Entwicklungsumgebung ermöglicht das schnelle Erstellen von Blazor-Anwendungen mit minimalem Programmieraufwand. Radzen punktet mit einer umfangreichen Bibliothek aus nativen Blazor-Komponenten, einem WYSIWYG-Editor mit Drag-and-Drop-Funktionalität, sowie einfacher Datenanbundung und fortschrittlichen Theming-Optionen.

Besonders hervorzuheben ist die Effizienz bei CRUD-Operationen (CRUD steht für Create, Read, Update, Delete) und beim Datenmanagement. Entwickler können mit Radzen schnell Datengrids und Dialoge erstellen, um typische Geschäftsanwendungen zu realisieren. Der visuelle Editor erlaubt die vollständige Kontrolle über Anwendungsbildschirme, während die reiche Toolbox den Entwicklungsprozess beschleunigt.

Radzen Blazor Studio bietet zudem integrierte Funktionen für Internationalisierung, Benutzerverwaltung und Datenexport. Die generierten Anwendungen basieren auf einem offenen Technologie-Stack (ASP.NET Core, Blazor, Bootstrap) und der erzeugte Quellcode ist menschenlesbar und kann mit kostenlosen Tools weiterentwickelt werden. Außerdem unterstützt Radzen Blazor Studio sowohl Blazor Server als auch Blazor WebAssembly und ermöglicht eine schnelle Bereitstellung auf IIS, Azure oder per FTP.

Viele Komponenten bei Blazor kann man wiederverwenden.

Wirtschaftliche Vorteile für Unternehmen

Ein Umstieg auf Blazor kann auch zu handfesten wirtschaftlichen Vorteilen führen, die direkt zur Wertschöpfung von Unternehmen beitragen. Die finanziellen und strategischen Aspekte dieser Technologie macht sie attraktiv für Organisationen, die ihre digitale Infrastruktur zukunftssicher gestalten möchten.

Mit Blazor schneller marktreif werden

Die Entwicklungsgeschwindigkeit ein kritischer Erfolgsfaktor für jedes moderne Unternehmen. Das gilt insbesondere für die Technologiebranche, die nach wie vor schnelle Fortschritte macht. Ein Entwicklungsframework sollte daher Entwickler dazu ermächtigen, ihre Arbeit schnell zu machen, ohne dabei Einbußen in der Genauigkeit und der Qualität der Anwendung in Kauf nehmen zu müssen.

Blazor ermöglicht signifikant kürzere Entwicklungszyklen. Das schafft es mithilfe wiederverwendbarer Komponenten, sodass z.B. im UI einzelne Elemente immer wieder genutzt werden können. Desweiteren punktet das Framework mit einer einheitlichen Sprache durch die durchgängige Verwendung von C# und durch bereits vorhandene .NET-Bibliotheken, die in die bestehende Codebasis integriert werden können.

Während des Entwicklungsprozesses profitieren Teams außerdem von den umfangreichen Debugging-Möglichkeiten in Visual Studio. Im Vergleich zu JavaScript-Frameworks, bei denen oft separate Tools für Frontend- und Backend-Debugging erforderlich sind, bietet Blazor eine einheitliche Entwicklungsumgebung, die den gesamten Prozess beschleunigt.

Weniger Abhängigkeit von JavaScript-Stacks

Eine der größten wirtschaftlichen Herausforderungen für Unternehmen ist die Rekrutierung und Bindung qualifizierter Entwickler. Blazor entschärft dieses Problem, indem es die Abhängigkeit von JavaScript-Spezialisten reduziert. Für .NET-fokussierte Unternehmen bedeutet das konkret, dass bestehende Entwicklerteams mit C#-Kenntnissen direkt an Webprojekten arbeiten können. Das senkt die Einarbeitungszeit und reduziert die Personalkosten für spezialisierte Frontend-Entwickler.

Darüber hinaus vereinfacht die einheitliche Codebasis das Projektmanagement. Anstatt separate Teams für Frontend- und Backend-Entwicklung zu koordinieren, können Projekte ganzheitlich angegangen werden. Besser kommunizierende Teams können so ihre Ressourcen effizienter nutzen.

Außerdem berfreit Blazor Unternehmen von der Volatilität des JavaScript-Ökosystems. Während JavaScript-Frameworks relativ kurze Innovationszyklen haben und regelmäßige Migrationen erfordern, bietet Blazor als Teil des .NET-Ökosystems eine stabilere und langfristigere Perspektive. Dies reduziert das Risiko technologischer Obsoleszenz und schützt so die Investitionen im jeweiligen Programm.

Blazor ist gut zu skalieren

Blazor bietet verschiedene Hosting-Modelle, die je nach Anforderung gewählt werden können. Bei der Betrachtung der Ressourcenanforderungen ist zu beachten, dass jeder Blazor Server-Circuit etwa 250 KB Arbeitsspeicher für eine minimale „Hello World“-Anwendung benötigt. Für eine Anwendung mit 5.000 gleichzeitigen Nutzern sollte man etwa 1,3 GB Serverarbeitsspeicher einplanen.

Leistungsvergleiche zwischen Blazor WebAssembly, Blazor Server und ASP.NET MVC zeigen, dass jede Technologie spezifische Vorteile bietet. Während ASP.NET MVC bei der Initialisierung weniger HTTP-Anfragen benötigt, überzeugt Blazor WebAssembly durch schnellere Reaktionszeiten bei Link-Klicks

Für globale Deployments bietet Blazor außerdem umfassende Unterstützung für die Azure-Infrastruktur. Die Azure SignalR Service kann in Verbindung mit der App’s SignalR-Hub verwendet werden, um eine Skalierung auf eine große Anzahl gleichzeitiger Verbindungen zu ermöglichen. Alternativ kann man Blazor-Anwendungen auch in Azure Container Apps mit Session-Affinität bereitstellen.

Wartung leicht gemacht

Aus Wartungsperspektive profitieren Unternehmen von Blazors vereinfachter Codestruktur. Da Frontend und Backend in denselben Sprachen implementiert sind, wird die Fehlersuche erleichtert und der Wissenstransfer innerhalb des Teams verbessert. Als folge daraus sinken die Wartungskosten erheblich

Die strukturellen Vorteile der komponentenbasierten Architektur erleichtern zudem kontinuierliche Verbesserungen und Erweiterungen. Neue Funktionen können einfacher integriert werden, ohne die bestehende Anwendung grundlegend zu verändern.

Die vereinfachte Wartung in Kombination mit der einfachen Skalierbarkeit schafft die Flexibilität, die Unternehmen benötigen, um auf veränderte Marktanforderungen zu reagieren. Gemeinsam mit der schnellen Marktreife kann man konstatieren, dass Blazor gut agil einzusetzen ist und für schnelle und anpassbare Programme sorgt.

Fazit

Blazor ist ein sehr gut durchdachtes Softwareframework, das mit vielen kleinen technischen Vorteilen sowie mit einem soliden technischen Unterbau aufwarten kann. Diese Kniffe übersetzen sich in handfeste Produktivitätsvorteile: Programme, die mit Blazor entwickelt wurden, können schnell auf den Markt gebracht werden und sich einfach anpassbar.

Wenn Sie sich für Softwareentwicklung in einem modernen Unternehmenskontext interessieren, dann werfen Sie einen weiteren Blick auf unseren Blog. Wenn Sie an unserer Arbeit interessiert sind oder Fragen und Kommentare zu diesem Post haben, dann zögern Sie nicht, uns zu kontaktieren.

Ein Beitrag von: Thomas Leiber

Mehr zum Thema...

Beitrag teilen

[Sassy_Social_Share]

Jobs bei K&K Software

Unter https://stellen.kk-software.de finden Sie eine Übersicht unserer aktuellen Stellenangebote.

Fragen? Nehmen Sie jetzt Kontakt mit uns auf!