Blazor en .NET

Blazor Hybrid vs .NET MAUI vs WPF: web, desktop of allebei voor een bedrijfsapplicatie?

Wat Blazor Hybrid is, hoe het zich verhoudt tot WPF, .NET MAUI, een webapplicatie en Electron, en hoe u WinForms of WPF moderniseert zonder herschrijven.

Vlado Pandžić

Vlado Pandžić · Oprichter · Senior .NET-architect
Gepubliceerd · 5 min lezen

Veel bedrijven hebben een belangrijke WPF- of WinForms-applicatie op elk bureau. Die werkt, maar alleen op Windows, elke wijziging betekent een nieuwe installatie, en vroeg of laat vraagt iemand: moet dit een webapplicatie worden? En hoe zit het met het magazijn, de buitendienst en de tablets?

Lang was het antwoord een pijnlijke keuze tussen desktop en web. Blazor Hybrid neemt een groot deel van die keuze weg: dezelfde schermen kunnen draaien in een desktopapplicatie, op een tablet of telefoon en in de browser.

Wat Blazor Hybrid is, in gewone woorden

In een Blazor Hybrid-applicatie draaien Blazor-componenten binnen een echte desktop- of mobiele applicatie. Ze draaien native in .NET, niet in de browser en niet op WebAssembly, en worden alleen getoond via een ingebouwde webweergave. Daardoor hebben ze volledige toegang tot het apparaat: lokale bestanden, printers, scanners, seriële poorten, de camera.

Het component dat dit mogelijk maakt, BlazorWebView, bestaat voor drie platforms:

  • .NET MAUI: Windows, macOS, Android en iOS vanuit één project
  • WPF: binnen een bestaande WPF-applicatie
  • Windows Forms: binnen een bestaande WinForms-applicatie

De opties naast elkaar

Optie Draait op Goed voor Let op
Op WPF of WinForms blijven Windows-desktop Een stabiele applicatie die zelden verandert Verouderende techniek, alleen Windows, moeilijker mensen te vinden
Blazor binnen de bestaande WPF- of WinForms-app Windows-desktop Geleidelijke modernisering: nieuwe schermen in Blazor Twee UI-technologieën een tijd naast elkaar
.NET MAUI Blazor Hybrid Windows, macOS, Android, iOS Eén interface voor desktop, tablet en telefoon, met toegang tot het apparaat Voor iOS is een Mac nodig, distributie via installers of stores
Blazor-webapplicatie Elke browser De meeste bedrijfsapplicaties: geen installatie, directe updates Geen directe toegang tot lokale hardware
Electron Desktop Teams die in JavaScript werken Een tweede taal en stack, grotere applicaties

De interessantste weg: Blazor binnen de WPF-applicatie die u al heeft

Voor een bedrijf met een grote WPF- of WinForms-applicatie is niet MAUI het waardevolst, maar dit: BlazorWebView kan binnen de bestaande applicatie worden geplaatst, naast de oude schermen. Nieuwe en herwerkte schermen worden in Blazor gebouwd, de rest van de applicatie blijft zoals hij is.

<blazor:BlazorWebView HostPage="wwwroot\index.html" Services="{DynamicResource services}">
    <blazor:BlazorWebView.RootComponents>
        <blazor:RootComponent Selector="#app" ComponentType="{x:Type shared:OrderScreen}" />
    </blazor:BlazorWebView.RootComponents>
</blazor:BlazorWebView>

OrderScreen staat in een Razor-klassenbibliotheek die met de webapplicatie wordt gedeeld. Als het zover is, draait hetzelfde scherm in de browser zonder te worden herschreven. Scherm voor scherm wordt de desktopapplicatie stilletjes een webapplicatie, en gebruikers zitten tussendoor nooit zonder werkend gereedschap.

Gedeelde schermen, verschillende apparaten

De truc is dat gedeelde componenten niet rechtstreeks met hardware praten, maar met een interface. Elk platform levert zijn eigen implementatie:

public interface IBarcodeScanner
{
    Task<string?> ScanAsync();
}

Het gedeelde orderscherm vraagt IBarcodeScanner om een code. In de desktopapplicatie in het magazijn leest de implementatie een USB-scanner. Op een telefoon gebruikt ze de camera. In de browser typt de gebruiker de code. Het scherm is overal hetzelfde, alleen de implementatie achter de interface verandert.

Wanneer Blazor Hybrid zinvol is

  • De applicatie heeft lokale hardware nodig: scanners, labelprinters, weegschalen, seriële apparaten, lokale bestanden.
  • Gebruikers werken zonder betrouwbare verbinding: magazijnen, de buitendienst, productiehallen.
  • U wilt één set schermen voor desktop, tablet en web, in plaats van drie applicaties.
  • U heeft een grote WPF- of WinForms-applicatie en wilt die geleidelijk moderniseren in plaats van herschrijven.

Wanneer niet

  • Als alles wat de applicatie doet in een browser kan draaien, is een gewone Blazor-webapplicatie eenvoudiger: geen installatie, en elke gebruiker heeft altijd de nieuwste versie.
  • Als de applicatie grafisch zwaar is, met complex tekenwerk of 3D, zijn native WPF of een gespecialiseerd framework het betere gereedschap.
  • Als u een verzorgde consumentenapp voor de app stores bouwt, is volledig native mobiele ontwikkeling meestal de veiligere keuze.

Eerlijk over de nadelen

  • Installatie en updates. Een desktop- of mobiele applicatie moet op elk apparaat worden geïnstalleerd en bijgewerkt, een webapplicatie één keer op de server.
  • De webweergave hangt af van het platform. Op Windows gebruikt BlazorWebView WebView2, en stijlen kunnen per platform iets anders worden weergegeven, dus test op de apparaten die uw gebruikers echt hebben.
  • iOS vraagt een Mac. Bouwen en publiceren voor iOS vereist een Mac als buildhost, ook als de rest van het team op Windows werkt.

Vijf vragen voordat u beslist

  1. Heeft de applicatie hardware of bestanden op de computer van de gebruiker nodig?
  2. Werken gebruikers zonder betrouwbare verbinding?
  3. Welke apparaten gebruiken ze: alleen Windows-pc’s of ook tablets en telefoons?
  4. Heeft u al een grote WPF- of WinForms-applicatie die de moeite waard is om tijdens de overgang te behouden?
  5. Hoe levert u nu updates, en hoe vaak wilt u dat?

Zijn de antwoorden “geen hardware, goede verbinding, alleen pc’s”, bouw dan een Blazor-webapplicatie. Komen hardware, offline werken of meerdere apparaten in beeld, dan is Blazor Hybrid een serieuze optie.

Hoe een desktopapplicatie stap voor stap naar het web gaat, leest u in het artikel over WinForms en WPF naar het web, en welke modus webschermen moeten gebruiken in Blazor Server vs WebAssembly vs Auto.

Hoe wij werken

ProCoding is een .NET-studio uit Split, Kroatië, en wij brengen Blazor sinds 2020 in productie. Wij helpen u kiezen tussen web, desktop en hybride, zetten de gedeelde componentenbibliotheek op en zetten WPF- en WinForms-applicaties scherm voor scherm over, zonder gebruikers hun werkende gereedschap af te nemen. Meer over ons werk met Blazor, en de eerste stap is een gratis gesprek van 30 minuten.

Bronnen

Dit artikel is alleen algemene informatie en geen juridisch, fiscaal, financieel of ander professioneel advies. Scenario’s, voorbeelden en berekeningen zijn ter illustratie. Gebruiksvoorwaarden en disclaimer.

Gerelateerde artikelen

© 2026 ProCoding — Alle rechten voorbehouden.Colofon en privacyDisclaimerSplit, Kroatië