Sie sind hier: Startseite | Wissen
Werbung

Was ist ASP.NET Blazor?

Ist ein Single-Page-Web-Application (SPA) Framework im Browser
von Microsoft
Open Source (https://github.com/aspnet/Blazor/)
Verwendet C# und die Template-Syntax von ASP.NET Razor
Benutzeroberflächenbeschreibung in HTML und CSS
Basiert auf WebAssembly und Mono
Ausführung in Sandbox
Preview 1: 22.3.2018

Architekturmodelle
Client Side Blazor (alias Blazor Webassembly App)
Server Side Blazor (alias Blazor Server App)

Client Side Blazor / Blazor Webassembly App
Seit 28.4.2019 offizielles Projekt (nicht mehr experimentell, aber wird nicht in .NET Core 3.0 erscheinen!)
Ist ein echtes, offline-fähiges Single-Page-Web-Application (SPA) Framework im Browser von Microsoft
Open Source [github.com/aspnet/Blazor]
Programmierung in C# und Template-Syntax von ASP.NET Razor
Laufen wirklich im Browser, ohne Plugin, ohne Transpilation!
auf Basis WebAssembly und Mono
  • Mono CLR in WebAssembly kompiliert
  • Virtual DOM/Spiegel-DOM zwischen WASM<->JS
Benutzeroberflächenbeschreibung in HTML und CSS (nicht XAML!)
Ausführung in Sandbox
Kann, aber muss nicht mit ASP.NET Core auf Server eingesetzt werden

Server Side Blazor / Blazor Server App
Zwischenzeitlicher Name: "Razor Components"
Enthalten in ASP.NET Core 3.0 seit Preview 2
Code läuft auf Server: .NET Core, C#, ASP.NET Core, Razor-Templates
Client: HTML, CSS, etwas JavaScript von Microsoft, optional etwas eigenes
Component = .razor-Datei, optional mit .razor.cs
Component Packages, auch mit Templated Components
Server hat ein Shadow-DOM
Einzelne UI-Updates per ASP.NET SignalR (über Websockets)
"SPA light" (SPA-UI-Erlebnis)
Interaktion mit JS/TS + Zugriff auf Browser-APIs möglich

Es gibt im Rahmen von ASP.NET Blazor gibt es neben der Webbrowser-Programmierung auch noch eine serverseitige Variante, bei der der .NET-Code allein auf dem Webserver läuft und das Document Object Model (DOM) des Browsers via ASP.NET SignalR über Websockets aktualisiert wird. Der Server hält dazu ein Shadow DOM für jeden verbundenen Browser. Es entsteht aus der Sicht des Website-Benutzers eine SPA, die aber nicht Offline-fähig und nicht gut skalierbar sind. Dieser Teil des Projekts wurde in "Razor Components" umbenannt und soll in 2019 im Rahmen von .NET Core 3.0 erscheinen. Für Websites mit kleineren Nutzerzahlen können "Razor Components" eine attraktive (weil kostengünstige!) Alternative zu normalen SPAs mit HTML und JavaScript/TypeScript sein.

Beratung & Support:

Schulungen zu diesem Thema:

 Anfrage für eine individuelle Schulung zum Thema ASP.NET Blazor;  Gesamter Schulungsthemenkatalog