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ć · 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.
Nisu demo aplikacije. Sustavi na kojima tvornice, elektrane i turističke tvrtke rade svaki dan.
EOL test · station 3
✓ ECU software12 s
✓ Camera calibration48 s
● Radar alignmentrunning
○ Final report
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
Site overview · todaySoC 76%
— solar— battery
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
Bookings · July
Villa Marina12–19paid
Apartment Luka20–27pending
Studio Sunce02–09paid
House Maslina10–17draft
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
Customer portal · reports
Report R-2291approved
Certificate C-114issued
Sample S-883in testing
Quote Q-560draft
— — —
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.
U .NET-u 10 svaka stranica može koristiti drugi način renderiranja. Ovo je naš zadani izbor za poslovne aplikacije.
Način renderiranja
Koristite ga za
Izbjegavajte ga kad
Statičko renderiranje na serveru
Stranice 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 izbor
Interne 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 WebAssembly
Rad bez veze, korisnike s velikom latencijom ili zahtjevnu obradu na klijentu.
Bitno je brzo prvo učitavanje ili kod mora ostati na serveru.
Interactive Auto
Javne 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
Blazor Web App
Interactive Server
WebAssembly
QuickGrid
SignalR
ASP.NET Core Identity
YARP
MudBlazor
Radzen
bUnit
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.