Was ist Blazor?
Blazor (Browser + Razor) ist ein neues Webframework, das von Microsoft veröffentlicht wurde. Sie können damit neben HTML und CSS auch browserbasierte Anwendungen mit C # - und Razor-Syntax erstellen.
Bisher musste jeder Benutzer von Razor Razor-Ansichten auf dem Server starten und so HTML generieren, das vom Browser gerendert werden konnte. Jetzt können Razor-Ansichten clientseitig ausgeführt werden.
Da Blazor WebAssembly verwendet , müssen keine Plugins oder Addons von Drittanbietern im Browser installiert werden, um den entsprechenden Code auszuführen. Als Ergebnis stellt sich heraus, dass Sie mit Blazor Client- und Serverteile Ihrer Anwendung in C # erstellen können. Die Möglichkeit, Code und Bibliotheken auf dem Client und auf dem Server gemeinsam zu nutzen, erleichtert Entwicklern das Leben erheblich.
Hier ist ein Beispielcode, der in Blazor verwendet wird.

Blazor-Code
Warum ist Blazor so geschäftig?
Blazor hat in relativ kurzer Zeit beträchtliche Popularität erlangt. Sie begannen, es mit gängigen JavaScript-Frameworks zu vergleichen. Im Internet wird viel über die Zukunft der clientseitigen Webentwicklung gesprochen, und Blazor wird auch in diesen Gesprächen erwähnt. All dies trägt nur zu seiner Popularität bei. Ich schlage vor, die Gründe dafür zu verstehen und darüber zu sprechen, warum Blazor so viel Aufmerksamkeit geschenkt wird.
Wie ich bereits sagte, ist Blazors Hauptstärke die Fähigkeit, browserbasierte Anwendungen in C # zu entwickeln. In den letzten Jahren war JavaScript (oder TypeScript) die Hauptsprache für die Entwicklung clientseitiger Webanwendungen. Das heißt, wenn jemand ein .NET-Programmierer ist, muss er JavaScript lernen, um Full-Stack-Anwendungen für das Web zu entwickeln. Mit Blazor können Sie sowohl Front-End- als auch Back-End-Webanwendungen in C # schreiben. Für mich persönlich ist dies die Hauptstärke von Blazor.
Für Blazor geschriebener Code wird im Gegensatz zu JavaScript-Code in ein Zwischenformat vorkompiliert, bevor er den Browser erreicht. Diese Funktion bietet einige großartige Funktionen bei der Entwicklung leistungsintensiver Browseranwendungen. Darüber hinaus eignen sich Blazor-Apps zum Lösen ressourcenintensiver Aufgaben auf dem Client. Zum Beispiel - um PDF-Dateien zu erstellen oder um Spielalgorithmen zum Laufen zu bringen.
Abgesehen von den oben genannten hat Blazor noch andere interessante Eigenschaften:
- Sie benötigen keine Browser-Plugins, damit Blazor funktioniert.
- Bei der Entwicklung für Blazor können Sie Ihren .NET-Code vollständig debuggen.
- Das Framework nutzt die neuesten Browserfunktionen.
- Blazor unterhält ein benutzerfreundliches Modell für die Entwicklung von Schnittstellen.
- Das Framework bietet eine gute Browserunterstützung.
- Blazor unterstützt die Abhängigkeitsinjektion.
- Mit Blazor können Sie Code zwischen Client- und Serverteilen Ihrer Anwendungen austauschen.
Vergleich von JavaScript-Tools und Blazor
Und jetzt kommen wir zum Hauptteil dieses Artikels. Lassen Sie uns nach einer Antwort auf die Frage suchen, ob Blazor ein Ersatz für in JavaScript geschriebene Bibliotheken und Frameworks sein kann. Kann JavaScript seine aktuelle Position behalten? Vielleicht möchte jeder, der sich für den aktuellen Stand der Front-End-Entwicklung interessiert, die Antworten auf diese Fragen wissen. Ich glaube, dass es zu früh ist, endgültige Schlussfolgerungen zu ziehen oder sogar einige Annahmen in dieser Hinsicht zu treffen. Um der Wahrheit näher zu kommen, können wir mehrere führende JavaScript-Bibliotheken und Frameworks mit Blazor vergleichen.
▍Blazor vs React Vergleich
React wird von vielen als die beste Bibliothek für die Entwicklung von Webkomponenten angesehen. Obwohl es schwierig ist, React und Blazor zu vergleichen, müssen wir zugeben, dass React eine sorgfältig gestaltete Bibliothek ist, die sich für die Entwicklung realer Projekte bewährt hat. Um React hat sich eine mächtige Community von Programmierern gebildet.
Das React-Ökosystem ist voll von Bibliotheken und Frameworks, die es einfach machen, optimierte React-Apps zu entwickeln. Diese Bibliotheken und Frameworks machen React zu einer „universellen Sprache“, mit der Anwendungen für das Web, für die Befehlszeile , für iOS und Android sowie für den Desktop erstellt werden können .
Blazor ist im Vergleich zu React relativ neu. Aber vergessen Sie nicht, dass Blazor ein solides Rasiermessersystem hinter sich hat. Daher können wir nicht sagen, dass Blazor Programmierern völlig unbekannt ist. Da Blazor C # verwendet, ist es für .NET-Entwickler außerdem einfacher und schneller, das Framework zu erlernen. Während sich React im Laufe der Zeit verbessert hat, bietet es Entwicklern viele Möglichkeiten, und während React viele Stärken hat, hat Blazor trotz seines sehr jungen Alters auch etwas Bemerkenswertes:
- Blazor-Projekte können wie React-Projekte als statische Dateien bereitgestellt werden.
- Sie können NuGet-Pakete in Blazor-Apps verwenden.
- Wenn Sie Blazor auf dem Client und auf dem Server verwenden, können Sie denselben Code verwenden (dies gilt natürlich auch für die Verwendung von JS / TS).
- Blazor verfügt über integrierte Routing-Mechanismen zur Validierung von Benutzereingaben und zur Verarbeitung von Formularen.
Dies ist nur eine kleine Auswahl der Funktionen von Blazor. Wenn Sie sich jedoch auf die aktuelle Situation konzentrieren, können wir sagen, dass ein Team, das JavaScript sicher verwendet, auf jeden Fall nur React verwenden sollte. Auf der anderen Seite ist Blazor eine großartige Option für jemanden, der .NET besser beherrscht als JavaScript, während er ein neues Webprojekt startet.
▍Blazor vs Angular Vergleich
Das JavaScript-Framework Angular ist auch für die Entwicklung von Anwendungen mit nur einer Seite beliebt. Wenn Sie es mit der React-Bibliothek vergleichen, werden Sie feststellen, dass es mehr Standardfunktionen enthält. Angular bietet dem Clientanwendungsentwickler eine MVC-Architektur, um das Erstellen und Testen von Projekten zu vereinfachen. Wenn Sie Angular und Blazor vergleichen, stellt sich heraus, dass Angular als bekanntes und stabiles Framework, das für die Erstellung realer Anwendungen geeignet ist, einen festen Platz in der Front-End-Entwicklung einnimmt. Darüber hinaus unterstützt Angular progressive Webanwendungen vollständig, während sich die serverseitigen Mechanismen von Blazor noch nicht in diese Richtung entwickelt haben. Da Angular TypeScript verwendet, ist dieses Framework für C # -Programmierer näher und verständlicher als JavaScript-basierte Frameworks und Bibliotheken.Angesichts aller Stärken von Angular sehe ich keinen Grund für jemanden mit guten TypeScript-Kenntnissen, sich für Blazor zu entscheiden.
Ergebnis
Blazor ist sicherlich ein interessantes Projekt, das trotz der Tatsache, dass es vor relativ kurzer Zeit erschienen ist, einige Aufmerksamkeit verdient. Und die Frage, ob es JavaScript-Tools in der Front-End-Entwicklung ersetzen kann, ist noch offen.
Hast du Blazor ausprobiert?
