Sie sind hier:
Lexikon/Glossar
Telefon (Mo-Fr 9-16 Uhr):
0201/649590-0
|
Kontaktformular
MENU
Start
Hauptseite
Angebote im Überblick
Kernkompetenzen
Softwareentwicklung
Beratung
Firmen-Schulungen
Offene Seminare
Online-Maßnahmen
Vorträge
Coaching
Support
Fachbücher
Fachartikel
Konditionen
Themen
Kernkompetenzen
Aktuelle Themen
Web & Cloud
Apps / Mobilplattformen
Benutzeroberflächen / User Experience
.NET
JavaScript / TypeScript
Java
Programmiersprachen
Entwicklungswerkzeuge
Scripting
Softwareengineering
Datenbanken / Reporting / BI
Betriebssysteme & Virtualisierung
Microsoft Server-Produkte
Windows & Office für Anwender
Soft Skills & IT-Recht
Beratung
Beratungsthemen
Coaching
Softwareentwicklung
Technischer Support
Unsere Top-Berater
Referenzkunden
Angebotsanfrage
Individuelle Schulungen
1026 Schulungsthemen
Agendakonfigurator
Weiterbildungsphilosophie
Didaktische Konzepte
Vor Ort oder online
Unsere Top-Trainer
Referenzkunden
Teilnehmerfeedback
Angebotsanfrage
Offene Seminare
.NET-Akademie
.NET/C#-Basisseminar
WPF
WinUI
.NET MAUI
Blazor
ASP.NET WebAPI & gRPC
Entity Framework Core
Unit Testing / TDD
PowerShell
Infotage
Wissen
Übersicht
Fachbücher
Fachartikel
Konferenzvorträge
Konferenzen/Events
Spickzettel
Lexikon/Glossar
Programmcodebibliothek
Versionshistorie
Weblog
Downloads
Newsletter
Community-/Leserportal
Registrierung
.NET/C#/Visual Studio
.NET 10.0
.NET 9.0
.NET 8.0
ASP.NET (Core)/Blazor
PowerShell
Über uns
Kontakt
Selbstdarstellung
Kernkompetenzen
Dr. Holger Schwichtenberg
Top-Experten
Leitung & Kundenteam
Referenzkunden
Kundenaussagen
Referenzprojekte
Partner
Konditionen
Stellenangebote
Weitere Websites
Impressum
Datenschutzerklärung, Haftung, Urheberrecht, Barrierefreiheit
Suche
Themenkatalog
Tag Cloud
Volltextsuche
Site Map
FAQs
Erklärung des Begriffs: Blazor Desktop
Zur Stichwortliste unseres Lexikons
Was ist
Blazor Desktop
?
Blazor Desktop ist Teil von
Blazor Hybrid
, was wieder ein Teil von
ASP.NET Core
ist.
Mit
.NET 6.0
hatte Microsoft mit Blazor Desktop eine dritte Architektur in die Blazor-Familie eingeführt. Während bei
Blazor Server
der C#-Programmcode auf einem
ASP.NET Core
-fähigen
Webserver
und bei
Blazor WebAssembly
direkt in der WebAssembly Virtual Machine des Browsers läuft, ist bei Blazor Desktop der Host eine .NET-basierte Anwendung.
Als Host bei Blazor Desktop sind möglich:
Eine
Windows Forms
-Anwendung, die nur auf Windows (ab
Windows 7
) läuft
Eine App mit
Windows Presentation Foundation
(
WPF
), die nur auf Windows (ab
Windows 7
) läuft
Bei Blazor Desktop läuft die Blazor-Anwendung dabei nicht in einem
Webserver
und auch nicht einer Webassembly-VM, sondern im gleichen .NET-Prozess und sogar im gleichen
Thread
wie die Desktop- bzw. Mobil-Anwendung. Es gibt also keine Prozesstrennung wie bei
Electron
und damit auch keine Notwendigkeit des expliziten Nachrichtenverkehrs. In
Blazor Server
übernimmt die Kommunikation zwischen dem .NET Code im Host und dem WebView-
Steuerelement
ein "Native Interop
Channel
", dessen Arbeit für die Entwickler völlig unsichtbar ist. Alle .NET-
API
s können direkt aufgerufen werden. Bei Blazor Desktop kommt also weder ein Web
API
(wie bei
Blazor WebAssembly
) noch SignalR (wie bei
Blazor Server
) zum Einsatz. Wie bei
Blazor Server
hat der Programmcode in Blazor Desktop vollen Zugriff auf alle Ressourcen des Betriebssystems.
Blazor Desktop kann also auch
Datenbankmanagementsystem
e direkt ansprechen – sofern das Betriebssystem dies unterstützt. Das ist in Windows möglich, auf
Android
und
iOS
aber nicht, weil es dort die passenden Treiber nicht gibt. Auf Mobilbetriebssystemen kann man nur lokale Datenbanken (meist
SQLite
) ansprechen.
Bei Blazor Desktop ist also – abhängig vom Betriebssystem – eine 2-Tier-Anwendung ohne Application Server/
Middleware
möglich; Geschäftslogik und
Datenzugriffsschicht
können im Client-Prozess laufen. Eine 3-Tier-Anwendung mit
Middleware
, also dem Datenzugriff via
Webservice
s auf einen Application Server, ist natürlich immer auch möglich.
Blazor Desktop verwendet das gleiche
Komponente
nkonzept (
Razor Component
s mit oder ohne Code-Behind-Datei) wie
Blazor WebAssembly
und
Blazor Server
. Eine Umstellung einer Blazor-Anwendung auf Blazor Desktop ist also einfach, egal ob diese mit
Blazor WebAssembly
(3-Tier) oder
Blazor Server
(2- oder 3-Tier) realisiert wurde. Lediglich der Startcode und die Startseite sind leicht verschieden in den drei Blazor-Architekturen. Darüberhinausgehende technische Unterschiede werden durch
Dependency Injection
unterschiedlicher Dienste weitgehend wegabstrahiert, z.B. für die Navigation und die Interoperabilität mit
JavaScript
.
In Blazor Desktop übernimmt die von Microsoft bereitgestellte
JavaScript
-Bibliothek blazor.webview.js die Weitergabe der Browser-Interaktionen an die
Razor Component
in Blazor sowie die Aktualisierung des
HTML
-DOM im Browser. Eine Blazor Desktop-Anwendung kann beliebig viele native Fenster umfassen, in die Blazor-Anwendungen via WebView eingebettet sind.
Programmiersprache
Bei der
Programmiersprache
nauswahl in Blazor Desktop ist der Entwickler auf C# reduziert, auch wenn
WPF
und
Windows Forms
ansonsten zusätzlich mit
Visual Basic .NET
möglich wären. Allerdings gibt es von Microsoft-Seite Blazor nur mit C#. Das Projekt "Bolero" [
https://fsbolero.io
] bietet zwar auch F# mit
Blazor WebAssembly
an, allerdings nur im Browser.
Geschichte
Die offiziell erste einsatzreife Version von Blazor Desktop ist erst am 23.5.2022 (als Nachtrag zu
.NET 6.0
) zusammen mit .NET MAUI erschienen. Vorher war Blazor Desktop aber schon gut einsetzbar. Es gab aber in der RTM-Version noch einen kleinen Breaking Change. Dabei wurde AddBlazorWebView() ersetzt durch AddWindowsFormsBlazorWebView() und AddWpfBlazorWebView().
Einsatzgebiete von Blazor Desktop
Unternehmen beginnen keine nagelneue Anwendung mit Blazor Desktop, sondern nutzen Blazor Desktop, um bestehende
Windows Forms
- und
WPF
-Anwendungen schrittweise ins Web umzuziehen. Softwareanbieter bauen zunächst einzelne Blazor-
Komponente
n in die native Anwendung ein. An einem Punkt, wo diese Blazor-
Komponente
n einen für die Zielgruppe hinreichenden Funktionsumfang besitzen, betreiben die Softwareanbieter diese
Komponente
n dann in einer eigenständigen Webanwendung im Browser auf Basis von Blazor-Webtechniken (
Blazor WebAssembly
oder
Blazor Server
bzw.
Blazor United
. So ist es denkbar, dass man aus einer großen kaufmännischen Windows-Desktop-Anwendung beispielweise die Lagerverwaltung in die Webwelt überführt, um diese Teilanwendung auf nicht mit Windows-betriebenen mobilen Endgeräten laufen zu lassen. Mit der schrittweisen Migration verteilt sich das große Investitionsvolumen auf mehrere Jahre. Zudem vermeidet der Softwareanbieter Stillstand bei seiner Windows-Software.
Deployment von Blazor Desktop-Anwendungen
Beim Deployment einer Blazor-Desktop-Anwendung auf Windows muss man beachten, dass das Windows-Zielsystem zusätzlich die Installation der WebView2 Runtime [
https://developer.microsoft.com/microsoft-edge/webview2/#download-section
] benötigt. In dieser Runtime kommt genauso wie im modernen
Microsoft Edge
-Browser
Google
's
Chromium
zum Einsatz. Leider liefert Microsoft die WebView2 Runtime bisher mit keinem Betriebssystem aus. Das war früher zu Zeiten des
Internet Explorer
s besser; da war der notwendige Code zum Einbetten des Browsers in anderen Anwendungen immer dabei. Weder bei der Portable App noch bei der Self-Contained App nehmen die
.NET SDK
-Werkzeuge die WebView2 Runtime mit.
Alternativen zu Blazor Desktop
Blazor Server
Blazor WebAssembly
Blazor Auto Render Mode
Blazor MAUI
Querverweise zu anderen Begriffen im Lexikon
Windows Presentation Foundation (WPF)
Datenbankmanagementsystem (DBMS)
Blazor Auto Render Mode
Dependency Injection
Datenzugriffsschicht (DZS)
Programmiersprache
Blazor WebAssembly (Blazor WASM)
Visual Basic .NET (VB.NET)
Internet Explorer (IE)
Razor Component
Microsoft Edge
Windows Forms (WinForms)
Blazor United
Blazor Hybrid
Blazor Server
Steuerelement
ASP.NET Core
Blazor MAUI
Middleware
Komponente
JavaScript (JS)
Webservice
Windows 7
Webserver
.NET 6.0 (.NET 6)
Electron
Chromium
Channel
Android
Google
Thread
SQLite
iOS
.NET Software Development Kit (.NET SDK)
Hypertext Markup Language (HTML)
Application Programming Interface (API)
Windows Presentation Foundation (WPF)
Beratung & Support
Moderne Webanwendungen/Webprogrammierung mit Blazor (ASP.NET Core Blazor)
Benutzerschnittstellentechnik auswählen (UI-/Frontend-Techniken)
Anfrage für Beratung/Consulting zu BLAZOR DESKTOP
Gesamter Beratungsthemenkatalog
Technischer Support zum BLAZOR DESKTOP
Schulungen
.NET 6.0 - Änderungen und Neuerungen gegenüber .NET 5.0
.NET Akademie: Blazor-Hands-On: Echte Single-Page-Web-Apps mit .NET und C# entwickeln (3-Tages-Agenda des öffentlichen Seminars)
Blazor (Blazor United und/oder Blazor SSR und/oder Blazor WebAssembly und/oder Blazor Server und/oder Blazor Hybrid)
Umstieg auf .NET 8.0/9.0/10.0 - Entwicklerworkshop mit allen Anwendungsgebieten (Umstellung/Migration von klassischem .NET Framework zu .NET 8.0/9.0/10.0)
Umstieg auf ASP.NET Core 8.0/9.0/10.0-Webanwendungen in .NET 8.0/9.0/10.0 (Umstellung/Migration von klassischen ASP.NET-Webanwendungen auf ASP.NET Core)
Anfrage für eine individuelle Schulung zum Thema BLAZOR DESKTOP
Gesamter Schulungsthemenkatalog
Fachbücher
Blazor 10.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 10.0, C# 14.0 und Visual Studio 2026
C# 14.0 Crashkurs
Moderne Datenzugriffslösungen mit Entity Framework Core 10.0
.NET 10.0 Update: Die Neuerungen in .NET 10.0 gegenüber .NET 9.0
Blazor 9.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 9.0, C# 13.0 und Visual Studio 2022
C# 13.0 Crashkurs
Cross-Plattform-Apps mit .NET MAUI entwickeln
Moderne Datenzugriffslösungen mit Entity Framework Core 9.0
.NET 9.0 Update: Die Neuerungen in .NET 9.0 gegenüber .NET 8.0
PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
.NET 8.0 Update: Die Neuerungen in .NET 8.0 gegenüber .NET 7.0
Concurrency with Modern C++: What every professional C++ programmer should know about concurrency
C++20: Get the Details
Blazor 8.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 8.0, C# 12.0 und Visual Studio 2022
Moderne Datenzugriffslösungen mit Entity Framework Core 8.0
C# 12.0 Crashkurs
App-Entwicklung für Mobile und Desktop: Software Engineering mit .NET MAUI und Comet für iOS, Android, Windows und macOS
Cross-Plattform-Apps mit .NET MAUI entwickeln
Blazor 7.0: Blazor WebAssembly, Blazor Server und Blazor Hybrid
C# 11.0 Crashkurs
Moderne Datenzugriffslösungen mit Entity Framework Core 7.0
PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
C++ Core Guidelines Explained: Best Practices for Modern C++
App Engineering: SwiftUI, Jetpack Compose, .NET MAUI und Flutter
Vue.js 3 Crashkurs
Moderne Datenzugriffslösungen mit Entity Framework Core 6.0
Blazor 6.0: Blazor WebAssembly, Blazor Server und Blazor Desktop
C# 10.0 Crashkurs
Cross-Plattform-Apps mit Xamarin.Forms entwickeln
Developing Web Components with TypeScript: Native Web Development Using Thin Libraries
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr