Blazor och .NET

Blazor Hybrid vs .NET MAUI vs WPF: webb, skrivbord eller båda för en affärsapplikation?

Vad Blazor Hybrid är, hur det står sig mot WPF, .NET MAUI, en webbapplikation och Electron, och hur du moderniserar WinForms eller WPF utan omskrivning.

Vlado Pandžić

Vlado Pandžić · Grundare · Senior .NET-arkitekt
Publicerad · 5 min läsning

Många företag har en viktig WPF- eller WinForms-applikation på varje skrivbord. Den fungerar, men bara på Windows, varje ändring betyder en ny installation, och förr eller senare frågar någon: borde det här bli en webbapplikation? Och hur blir det med lagret, fältpersonalen och surfplattorna?

Länge var svaret ett smärtsamt val mellan skrivbord och webb. Blazor Hybrid tar bort mycket av det valet: samma skärmar kan köras i en skrivbordsapplikation, på en surfplatta eller telefon och i webbläsaren.

Vad Blazor Hybrid är, med enkla ord

I en Blazor Hybrid-applikation körs Blazor-komponenter inuti en riktig skrivbords- eller mobilapplikation. De körs nativt i .NET, inte i webbläsaren och inte på WebAssembly, och visas bara genom en inbäddad webbvy. Därför har de full åtkomst till enheten: lokala filer, skrivare, skannrar, seriella portar, kameran.

Komponenten som gör det möjligt, BlazorWebView, finns för tre plattformar:

  • .NET MAUI: Windows, macOS, Android och iOS från ett projekt
  • WPF: inuti en befintlig WPF-applikation
  • Windows Forms: inuti en befintlig WinForms-applikation

Alternativen sida vid sida

Alternativ Körs på Bra för Se upp med
Stanna på WPF eller WinForms Windows-skrivbord En stabil applikation som sällan ändras Åldrande teknik, bara Windows, svårare att rekrytera till
Blazor inuti den befintliga WPF- eller WinForms-appen Windows-skrivbord Stegvis modernisering: nya skärmar i Blazor Två gränssnittstekniker sida vid sida ett tag
.NET MAUI Blazor Hybrid Windows, macOS, Android, iOS Ett gränssnitt för skrivbord, surfplatta och telefon, med åtkomst till enheten För iOS krävs en Mac, distribution via installationsprogram eller butiker
Blazor-webbapplikation Alla webbläsare De flesta affärsapplikationer: ingen installation, direkta uppdateringar Ingen direkt åtkomst till lokal hårdvara
Electron Skrivbord Team som arbetar i JavaScript Ett andra språk och en andra stack, större applikationer

Den mest intressanta vägen: Blazor inuti den WPF-applikation du redan har

För ett företag med en stor WPF- eller WinForms-applikation är det mest värdefulla inte MAUI, utan detta: BlazorWebView kan placeras inuti den befintliga applikationen, bredvid de gamla skärmarna. Nya och omarbetade skärmar byggs i Blazor, medan resten av applikationen stannar som den är.

<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 ligger i ett Razor-klassbibliotek som delas med webbapplikationen. När det är dags körs samma skärm i webbläsaren utan att skrivas om. Skärm för skärm blir skrivbordsapplikationen i tysthet en webbapplikation, och användarna står aldrig utan ett fungerande verktyg däremellan.

Delade skärmar, olika enheter

Knepet är att delade komponenter inte pratar direkt med hårdvara, utan med ett gränssnitt. Varje plattform ger sin egen implementation:

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

Den delade orderskärmen ber IBarcodeScanner om en kod. I skrivbordsapplikationen på lagret läser implementationen en USB-skanner. På en telefon använder den kameran. I webbläsaren skriver användaren in koden. Skärmen är densamma överallt, bara implementationen bakom gränssnittet ändras.

När Blazor Hybrid är rätt

  • Applikationen behöver lokal hårdvara: skannrar, etikettskrivare, vågar, seriella enheter, lokala filer.
  • Användarna arbetar utan pålitlig anslutning: lager, fält, produktionshallar.
  • Du vill ha en uppsättning skärmar för skrivbord, surfplatta och webb i stället för tre applikationer.
  • Du har en stor WPF- eller WinForms-applikation och vill modernisera den stegvis i stället för att skriva om den.

När det inte är rätt

  • Om allt applikationen gör kan köras i en webbläsare är en vanlig Blazor-webbapplikation enklare: ingen installation, och varje användare har alltid den senaste versionen.
  • Om applikationen är grafiskt tung, med avancerad ritning eller 3D, är nativ WPF eller ett specialiserat ramverk ett bättre verktyg.
  • Om du bygger en polerad konsumentapp för appbutikerna är helt nativ mobilutveckling oftast det säkrare valet.

Ärligt om nackdelarna

  • Installation och uppdateringar. En skrivbords- eller mobilapplikation måste installeras och uppdateras på varje enhet, medan en webbapplikation uppdateras en gång på servern.
  • Webbvyn beror på plattformen. På Windows använder BlazorWebView WebView2, och stilar kan visas lite olika på olika plattformar, så testa på de enheter dina användare faktiskt har.
  • iOS kräver en Mac. Att bygga och publicera för iOS kräver en Mac som byggvärd, även om resten av teamet arbetar på Windows.

Fem frågor innan du bestämmer dig

  1. Behöver applikationen hårdvara eller filer på användarens dator?
  2. Arbetar användarna utan pålitlig anslutning?
  3. Vilka enheter använder de: bara Windows-datorer eller även surfplattor och telefoner?
  4. Har du redan en stor WPF- eller WinForms-applikation som är värd att behålla under övergången?
  5. Hur levererar du uppdateringar i dag, och hur ofta vill du göra det?

Om svaren är ”ingen hårdvara, bra anslutning, bara datorer”, bygg en Blazor-webbapplikation. Om hårdvara, arbete offline eller flera enheter kommer in i bilden är Blazor Hybrid värt att titta på på allvar.

Hur en skrivbordsapplikation steg för steg flyttas till webben beskriver vi i artikeln om att flytta WinForms och WPF till webben, och vilket läge webbskärmarna ska använda i Blazor Server vs WebAssembly vs Auto.

Så arbetar vi

ProCoding är en .NET-studio från Split i Kroatien, och vi har levererat Blazor till produktion sedan 2020. Vi hjälper dig att välja mellan webb, skrivbord och hybrid, sätter upp det delade komponentbiblioteket och flyttar WPF- och WinForms-applikationer skärm för skärm, utan att ta ett fungerande verktyg från användarna. Mer om vårt arbete med Blazor, och första steget är ett kostnadsfritt samtal på 30 minuter.

Källor

Den här artikeln är endast allmän information och inte juridisk, skattemässig, ekonomisk eller annan professionell rådgivning. Scenarier, exempel och beräkningar är illustrativa. Användarvillkor och ansvarsfriskrivning.

Relaterade artiklar

© 2026 ProCoding — Alla rättigheter förbehållna.Företagsinformation och integritetAnvändarvillkorSplit, Kroatien