Sie sind hier:
Wissen
Telefon (Mo-Fr 9 bis 16 Uhr):
0201/649590-0
|
Kontaktformular
MENU
Medien
Übersicht
Lexikon/Glossar
Spickzettel
Weblog
Konferenzvorträge
Fachbücher
Fachartikel
Leserportal
Autoren gesucht!
Literaturtipps
Praxisnahe Fallbeispiele
Downloads
Newsletter
.NET
Startseite
.NET 8.0
.NET 7.0
.NET 6.0
.NET 5.0
.NET Core
.NET 4.0/4.5.x/4.6.x
.NET 3.0/3.5
.NET 2.0
.NET-Lexikon
Programmiersprachen
Entwicklerwerkzeuge
Klassenreferenz
Softwarekomponenten
Windows Runtime
World Wide Wings-Demo
Versionsgeschichte
Codebeispiele
ASP.NET
Artikel
Bücher
Schulung & Beratung
Konferenzen/Events
ASP.NET
Startseite
Lexikon
Sicherheit
Konfiguration
Global.asax
Tracing
Technische Beiträge
Klassenreferenz
Programmiersprachen
Entwicklerwerkzeuge
Softwarekomponenten
Forum
Schulung & Beratung
PowerShell
Startseite
Commandlet-Referenz
Codebeispiele
Commandlet Extensions
Versionsgeschichte
Schulungen+Beratung
Windows
Startseite
Windows Runtime (WinRT)
Windows PowerShell
Windows Scripting
Windows-Schulungen
Windows-Lexikon
Windows-Forum
Scripting
Startseite
Lexikon
FAQ
Bücher
Architektur
Skriptsprachen
Scripting-Hosts
Scripting-Komponenten
COM/DCOM/COM+
ADSI
WMI
WMI-Klassenreferenz
Scripting-Tools
WSH-Editoren
Codebeispiele
.NET-Scripting
Forum
Schulung & Beratung
Nutzer
Anmeldung/Login
Buchleser-Registrierung
Gast-Registrierung
Hilfe
Website-FAQ
Technischer Support
Site Map
Tag Cloud
Suche
Kontakt
Erklärung des Begriffs: ASP.NET Core Blazor (Blazor)
Begriff
ASP.NET Core Blazor
Abkürzung
Blazor
Eintrag zuletzt aktualisiert am
03.02.2022
Zur Stichwortliste unseres Lexikons
Was ist
ASP.NET Core Blazor
?
ASP.NET Core Blazor ist ein Single-Page-Web-Application (SPA) Framework im Browser von Microsoft.
Es gibt drei Architekturmodelle in Blazor:
Blazor WebAssembly
: Die Ausführung von in C# geschriebenen .NET-Anwendungen direkt im
Webbrowser
war der ursprüngliche Gedanke. Die
DLL
s werden in Intermediate Language in den Browser geladen und dort interpretiert im Rahmen der WebAssembly Virtual Machine (Ein Ahead-of-Timer-
Compiler
zu WebAssembly-Bytecode ist schon lange in Arbeit und soll in
.NET 6
erscheinen). Da es keinen direkten Zugang zum Document Object Model (DOM) des Browsers gibt, manipulieren
Razor Component
s und C#-Code das Virtual DOM, welches Microsoft dann via
JavaScript
mit dem echten DOM synchronisiert.
Blazor Server
: Hierbei läuft der C#-Code nicht im Browser, sondern im
Webserver
. Zwischen dem Virtual DOM und dem echten DOM liegt das
Netzwerk
. Microsoft synchronisiert beide via Blazor Pack-Protokoll über
Websockets
.
Blazor Server
funktioniert aber folglich nur bei kontinuierlicher
Netzwerk
werkverbindung (Offline-Fähigkeit ist per se nicht möglich) und bietet auch keine gute Skalierbarkeit, denn der Zustand aller
Komponente
n und das Virtual DOM für alle Benutzer liegt auf dem
Webserver
. Eigentlich nur als Nebenprodukt von
Blazor WebAssembly
entstanden, hat
Blazor Server
dennoch inzwischen einige Anhänger gefunden, denn eine Web
API
-Middle-Tier braucht man hier nicht.
Blazor Desktop
, eine hybride Anwendung. Eine Blazor-basierte Webanwendung ist einbettbar in eine Desktop-Anwendung oder mobile App. Die Blazor-Webanwendung läuft im gleichen Prozess wie die Rahmen-Anwendungen und teilt sich Zustände mit dieser. Es gibt keinen
Webserver
und keine WebAssembly-VM: Der .NET-Prozess selbst rendert die
Razor Component
s und integriert einen
Webbrowser
-
Steuerelement
für die Darstellung.
In allen drei Fällen erlebt der Benutzer das Verhalten einer Single-Page-Web-Application (SPA).
Eigenschaften
Open Source
(
https://github.com/aspnet/Blazor/)
Verwendet C# und die
Template
-Syntax von ASP.NET Razor
Benutzeroberflächenbeschreibung in
HTML
und
CSS
Architekturmodelle
Blazor Webassembly, alias:
Client Side Blazor
Blazor Server
, alias:
Server Side Blazor
Zeitplan
Erste Vorschauversion war am: 22.3.2018
28.4.2019: Blazor offizielles Projekt (nicht mehr experimentell)
Blazor Server
erschienen in .NET Core 3.0 am 23.9.2019, Update in ASP
.NET Core 3.1
am 3.12.2019
Blazor WebAssembly
wird im Mai 2020 erscheinen.
Blazor Server
(
Blazor Server
App)
Zwischenzeitlicher Name: "
Razor Component
s"
Enthalten in
ASP.NET Core 3.0
seit Preview 2
Code läuft auf Server: .NET Core, C#, ASP.NET Core, Razor-
Template
s
Client:
HTML
,
CSS
, etwas
JavaScript
von Microsoft, optional etwas eigenes
Component = .razor-Datei, optional mit .razor.cs
Component Packages, auch mit
Template
d Components
Server hat ein Virtual-DOM des Browserinhalts für jeden angeschlossenen
Webbrowser
Einzelne UI-Updates per
ASP.NET SignalR
(über
Websockets
)
"SPA light" (SPA-UI-Erlebnis)
Interaktion mit JS/TS + Zugriff auf Browser-
API
s möglich
Client Side Blazor
/ Blazor Webassembly App
Basiert auf WebAssembly und
Mono
Ausführung in Sandbox
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
Blazor WebAssembly
(Blazor Client App) vs.
Blazor Server
(
Server Side Blazor
)
Nachdem Blazor lange Zeit den Status "experimentell" hatte, ist nun in
ASP.NET Core 3.0
(ein Teil von .NET Core 3.0) ein Teil des Projekts erschienen:
Server Side Blazor
. Der Name stellt aber schon klar, dass die Razor-Vorlagen und der übrige Programmcode auf dem Server läuft. Dennoch sieht der Benutzer der Webseite keine Seitenwechsel, sondern eine SPA. Dies erreicht Microsoft mit seiner
JavaScript
-Bibliothek blazor.server.js, die die Benutzerinteraktion per Websocket (realisiert via
ASP.NET Core SignalR
) zum
Webserver
funkt. Der
Webserver
unterhält eine Kopie des Document Object Models eines jeden angeschlossenen
Webbrowser
. Der Servercode manipuliert dieses Schatten-DOM und Blazor sendet alle Änderungen am DOM zum Browser, die blazor.server.js dann in die sichtbare Seite einbaut. Eine
Server Side Blazor
-Anwendung ist folglich weder offline-fähig noch gut skalierbar, da der
Webserver
entspricht viel Speicher- und Rechenlast hat. Dennoch zeigen erste Praxisprojekte, dass sich diese neue Architektur eignet für Webanwendungen mit kleinerer Benutzerzahl. Zudem besteht die Perspektive einer Umstellung auf Client-Side Blazor. Hier läuft dann der (fast) derselbe .NET-Programmcode auf Basis einer in Webassembly geschriebenen Variante von
Mono
im
Webbrowser
und belastet nicht mehr den
Webserver
. Zudem ist Client-Side Blazor offline-fähig. Von Client-Side Blazor gibt weiterhin eine Preview-Version und noch keinen verkündeten Erscheinungstermin.
Querverweise zu anderen Begriffen im Lexikon
ASP.NET Core SignalR
Blazor WebAssembly (Blazor WASM)
Client Side Blazor
Server Side Blazor
ASP.NET Core 3.0
ASP.NET SignalR
Razor Component
Blazor Desktop
Blazor Server
Steuerelement
.NET Core 3.1
Open Source
Webbrowser
Komponente
Websockets
JavaScript (JS)
Webserver
Template
Compiler
Netzwerk
Mono
.NET 6.0 (.NET 6)
eXtensible Application Markup Language (XAML)
WebAssembly (WASM)
Hypertext Markup Language (HTML)
Cascading Style Sheet (CSS)
Dynamic Link Library (DLL)
Application Programming Interface (API)
Common Language Runtime (CLR)
Beratung & Support
Beratung/Consulting: Moderne Webanwendungen/Webprogrammierung mit Blazor (ASP.NET Core Blazor)
Beratung/Consulting: Benutzerschnittstellentechnik auswählen (UI-/Frontend-Techniken)
Anfrage für Beratung/Consulting zu ASP.NET Core Blazor Blazor
Gesamter Beratungsthemenkatalog
Technischer Support zum ASP.NET Core Blazor Blazor
Schulungen zu diesem Thema
Moderne Web-Anwendungen mit Blazor (Blazor United und/oder Blazor SSR und/oder Blazor WebAssembly und/oder Blazor Server und/oder Blazor Hybrid)
.NET Akademie: Blazor-Hands-On: Echte Single-Page-Web-Apps mit .NET und C# entwickeln (3-Tages-Agenda des öffentlichen Seminars)
ASP.NET Core 8.0/9.0: komplettes Wissen - mit MVC, Razor Pages, Blazor, WebAPIs und gRPC
Umstieg auf ASP.NET Core 8.0/9.0-Webanwendungen in .NET 6.0/7.0/8.0 (Umstellung/Migration von klassischen ASP.NET-Webanwendungen auf ASP.NET Core)
Umstieg von .NET-Desktop-Entwicklung (WPF/Windows Forms) auf Webentwicklung (ASP.NET/ASP.NET Core + JavaScript/TypeScript mit Webframeworks wie Angular, Vue.js oder React)
Umstieg auf .NET 8.0/9.0 - Entwicklerworkshop mit allen Anwendungsgebieten (Umstellung/Migration von klassischem .NET Framework zu .NET 6.0/8.0/9.0)
ASP.NET Core WebAPI 8.0/9.0: REST Services/HTTP Services/Microservices
.NET und C# für Umsteiger von C++
.NET-Sicherheit (.NET Security)
.NET 8.0 - Änderungen und Neuerungen gegenüber .NET 7.0
ASP.NET Core 8.0 - Änderungen und Neuerungen gegenüber ASP.NET Core 7.0
Entity Framework Core 8.0/9.0 (EF Core 8.0/9.0): Objekt-Relationales Mapping (ORM) für .NET 8.0/9.0 (komplettes Wissen)
Neuerungen in .NET Core 3.0/3.1 gegenüber Version 2.x (inkl. ASP.NET Core, Entity Framework Core, WPF und Windows Forms)
.NET und C# für Umsteiger von Java
Umstieg auf .NET Multi-Platform App UI (MAUI) (Umstellung/Migration von Xamarin Forms-Apps auf .NET MAUI)
.NET-Entwickler-Update 2023
ASP.NET Core 9.0 - Änderungen und Neuerungen gegenüber ASP.NET Core 8.0
Umstieg auf .NET 8.0/9.0 - Entwicklerworkshop (Umstellung/Migration von klassischem .NET Framework zu .NET 6.0/8.0/9.0)
.NET-Performance (Leistungsprobleme/Leistungsengpässe)
.NET 5.0 - Änderungen und Neuerungen gegenüber .NET Core 3.x
.NET für Einsteiger
.NET Akademie: Datenbankprogrammierung mit Entity Framework Core (3-Tages-Agenda des öffentlichen Seminars)
.NET 9.0 - Änderungen und Neuerungen gegenüber .NET 8.0
.NET-Überblick für .NET-Einsteiger und .NET-Entscheider (wahlweise für das klassische .NET Framework und/oder das moderne .NET)
Lokalisierung/Globalisierung in .NET (System.Globalization)
ASP.NET Webforms-Crashkurs (3 Tage)
.NET-Entwickler-Update 2024
.NET 6.0 - Änderungen und Neuerungen gegenüber .NET 5.0
.NET 7.0 - Änderungen und Neuerungen gegenüber .NET 6.0
Anfrage für eine individuelle Schulung zum Thema ASP.NET Core Blazor Blazor
Gesamter Schulungsthemenkatalog
Bücher zu diesem Thema
Blazor 9.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 9.0, C# 13.0 und Visual Studio 2022
Blazor 8.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 8.0, C# 12.0 und Visual Studio 2022
Blazor 7.0: Blazor WebAssembly, Blazor Server und Blazor Hybrid
Blazor 6.0: Blazor WebAssembly, Blazor Server und Blazor Desktop
ASP.NET Core Blazor 5.0: Blazor WebAssembly und Blazor Server - Moderne Single-Page-Web-Applications
ASP.NET Core Blazor 3.1/3.2: Blazor Server und Blazor Webassembly - Moderne Single-Page-Web-Applications mit .NET, C# und Visual Studio
ASP.NET Core Blazor 3.0/3.1: Blazor Server und Blazor Webassembly - Moderne Single-Page-Web-Applications mit .NET, C# und Visual Studio
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr