Microsoft Blazor: Hauptfunktionen für die interaktive Webentwicklung in .NET

Microsoft Blazor: Hauptfunktionen für die interaktive Webentwicklung in .NET

Microsoft bietet ein Tool zum Entwickeln nativer Android- und iOS-Anwendungen in verschiedenen Programmiersprachen wie .NET oder C #.

Microsoft Technology Associate soll Dot-Net-Entwicklern die Möglichkeit geben, das Potenzial des neuesten Blazor-Toolkits für die Erstellung von Webanwendungen oder nativen iOS- / Android-Anwendungen zu nutzen. Microsoft hatte ein experimentelles "Blazor-Gebäude" für Blazor angekündigt, eine Funktion der ASP.NET-Plattform, mit der Entwickler interaktive Webanwendungen und Benutzeroberflächen mithilfe von C # anstelle von JavaScript erstellen können. Diese Bindung der Komponenten ermöglicht es ihnen, native mobile Anwendungen mit .NET oder C # für Android oder iOS mithilfe der bekannten Webprogrammierung zu erstellen.

Im Jahr 2019 hatte Microsoft eine Lösung vorgestellt, die dieselbe Technologie verwendete und in der eine Desktop-Flutter-App entwickelt wurde, die für Mobilgeräte gedacht und in Dart geschrieben war, jedoch mithilfe von Blazor und .NET. Microsoft Blazor ist ein experimentelles Webbenutzeroberflächen-Framework von ASP.NET, das darauf abzielt, Anwendungen über WebAssembly in allen Browsern bereitzustellen. Entwickler können damit echte Full-Stack-Anwendungen erstellen und Code für Clients und Server freigeben, ohne dass Plugins oder Transpilation erforderlich sind. Microsoft experimentiert mit der Plattform, um die Anforderungen der Entwickler zu erfüllen, die mit den Grundlagen der Webprogrammierung und den Mustern für die Erstellung nativer Anwendungen vertraut sind. In diesem Artikel werden wir untersuchen, wie Microsoft Blazor die Website-Entwicklungsdienste in .NET revolutioniert.

Warum ist Blazor der neue Hype?

Microsoft Blazor ist das neueste clientseitige Benutzeroberflächen-Framework, das von der ASP.NET-Community abgeleitet wurde. Der meistverkaufte Aspekt dieser Plattform ist die Fähigkeit, mithilfe von CSS, HTML oder C # anstelle von JavaScript umfassende Erfahrungen mit der Benutzeroberfläche der Web-Benutzeroberfläche zu entwickeln. Es hat alles, wovon die meisten Entwickler so lange geträumt haben. Wenn Sie als Entwickler oder Mitarbeiter einer Microsoft-Website in den letzten Jahren mit den neuen Entwicklungen im Bereich ASP.NET Schritt gehalten haben, haben Sie definitiv von Blazor gehört. Das JavaScript-Framework war seit seiner Einführung für die Front-End-Webentwicklung de facto die Maßnahme, und Entwickler schienen nie damit zufrieden zu sein. Und es gab viele Transpile und Supersets, die in den letzten Jahren entstanden sind, wie Dart, CoffeeScript, Elm, Scala usw., um die JavaScript-Plattform zu verbessern und sie wartbarer zu machen. Blazor hat den Prozess jedoch bereits begonnen, da es das Potenzial hat, eine effiziente und hochproduktive Programmierplattform zu sein, die sich von seinem ursprünglichen Design unterscheidet, und sich als direkter Zeitgenosse für die einseitigen Anwendungsentwicklungs-Frameworks von JavaScript erweist. Die Hauptziele dieses Rahmens sind:

  • Erstellen von umfangreichen und interaktiven Webanwendungen / Benutzeroberflächen mit Hilfe von C # anstelle von JavaScript

  • Freigeben oder Sammeln von serverseitiger oder clientseitiger Anwendungslogik, die im .NET Framework entwickelt wurde

  • Rendern von CSS und HTML auf der Benutzeroberfläche für die Browserunterstützung, einschließlich mobiler Browser

  • Integration der neuesten Hosting-Plattformen wie Docker und viele mehr.

Das Blazor-Framework ist eine einseitige Anwendungsentwicklungslösung, mit der Benutzer mithilfe von C # anstelle von JavaScript eine interaktive Webbenutzeroberfläche erstellen können. Inspiriert von JavaScript-Frameworks wie Angular, Vue oder React, werden ähnliche Konzepte für die Entwicklung interaktiver Lösungen verwendet. Jede Blazor-Anwendung wird aus den wiederverwendbaren Komponenten von Razor entwickelt, dh der Markup-Syntax für C # und HTML. Mit Blazor teilt Microsoft verschiedene Experimente mit, die mit Hilfe von Web Window mit den Top-Desktop-Anwendungen durchgeführt werden. Bei den neuesten Entwicklungen für die native Entwicklung mobiler Apps wird die Blazor-Programmierung mit den Xamarin-Steuerelementen kombiniert.

Lesen Sie den Blog - Microsoft arbeitet weiter an der Entwicklung mobiler Apps mit Blazor

Was macht Blazor zu einer flexiblen Plattform für das beste Webentwicklungsunternehmen?

Blazor ist eine Architektur, da es die Trennung zwischen der Darstellung der Änderungen und der Berechnung der Komponentenmodelle oder Anwendungsänderungen der Benutzeroberfläche aufweist. Diese Funktion unterscheidet diese Plattform von ihren Zeitgenossen, dh anderen Frameworks für die Entwicklung von Benutzeroberflächen wie ReactJS, Angular oder React Native, die nur Webtechnologien entwickeln können, die auf Benutzeroberflächen basieren. Durch die Verwendung mehrerer Renderings für die Entwicklung von Lösungen kann Blazor nicht nur die webbasierten Komponenten entwickeln, sondern auch native mobile Benutzeroberflächen entwickeln. Darüber hinaus müssen die Komponenten nicht anders entwickelt werden, sodass die für Web-Renderer entwickelten Komponenten nicht zusammen mit anderen nativen mobilen Renderern verwendet werden können. Das Programmiermodell bleibt jedoch das gleiche, was bedeutet, dass Entwickler, sobald sie mit diesem Modell vertraut sind, mit Hilfe eines beliebigen Renderers problemlos Benutzeroberflächen erstellen können. Die Komponenten seines Anwendungsmodells sind:

  • WebAssembly-Renderer

  • Remote-Rendering

  • Elektronenrenderer

  • Mobile Blazor Binding Renderer

Hosting-Modell - Das AP-Modell von Blazor ist im Kern für die Berechnung und Pflege der Änderungen an der Benutzeroberfläche in den ASP.NET-Entwicklungsdiensten verantwortlich. Entwickler können jedoch auch andere Renderer verwenden, um die Anzeige und Aktualisierungen zu steuern. Diese App-Renderer-Modelle werden meist als Hosting-Modelle bezeichnet. Zum Zeitpunkt der Entwicklung befinden sich in Blazor normalerweise vier Modelle. Sie sind-

  • Blazor Server

  • BlazorWebAssembly

  • Blazor Electron

  • Blazorbindungen

Von diesen Modellen ist Blazor Server das einzige Modell, das als die während des Schreibens unterstützte Produktion eingestuft wird, während Blazor Bindings und Electron als experimentell unterstützte Modelle gekennzeichnet sind.

Microsoft Technology Associate: Blazors Funktionen

Es wurde bereits angekündigt, dass das Jahr 2020 definitiv ein Höhepunkt für Microsoft Blazor sein wird und bald zum Mainstream werden wird. Die Plattform ist wirklich einfach und benutzerfreundlich, da sie den Komfort von Razor (Browser + Razor) mit den ASP.NET-Konzepten kombiniert. Blazor hat auch die unglaublichen Muster in den beliebten JavaScript-Frameworks wie React oder Angular optimiert und die Vorlagen genutzt, die von Dotnet-Konventionen oder Razor angeboten werden. Blazor ist eine unglaubliche Plattform, mit der mithilfe des ASP.NET-Frameworks interaktive clientseitige Webbenutzeroberflächen erstellt werden können. Mithilfe der Blazor-Plattform können Entwickler Bibliotheken und Codes aus jedem Segment serverseitiger Anwendungen wiederverwenden. Da das ASP.NET-Framework auch für die Entwicklung interaktiver clientseitiger Anwendungen verwendet wird, baut es auf den bereits leistungsstarken Frameworks und Bibliotheken auf. Einige der hilfreichen Funktionen dieser Plattform, die sie auszeichnen, sind:

  • Es verfügt über zahlreiche vorgefertigte Komponenten der Benutzeroberfläche, sodass Entwickler problemlos mit der Erstellung erstaunlicher Anwendungen beginnen können. Diese Funktion wird von jeder benutzerdefinierten Webentwicklungsfirma oder -organisation sehr geschätzt

  • Dieses Paket erfordert keine JavaScript-Technologie oder -Funktionen. Stattdessen können Aufgaben einfach mit C # erledigt werden. Dies dient dazu, die Gesamtproduktivität von Entwicklern oder Organisationen zu verbessern

  • Es verfügt über eine integrierte Unterstützung für die Authentifizierung der App-Entwicklungskomponenten für das .NET Framework

  • Entwickler können JavaScript-Funktionen aus der ASP.NET-Methodik mithilfe einer Funktion namens "JavaScript-Interoperabilität" aufrufen.

Jeder Microsoft-Website-Entwickler findet Blazor ansprechend, da es von der ASP.NET-Community als Framework zum Erstellen clientseitiger Anwendungen entwickelt wird, die unter der WebAssembly ausgeführt werden. Es bietet die Vorteile eines modernen und umfassenden Single-Page-Anwendungsframeworks, das die ASP.NET-Technologie Ende-zu-Ende verwendet. Die Idee dieses Frameworks kann möglicherweise die Effizienz von C # kombinieren, und Razor ist ein clientseitiges Webprojekt, das vollständig im Browser ausgeführt werden kann. Es verfügt über alle Funktionen, die zum Erstellen eines modernen Webframeworks erforderlich sind. Einige davon sind unten aufgeführt.

  • Modell zur Entwicklung einer zusammensetzbaren Benutzeroberfläche

  • Live-Laden des Browsers während der Phase der Anwendungsentwicklung

  • Verwenden der neuesten Webentwicklungsfunktionen

  • Abhängigkeitsspritze

  • Möglichkeit, über alte Browser zu laufen

  • Schließen Sie das ASP.NET-Debugging ab

  • Entwickelte Segmente der offenen Webentwicklungsplattform, ohne dass Plugins erforderlich waren

  • Umfangreiche Tools für Intelligenz und UI-Entwicklung

  • Serverseitiges Rendern

Lesen Sie den Blog - Was ist der Unterschied zwischen C #, .NET, ASP.NET, Microsoft.NET und Visual Studio?

Vergleich von Microsoft Blazor mit ASP.NET Interactive Web Development

Jedes reguläre ASP.NET rendert die Benutzeroberfläche als Zeichenfolgenblock. Blazor hingegen entwickelte oder renderte einen Baum, aber keine Schnur. Dieses Framework ist eine Darstellung eines Dokumentobjektmodells, dh, es enthält die Komponenten im Speicher, während Blazor die Darstellung beibehält. Alle Änderungen oder Modifikationen, die an diesen Komponenten vorgenommen werden, können eine Aktualisierung der Benutzeroberfläche für dieselben Elemente des Dokumentobjektmodells auslösen. Es gibt einen großen Unterschied zwischen diesen beiden Prozessen beim Rendern von Zeichenfolgen. Insbesondere verwendet das beste Webentwicklungsunternehmen Blazor-Codes und kann nicht direkt auf die Dokumentobjektmodellcodes zugreifen. Diese Einschränkung funktioniert für ASP.NET Core und Razor unterschiedlich, da sie vom JavaScript-Framework abhängen, um vollständigen Zugriff auf die Elemente der Benutzeroberfläche interaktiver Anwendungen zu erhalten.

Das Blazor-Resort rendert die Bäume, um zur früheren DOM-Darstellung (Document Object Model) zurückzukehren und nach bestimmten Teilen desselben Modells zu suchen. Später aktualisiert, bearbeitet oder löscht dieses Framework sie entsprechend. Das Framework optimiert die Änderungen, die am Dokumentmodell vorgenommen werden, oder bearbeitet den Rendering-Baum, um die Änderungen auszuführen. Dieser Mechanismus ermöglicht es der C # -Sprache, beim clientseitigen Rendern interaktiver Anwendungen zu arbeiten. Die Profis von clientseitigem Blazor sind:

  • Für die Website-Entwicklungsdienste ermöglicht Blazor Entwicklern, den ASP.NET-Code direkt im Browser auszuführen. Dieses Framework bricht auch das Monopol des JavaScript-Frameworks auf einer Full-Stack-Plattform, da .NET-Profis aufgrund seiner Unterstützung keine Programmier-Polyglotten werden müssen. Sie können auch ganze Lösungen entwickeln, ohne Codes in JavaScript zu schreiben

  • Blazor-UI-Codes werden als Zwischensprache in ASP.NET kompiliert. Dies bedeutet, dass das Framework das gleiche Potenzial wie der JavaScript-Code hat. Das Kompilierungsmodell kann auch einen großen Unterschied für leistungsorientierte Browser-Weblösungen bewirken.

  • Entwickler können den Code zwischen den Server- oder clientseitigen Anwendungen problemlos überprüfen. Angenommen, eine ASP.NET-Entwicklungsdienstplattform verfügt über die Validierungslogik, die sowohl auf das Backend als auch auf den Browser angewendet werden kann. Mit Blazor konnten sie eine Klassenbibliothek im ASP.NET-Standard erstellen und für die serverseitigen oder clientseitigen Anwendungen freigeben. Außerdem werden alle Änderungen in der Validierungslogik automatisch auf jede dieser Plattformen angewendet.

Blazor Server

Dieses Modell ist derzeit eines der offiziell unterstützten Modelle. Mit seiner Unterstützung können Anwendungen problemlos auf dem Server, jedoch nicht im Browser ausgeführt werden. Blazor Server verwendet die SignalR-Verbindung, um die Aktualisierungen der Benutzeroberfläche vom Server an den Browser zu übertragen. Dieses Server-Hosting-Modell befindet sich derzeit in der vom Produktionsstatus unterstützten Option für die grundlegende Entwicklung von Microsoft. Bei diesem Modell werden plattformorientierte Anwendungen auf dem Server und über der ASP.NET-Laufzeit ausgeführt. Wenn Entwickler oder Benutzer diese Anwendung laden, wird zuerst eine kleine JavaScript-Datei heruntergeladen, die eine bidirektionale Echtzeitverbindung mit dem Server herstellt (SignalR-Verbindung). Jede Interaktion zwischen einem Benutzer und der Anwendung wird sofort mit der Verbindung für die Serververarbeitung an den entsprechenden Server zurückgesendet. Sobald die Verarbeitung des Servers abgeschlossen ist, werden die Aktualisierungen und Änderungen der Benutzeroberfläche an denselben Client zurückgesendet und auf das Dokumentobjektmodell angewendet. Microsoft hat einen leistungsstarken Algorithmus entwickelt, um Unterschiede zu berechnen und in einem kompakten Binärformat zu übertragen. Im Gegensatz zu den meisten anderen interaktiven Webanwendungen, die normalerweise einen zustandslosen Ansatz verfolgen, haben die Blazor-Serveranwendungsmodelle auf dem gesamten Server denselben Status.

Für die Entwicklergemeinschaft ist in einigen Fällen ein Umdenken erforderlich. Im Allgemeinen können sie jedoch ähnliche Konzepte verwenden wie in ASP.NET-Kernanwendungen. Der größte Vorteil dieses Modells besteht darin, dass Sie keine weitere Anwendungsprogrammierschnittstelle für die Kommunikation zwischen Server und Client entwickeln müssen. Dies liegt daran, dass jeder Aspekt auf dem Server ausgeführt wird, sodass eine benutzerdefinierte Webentwicklungsfirma oder ein Entwickler diese Funktionen gemäß ihrer Logik direkt aufrufen kann. Aufgrund der Rechenprozesse auf dem Server eignen sich interaktive Weblösungen von Blazor Server perfekt für Geräte der unteren Preisklasse oder Thin Clients.

BlazorWebAssembly

Es ist eine große Sache für die Hosting-Modelle, mehr zu bekommen, aber aus guten Gründen. Dieses Modell bietet direkten Wettbewerb zur interaktiven JavaScript-Anwendungsentwicklung wie React, VueJS oder Angular. Mit WebAssembly können Entwickler mithilfe von C # anstelle von JavaScript problemlos Benutzeroberflächenlogik und -codes schreiben. Als Microsoft Blazor anfangs ankündigte, ging es ausschließlich um die WebAssembly-Modelle. Mit diesem Modell konnte eine Anwendung zuerst im Laufzeitformat geladen und anschließend die gesamte Anwendungsassembly mit ihren Abhängigkeiten geladen werden. Die Abhängigkeiten von BlazorWebAssembly umfassen das Framework, System.dll usw., aber die Laufzeit ist im Binärformat und andere Assemblys haben dasselbe Format, sodass Entwickler sie in der üblichen ASP.NET-Anwendungsentwicklung verwenden können.

Blazor WebAssembly verwendet den Interpreter-Code zum Ausführen oder Laden einer Anwendung. In diesem Modus kann der Interpreter eine interaktive Anwendungsbenutzeroberfläche ausführen. Der einzige Teil dieses Prozesses, der im WebAssembly-Modus kombiniert wird, ist die Mono-Laufzeit. Der Hauptvorteil ist die Leistung und der Kompromiss mit den großen oder umfangreichen Dateien. Einige der Vorteile von WebAssembly in Blazor sind:

  • Es kompiliert die statischen Dateien, was bedeutet, dass Entwickler die ASP.NET-Laufzeit auf dem Server nicht berücksichtigen müssen

  • Die meisten Aufgaben in Blazor werden vom Server auf seine Clients verlagert

  • Die Anwendungen können auch im Offline-Modus oder -Status ausgeführt werden

  • Es erleichtert die gemeinsame Nutzung von Code, wobei die C # -Komponenten effektiv zwischen dem Server und den Clients gemeinsam genutzt werden können

Im Allgemeinen wird in ASP.NET-Anwendungen ein Just-in-Time-Compiler verwendet, der jedoch kürzlich von WebAssembly nicht unterstützt wird. Es könnte jedoch in der zukünftigen Version des Standards hinzugefügt werden, aber im Moment wird eine andere zum Ausführen des ASP.NET-Codes verwendet. Die Microsoft Associate-Plattform arbeitet an Plänen und einer AOT-Kompilierung (Ahead Of Time Compilation), um Anwendungen oder Framework-Assemblys direkt in WebAssembly zu kompilieren. Diese Kompilierung führt zu einer effektiven interaktiven Anwendungsentwicklungszeit und wird sich hinsichtlich der Laufzeit als leistungsorientiert erweisen.

Das Fazit

In dieser Zeit, in der es bereits viel Aufmerksamkeit und Diskussion um den Einstieg von Blazor in die .NET-Entwicklung gibt, haben Entwickler viele Möglichkeiten. In diesem Artikel haben wir die Einführung und die Kernkonzepte von Microsoft Blazor, Sever, WebAssembly usw. durchgearbeitet. Wir haben auch erläutert, wie dieses Framework in der aktuellen Zeit für die interaktive Entwicklung von Webanwendungen auf der ASP.NET-Plattform bereitgestellt wird. Blazor ist eine aufregende Plattform und bietet einen größeren Raum für Verbesserungen, insbesondere in Bezug auf Entwicklung und Werkzeuge.

Außerdem ist WebAssembly die Haupttechnologie, die die meisten App-Entwicklungsunternehmen oder Front-End-Entwickler nicht einfach ignorieren können. Dies ist eine hervorragende Plattform für ASP.NET-Profis, die es ihnen ermöglicht, Full-Stack-Entwickler zu werden, ohne zusätzliche Programmiersprachen lernen zu müssen. Diese Plattform bietet Klarheit bei der Entwicklung einer Benutzeroberfläche für ein einzelnes Programmiermodell und kann zusammen mit der Anwendung der Framework-Komponenten überall leicht erlernt werden.