Specijalizacija za Blazor

Razvoj poslovnih aplikacija u Blazoru

ProCoding je .NET studio iz Splita, Hrvatska (EU). Naš Blazor kod pomaže u proizvodnji najbržih električnih automobila na svijetu, upravlja baterijskim spremnicima i solarnim elektranama i vodi iznajmljivanje smještaja na Jadranu.

Vlado Pandžić

Vlado Pandžić · Osnivač · Senior .NET arhitekt
14 godina u .NET-u. Vodeći backend inženjer u Bugatti Rimcu od 2020. do 2024. Razgovarate izravno s njim.

Pages/Orders.razor
@page "/orders"@rendermode InteractiveServer@inject IOrderService Orders <QuickGrid Items="orders" Virtualize="true">    <PropertyColumn Property="o => o.Number" Title="Order" Sortable="true" />    <PropertyColumn Property="o => o.Customer" />    <PropertyColumn Property="o => o.Total" Format="N2" /></QuickGrid> @code {    IQueryable<Order>? orders;     protected override async Task OnInitializedAsync()        => orders = (await Orders.GetOpenAsync()).AsQueryable();}
14
godina u .NET-u
2020
isporučujemo Blazor u produkciju od
1.300+
komponenti u jednom Blazor portalu
2013
surađujemo s najdužim klijentom od

Blazor u produkciji

Nisu demo aplikacije. Sustavi na kojima tvornice, elektrane i turističke tvrtke rade svaki dan.

Bugatti Rimac

Automobilska industrija

Softver za kalibraciju i dijagnostiku uz koji se proizvode najbrži serijski električni automobili na svijetu. Blazor web aplikacija koja radi uz desktop alate na proizvodnoj liniji.

  • Kalibracija
  • Dijagnostika
  • Web + desktop

Ionian Energy Systems

Energetika

Softver koji upravlja baterijskim spremnicima i solarnim elektranama: kada puniti, kada prazniti i koliko to donosi. Izgrađen na .NET-u 9 s Blazor sučeljem.

  • .NET 9
  • PostgreSQL
  • Baterijski spremnici

Adriagate

Turizam

Back office koji pokreće platformu za iznajmljivanje smještaja na Jadranu: objekti, cijene i rezervacije, u Blazoru na postojećem .NET sustavu.

  • Administracija
  • Postojeći sustav
  • Iznajmljivanje smještaja
— — —

Europski istraživački institut

Ispitivanje i certifikacija

Portal za korisnike s više od 1.300 Blazor komponenti, kroz koji proizvođači prate ispitivanja i certifikate svojih proizvoda.

  • .NET 8
  • Blazor Web App
  • Portal za korisnike

Tri načina za početak

Svaki ima definiran rezultat, pa znate što plaćate prije nego krenemo.

01

Blazor health check

Za kogaTimove s Blazor aplikacijom koja je spora, nestabilna ili ju je teško mijenjati.

Što gledamo
  • /Ponovna renderiranja i struktura komponenti
  • /Tablice, virtualizacija i straničenje
  • /Prerendering i učitavanje podataka
  • /Memorija servera i SignalR circuiti
  • /Veličina WebAssembly preuzimanja
  • /Autentikacija, tajne i biblioteke
Dobivate

Popis popravaka po prioritetu, sigurnosne nalaze i razgovor s vašim timom na kojem sve prođemo.

Trajanje
5 do 10 radnih dana
Cijena
Fiksna, dogovorena nakon 30-minutnog razgovora
02

Procjena migracije s Web Formsa

Za kogaTvrtke koje koriste ASP.NET Web Forms i trebaju put naprijed bez zaustavljanja poslovanja.

Što gledamo
  • /Popis ekrana i kontrola
  • /ViewState, Session i autentikacija
  • /Kontrole trećih strana i izvještaji
  • /Ciljani način renderiranja za svaki ekran
  • /Plan prelaska dok stara aplikacija i dalje radi
Dobivate

Plan migracije s rasponom procijenjenog truda, fazama i rizicima.

Trajanje
1 do 2 tjedna
Cijena
Fiksna, dogovorena nakon 30-minutnog razgovora
03

Blok sati za razvoj i review

Za kogaTimove koji grade u Blazoru i žele senior inženjera na raspolaganju.

Što gledamo
  • /Razvoj funkcionalnosti
  • /Pregled koda i arhitekture
  • /Rad u paru i mentoriranje
  • /Nadogradnja na aktualni .NET
Dobivate

Mjesečni blok sati, iskorišten za ono što je taj mjesec najvažnije.

Trajanje
Mjesečno, otkaz u bilo kojem trenutku
Cijena
Satnica, obračun mjesečno

Problemi koje rješavamo u Blazor aplikacijama

Spore Blazor aplikacije rijetko su krivnja Blazora. Gotovo uvijek je u pitanju jedno od ovih pet.

01

Sve se ponovno renderira na svaki klik

Prevelike komponente, nedostajući @key u listama i prečesto pozivan StateHasChanged. Rješava se razdvajanjem komponenti i kontrolom ShouldRender.

02

Tablice koje se smrznu sa stvarnim podacima

Deseci tisuća redaka renderiranih odjednom. Virtualize i straničenje na serveru vraćaju ih na trenutno.

03

Podaci učitani dvaput pri prvom posjetu

Prerendering pokreće OnInitializedAsync dvaput. Sačuvano stanje komponente uklanja drugi poziv.

04

Memorija servera koja samo raste

Event handleri i timeri koji se nikad ne oslobode drže circuite živima. IDisposable i ispravni životni vijek servisa zaustavljaju curenje.

05

Korisnici koje stalno izbacuje

Prekinuti SignalR circuiti na nepouzdanim mrežama. Upravljanje ponovnim spajanjem i pravi način renderiranja za svaku stranicu.

Blazor health check pronalazi koje od ovih imate →

Web Forms u Blazor, bez zaustavljanja poslovanja

Stara aplikacija i dalje zarađuje dok se ekrani prebacuju jedan po jedan. Bez velikog jednokratnog izdanja i bez zamrznutog razvoja.

  1. 01

    Popis

    Svaki ekran, kontrola, izvještaj i ovisnost, s označenim rizičnim dijelovima.

  2. 02

    Proxy ispred aplikacije

    Reverse proxy (YARP) usmjerava svaki URL na staru ili novu aplikaciju. System.Web adapteri dijele prijavu i sesiju između njih.

  3. 03

    Ekran po ekran

    Svaki ekran se izgradi iznova u Blazoru, obično kao Interactive Server, i prebaci kad je spreman.

  4. 04

    Gašenje stare aplikacije

    Kad se prebaci zadnji ekran, Web Forms aplikacija se povlači.

Krenite s procjenom migracije s Web Formsa →

Web Forms

Orders.aspx
<asp:GridView ID="OrdersGrid" runat="server"    AutoGenerateColumns="false"    OnRowCommand="OrdersGrid_RowCommand">  <Columns>    <asp:BoundField DataField="Number" HeaderText="Order" />    <asp:BoundField DataField="Total" HeaderText="Total"        DataFormatString="{0:N2}" />    <asp:ButtonField CommandName="Approve" Text="Approve" />  </Columns></asp:GridView>

Blazor

Orders.razor
<QuickGrid Items="orders">    <PropertyColumn Property="o => o.Number" Title="Order" />    <PropertyColumn Property="o => o.Total" Format="N2" />    <TemplateColumn>        <button @onclick="() => Approve(context)">Approve</button>    </TemplateColumn></QuickGrid>

Kako biramo način renderiranja

U .NET-u 10 svaka stranica može koristiti drugi način renderiranja. Ovo je naš zadani izbor za poslovne aplikacije.

Način renderiranjaKoristite ga zaIzbjegavajte ga kad
Statičko renderiranje na serveruStranice koje se uglavnom čitaju, izvještaje, sve što se mora učitati odmah i biti indeksirano.Stranica treba bogatu interakciju bez punog ponovnog učitavanja.
Interactive ServerNaš zadani izborInterne poslovne ekrane na pouzdanoj mreži. Naš zadani izbor za poslovne aplikacije.Korisnici su na nepouzdanim vezama ili ih je istovremeno više tisuća.
Interactive WebAssemblyRad bez veze, korisnike s velikom latencijom ili zahtjevnu obradu na klijentu.Bitno je brzo prvo učitavanje ili kod mora ostati na serveru.
Interactive AutoJavne aplikacije koje trebaju brzo prvo učitavanje, a kasnije rade u pregledniku.Ne želite održavati kod koji radi na oba mjesta.

Kada odgovara, a kada ne

Blazor dobro odgovara kad

  • +Vaš tim već radi u C#-u i .NET-u
  • +Gradite forme, tablice, nadzorne ploče i tijekove rada
  • +Aplikacija je iza prijave
  • +Zamjenjujete Web Forms, Silverlight ili WPF ekrane

Blazor ne odgovara kad

  • −Stranica je uglavnom marketinški sadržaj koji mora rangirati u tražilicama
  • −Vaš tim je potpuno u Reactu i zadovoljan je
  • −Treba vam najmanje moguće preuzimanje na sporim mobilnim mrežama

Zato ova stranica nije izgrađena u Blazoru: to je marketinška stranica, pa je statični HTML bolji alat. Vaš sustav za narudžbe je druga priča.

Alati

Pitanja

Jest. Blazor je dio ASP.NET Corea i izlazi sa svakom verzijom .NET-a, a .NET 10 je izdanje s dugoročnom podrškom do studenog 2028. Microsoft nastavlja ulagati u njega, s načinima renderiranja u .NET-u 8 i daljnjim poboljšanjima od tada. Rizici u stvarnim projektima su arhitektonske odluke, a ne nestanak frameworka.

Za interne poslovne aplikacije Interactive Server na većini ekrana i statičko renderiranje za stranice koje se samo čitaju. WebAssembly kad su korisnici bez veze ili daleko, Auto kad javna aplikacija treba brzo prvo učitavanje. Pogledajte tablicu iznad.

Možemo. Web Forms radi samo na .NET Frameworku 4.8, koji dobiva sigurnosne popravke, ali ne i nove mogućnosti. Migracija ide ekran po ekran iza reverse proxyja, pa stara aplikacija radi dok se ne prebaci zadnji ekran.

Za poslovne aplikacije koje grade .NET timovi često jest: jedan jezik, zajednički modeli i bez zasebnog frontend stacka. Za javne aplikacije s puno sadržaja ili potrošačke aplikacije React ima veći ekosustav. Reći ćemo vam što odgovara.

WPF ako aplikacija mora ostati Windows desktop aplikacija. Blazor ako joj korisnici trebaju pristupati iz preglednika. Blazor Hybrid može iste komponente pokretati i unutar desktop aplikacije.

Obično zbog jednog od pet razloga: nepotrebna ponovna renderiranja, tablice bez virtualizacije, podaci učitani dvaput tijekom prerenderinga, memorija servera koja stalno raste ili SignalR koji odustane od WebSocketa. Health check pronalazi koji se od njih odnose na vas.

Health check i procjena migracije imaju fiksnu cijenu, dogovorenu nakon 30-minutnog razgovora. Razvoj se naplaćuje po satu ili kao mjesečni blok sati.

Da. Često je najkorisnije pridružiti se postojećem timu na nekoliko tjedana, pregledati arhitekturu i pomoći postaviti konvencije.

Imate Blazor aplikaciju kojoj treba pažnja ili Web Forms aplikaciju koju treba prebaciti?

30-minutni razgovor je dovoljan da vidimo možemo li pomoći i koji bi trebao biti prvi korak.

Dogovorite 30-minutni razgovor →
  • Tvrtka iz EU, Split, Hrvatska
  • Srednjoeuropsko radno vrijeme
  • NDA na zahtjev
  • Razgovarate s inženjerom koji piše kod

Korisno poslati uz poruku

  • /Verzija .NET-a i hosting
  • /Način renderiranja, ako je već Blazor
  • /Broj korisnika
  • /Što vas trenutno muči
[email protected]
[email protected]
© 2026 ProCoding — Sva prava pridržana.Split, Hrvatska