Blazor i .NET

Blazor Hybrid vs .NET MAUI vs WPF: web, desktop ili oboje za poslovnu aplikaciju?

Što je Blazor Hybrid, kako se uspoređuje s WPF-om, .NET MAUI-jem, web aplikacijom i Electronom i kako modernizirati WinForms ili WPF bez prepisivanja.

Vlado Pandžić

Vlado Pandžić · Osnivač · Senior .NET arhitekt
Objavljeno · 5 min čitanja

Puno firmi ima važnu WPF ili WinForms aplikaciju na svakom stolu. Radi, ali samo na Windowsima, svaka promjena znači novu instalaciju, i prije ili kasnije netko pita: treba li to postati web aplikacija? A što sa skladištem, terenom i tabletima?

Dugo je odgovor bio bolan izbor između desktopa i weba. Blazor Hybrid velik dio tog izbora uklanja: isti ekrani mogu raditi u desktop aplikaciji, na tabletu ili mobitelu i u pregledniku.

Što je Blazor Hybrid, ljudskim jezikom

U Blazor Hybrid aplikaciji Blazor komponente rade unutar prave desktop ili mobilne aplikacije. Izvršavaju se nativno u .NET-u, a ne u pregledniku i ne na WebAssemblyju, a samo se prikazuju kroz ugrađeni web prikaz. Zato imaju puni pristup uređaju: lokalnim datotekama, printerima, skenerima, serijskim portovima, kameri.

Komponenta koja to omogućuje, BlazorWebView, postoji za tri platforme:

  • .NET MAUI: Windows, macOS, Android i iOS iz jednog projekta
  • WPF: unutar postojeće WPF aplikacije
  • Windows Forms: unutar postojeće WinForms aplikacije

Opcije jedna uz drugu

Opcija Radi na Dobro za Na što pripaziti
Ostati na WPF-u ili WinFormsu Windows desktop Stabilnu aplikaciju koja se rijetko mijenja Tehnologija koja stari, samo Windows, teže zapošljavanje
Blazor unutar postojeće WPF ili WinForms aplikacije Windows desktop Postupnu modernizaciju: novi ekrani u Blazoru Dvije tehnologije sučelja jedna uz drugu neko vrijeme
.NET MAUI Blazor Hybrid Windows, macOS, Android, iOS Jedno sučelje za desktop, tablet i mobitel, s pristupom uređaju Za iOS treba Mac, aplikacije se distribuiraju instalacijama ili trgovinama
Blazor web aplikacija Bilo koji preglednik Većinu poslovnih aplikacija: bez instalacije, trenutna ažuriranja Nema izravnog pristupa lokalnom hardveru
Electron Desktop Timove koji rade u JavaScriptu Drugi jezik i stack, veće aplikacije

Najzanimljiviji put: Blazor unutar WPF aplikacije koju već imate

Za firmu s velikom WPF ili WinForms aplikacijom najvrednija mogućnost nije MAUI, nego ovo: BlazorWebView se može staviti unutar postojeće aplikacije, pokraj starih ekrana. Novi i prerađeni ekrani rade se u Blazoru, a ostatak aplikacije ostaje kakav jest.

<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 živi u Razor biblioteci klasa koju dijeli s web aplikacijom. Kad dođe vrijeme, isti ekran radi u pregledniku bez prepisivanja. Ekran po ekran, desktop aplikacija tiho postaje web aplikacija, a korisnici ni u jednom trenutku ne ostaju bez alata koji radi.

Zajednički ekrani, različiti uređaji

Trik je u tome da zajedničke komponente ne razgovaraju izravno s hardverom, nego sa sučeljem. Svaka platforma daje svoju implementaciju:

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

Zajednički ekran za narudžbe traži kod od IBarcodeScanner. U desktop aplikaciji u skladištu implementacija čita USB skener. Na mobitelu koristi kameru. U pregledniku korisnik upiše kod. Ekran je svugdje isti, a mijenja se samo implementacija iza sučelja.

Kad Blazor Hybrid ima smisla

  • Aplikacija treba lokalni hardver: skenere, printere naljepnica, vage, serijske uređaje, lokalne datoteke.
  • Korisnici rade bez pouzdane veze: skladišta, teren, proizvodne hale.
  • Želite jedan skup ekrana za desktop, tablet i web, umjesto tri aplikacije.
  • Imate veliku WPF ili WinForms aplikaciju i želite je modernizirati postupno, a ne prepisati.

Kad nema smisla

  • Ako sve što aplikacija radi može raditi u pregledniku, obična Blazor web aplikacija je jednostavnija: bez instalacije, a svaki korisnik uvijek ima najnoviju verziju.
  • Ako je aplikacija grafički zahtjevna, sa složenim crtanjem ili 3D-om, nativni WPF ili specijalizirani framework bolji su alat.
  • Ako radite dotjeranu aplikaciju za krajnje korisnike za trgovine aplikacija, potpuno nativni mobilni razvoj obično je sigurniji izbor.

Iskreno o nedostacima

  • Instalacija i ažuriranja. Desktop ili mobilna aplikacija mora se instalirati i ažurirati na svakom uređaju, a web aplikacija se ažurira jednom, na serveru.
  • Web prikaz ovisi o platformi. Na Windowsima BlazorWebView koristi WebView2, a stilovi se mogu malo drukčije prikazivati na različitim platformama, pa testirajte na uređajima koje vaši korisnici stvarno imaju.
  • Za iOS treba Mac. Izrada i objava za iOS traži Mac za build, čak i kad ostatak tima radi na Windowsima.

Pet pitanja prije odluke

  1. Treba li aplikaciji hardver ili datoteke na korisnikovom računalu?
  2. Rade li korisnici bez pouzdane veze?
  3. Koje uređaje koriste: samo Windows računala ili i tablete i mobitele?
  4. Imate li već veliku WPF ili WinForms aplikaciju koju vrijedi zadržati tijekom prelaska?
  5. Kako danas isporučujete ažuriranja i koliko često to želite?

Ako su odgovori “nema hardvera, dobra veza, samo računala”, radite Blazor web aplikaciju. Ako u igru uđu hardver, rad bez interneta ili više uređaja, Blazor Hybrid vrijedi ozbiljno razmotriti.

Kako desktop aplikacija korak po korak prelazi na web, opisujemo u članku o prelasku s WinFormsa i WPF-a na web, a koji način rada trebaju koristiti web ekrani u članku Blazor Server vs WebAssembly vs Auto.

Kako mi radimo

ProCoding je .NET studio iz Splita i Blazor isporučujemo u produkciju od 2020. Pomažemo vam odabrati između weba, desktopa i hibrida, postavljamo zajedničku biblioteku komponenti i selimo WPF i WinForms aplikacije ekran po ekran, a da korisnici ne ostanu bez alata koji radi. Više o našem radu s Blazorom, a prvi korak je besplatan razgovor od 30 minuta.

Izvori

Ovaj članak služi općem informiranju i nije pravni, porezni, financijski ni drugi stručni savjet. Scenariji, primjeri i izračuni su ilustrativni. Uvjeti korištenja i odricanje od odgovornosti.

Povezani članci

© 2026 ProCoding — Sva prava pridržana.Impresum i privatnostUvjeti korištenjaSplit, Hrvatska