Razor und Blazor von Microsoft bieten umfassende Webentwicklungstools für .NET-Entwickler, die nur das neueste .NET Core 3.0 SDK herunterladen müssen
Nachdem Microsofts Razor zu einer gut aufgenommenen Auszeichnungssprache wurde, hat der Hersteller von Windows-Betriebssystemen an Blazor gearbeitet, einer leistungsstarken Alternative zu beliebten Single Page Application-Frameworks. Webentwickler, die an .Net-Anwendungen arbeiten, verfügen jetzt über ein schlankes und effektives Frontend-Benutzeroberflächen-Framework (UI). Die Plattform funktioniert im Browser über WebAssembly und wurde speziell entwickelt und optimiert, um auf jedem Webbrowser (im Gegensatz zu Microsoft Silverlight) zuverlässig zu funktionieren. Dies bietet Entwicklern die Möglichkeit, schnelle Single-Page-Anwendungen mit größtmöglicher Kompatibilität und Zuverlässigkeit schnell zu entwerfen, zu entwickeln und bereitzustellen.
Microsoft hat Razor vor einigen Jahren entwickelt und es wurde sofort zu einem Hit unter Entwicklern, da sie eine gut gestaltete serverseitige Markup-Sprache erhalten hatten. Razor ermöglichte es ihnen, serverseitigen Code auf Webseiten zu bringen. Darüber hinaus wurde die Syntax von Razor so optimiert, dass sie einfach zu lesen und zu verstehen ist, was das Erlernen und Anpassen derselben sehr einfach machte. Unnötig zu erwähnen, dass sich mehrere neue Entwickler der Markup-Sprache zuwandten, was die Akzeptanz und Verwendung von Razor erheblich vorangetrieben hat. Microsoft hat routinemäßig darauf hingewiesen, dass Razor stetig an Akzeptanz gewinnt.
Trotz der steigenden Nutzung von Razor hatten .Net-Entwickler immer noch keine leistungsstarke Alternative, die JavaScript-Frameworks wie Angular, React und Vue im Frontend direkt konterkarierte. Mit anderen Worten, Razor ermöglichte es Entwicklern, die gesamte serverseitige Logik mit .NET zu verarbeiten und die Daten auf die Clientseite zu bringen, aber den Entwicklern fehlte noch ein robustes Frontend. Um die Lücke zu schließen und eine komplette Backend- und Frontend-Lösung anzubieten, haben Microsoft-Ingenieure Blazor entwickelt. Im Wesentlichen ist das Web-UI-Framework eine leistungsstarke Methode, um die Leistungsfähigkeit von .NET auf die Clientseite zu bringen.
Warum sind Razor, WebAssembly und Blazor für Microsoft .Net-Entwickler wichtig?
Als Microsoft-Ingenieure versuchten, Möglichkeiten zu entwickeln, .Net auf die Client-Seite zu bringen, war WebAssembly die naheliegendste und praktikabelste Lösung mit langfristigen Perspektiven. WebAssembly oder wie es im Volksmund als WASM bezeichnet wird, ist ein neuer Codetyp, der in allen modernen Webbrowsern ausgeführt werden kann. Mit seinem effizienten und kompakten Binärformat kann WebAssembly vielversprechend mit nahezu nativer Leistung und Effizienz ausgeführt werden.
WASM ist eine Assembler-ähnliche Sprache auf niedriger Ebene, die Sprachen wie C/C++ und Rust mit einem Kompilierungsziel versorgt. Diese Sprachen wiederum können dann problemlos im Web ausgeführt werden. Obwohl WASM eine Alternative zu JavaScript ist, kann es interessanterweise als komplementär und keineswegs im Widerspruch zu diesem betrachtet werden. Mit anderen Worten, mit WASM entworfene Webanwendungen können mit denen arbeiten, die mit JavaScript entwickelt wurden.
WebAssembly macht es möglich, .Net-Code überall auf jedem modernen Browser auszuführen. Unnötig zu erwähnen, dass der Code viele Probleme beseitigte, mit denen .Net-Entwickler regelmäßig konfrontiert waren. Entwickler stehen oft vor seltsamen Problemen, wenn sie versuchen, eine zuverlässige und optimale Leistung auf den meisten gängigen Webbrowsern sicherzustellen. Vor kurzem hat Mozilla Firefox, einer der beliebtesten Webbrowser, about:compat bereitgestellt, ein Repository, das benutzerdefinierte Optimierungen enthält, um eine optimale Leistung ausgewählter Websites im Browser zu gewährleisten. Mit der korrekten Bereitstellung von Razor und WebAssembly müssen Browser wie Firefox und Entwickler keine benutzerdefinierten Lösungen finden, um sicherzustellen, dass Websites in den meisten Browsern ohne Störungen oder Fehler funktionieren.
Blazor entwickelte sich aus Razor als ideale Alternative zu Single Page Application Frameworks:
Microsoft experimentierte zuerst mit „Silverlight“, aber dieses UI-Framework stieß auf mehrere technische Hürden. Dennoch kann Silverlight als wichtiger evolutionärer Schritt zur Schaffung von Blazor angesehen werden. Das neue, von .Net abhängige UI-Framework ist eine wettbewerbsfähige Alternative zu beliebten Single Page Application-Frameworks. Entwickler, die an .Net gearbeitet haben, sollten sich bei der Arbeit mit Blazor sehr wohl fühlen.
Im Wesentlichen kombiniert Blazor bekanntes Razor-Markup mit Dingen wie Datenbindung und Abhängigkeitsinjektion. Darüber hinaus ermöglicht das Framework sogar Aufrufe von und zu JavaScript über JavaScript-Interop, was die verfügbaren Tools, die Zuverlässigkeit, Vielfalt und den Funktionsumfang, der Webentwicklern zur Verfügung steht, erheblich steigert. Mit Blazor als Teil des Toolsets können Entwickler ihr erworbenes und entwickeltes Wissen über C# server- und clientseitig schnell und effizient nutzen. Blazor gewährt ihnen Zugriff auf .Net und seine Bibliotheken.
Interessanterweise sind Blazor-Apps komponentenbasiert. Dank dieser Flexibilität und Vielseitigkeit können Blazor-Apps mit geringfügigen Anpassungen verschachtelt und wiederverwendet werden. Das Ergebnis einer mit Razor und Blazor entwickelten Webanwendung sind Apps, die eine hohe Zuverlässigkeit, Geschwindigkeit und Effizienz aufweisen. Ganz zu schweigen davon, dass das Framework die Entwicklung einer umfangreichen Benutzeroberfläche ermöglicht, die als HTML und CSS gerendert wird.
Vor Blazor war Microsoft Silverlight ein einziges funktionsfähiges Framework. Es fehlte jedoch stark an Plattformunterstützung. Dies schränkte die Akzeptanz von Silverlight erheblich ein. WebAssembly hingegen wurde speziell entwickelt, um eine optimale Kompatibilität mit allen gängigen Browsern zu gewährleisten, einschließlich des Safari-Browsers von Apple, der unter iOS funktioniert. Dies bedeutet einfach, dass WebAssembly jetzt ein würdiger Konkurrent oder eine Alternative zu JavaScript und konkurrierenden Single Page Application Frameworks ist. Während es immer viele Entwickler geben wird, die JavaScript und seinen Frameworks weiterhin treu bleiben werden, könnten erfahrene .Net-Entwickler WebAssembly schnell einführen.
Einschränkungen bei Razor und Blazor:
Razor ist sicherlich eine leistungsstarke Auszeichnungssprache und Blazor profitiert von der langen Geschichte von .Net. Es besteht kein Zweifel, dass Entwickler, die mit der .Net-Plattform gearbeitet haben, diese Plattformen bevorzugen könnten. Blazor entwickelt sich jedoch noch weiter. Mit anderen Worten, in bestimmten Bereichen, die als sehr restriktiv angesehen werden könnten, greift sie immer noch zu kurz.
Eine der auffälligsten Einschränkungen in Blazor betrifft das Debugging. Entwickler müssen ihrem Code umfangreiche Protokollierung hinzufügen, um Fehler aufzuspüren. Die zweitwichtigste Überlegung ist die hohe Anfangslastwirkung. Mit anderen Worten, Blazor-Anwendungen bringen eine beträchtlich hohe Anwendungsgröße mit sich. Eine grundlegende Blazor-Anwendung kann 2 bis 3 MB mit sich führen. Während dies von normalen Endbenutzern möglicherweise nicht als groß angesehen wird, wird es in der Welt der Webanwendungen als eine große Belastung angesehen. Interessanterweise reduziert einfaches Caching die Daten beim anschließenden Neuladen erheblich.
Trotz der wenigen Einschränkungen sind Razor und Blazor mit ihrer reichen .Net-Geschichte sicherlich eines der am meisten bevorzugten Tools. Webentwickler, die schon lange mit JavaScript arbeiten und sich mit seinen Frameworks schwer tun, würden sich sicherlich über eine einheitliche und umfassende Sprache für die clientseitige sowie serverseitige Entwicklung freuen. Interessierte Entwickler müssen mit der Installation des neuesten .NET Core 3.0 SDK beginnen. Danach müssen sie Blazor-Vorlagen installieren. Microsoft hat auf seiner Website eine umfassende Anleitung angeboten.