Specialisatie in Blazor

Blazor-ontwikkeling voor zakelijke applicaties

ProCoding is een .NET-studio in Split, Kroatië (EU). Onze Blazor-code helpt bij het bouwen van de snelste elektrische auto's ter wereld, stuurt batterijopslag en zonneparken aan en beheert vakantieverhuur aan de Adriatische kust.

Vlado Pandžić

Vlado Pandžić · Oprichter · Senior .NET-architect
14 jaar in .NET. Van 2020 tot 2024 lead backend engineer bij Bugatti Rimac. U praat rechtstreeks met hem.

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
jaar in .NET
2020
Blazor in productie sinds
1.300+
componenten in één Blazor-portaal
2013
samenwerking met onze langste klant sinds

Blazor in productie

Geen demo's. Systemen waarop fabrieken, energiecentrales en reisbedrijven elke dag draaien.

Bugatti Rimac

Automotive

Kalibratie- en diagnosesoftware waarmee de snelste elektrische productieauto's ter wereld worden gebouwd. Een Blazor-webapplicatie die aan de productielijn samenwerkt met desktoptools.

  • Kalibratie
  • Diagnose
  • Web + desktop

Ionian Energy Systems

Energie

Software die batterijopslag en zonneparken aanstuurt: wanneer laden, wanneer ontladen en wat het oplevert. Gebouwd op .NET 9 met een Blazor-interface.

  • .NET 9
  • PostgreSQL
  • Batterijopslag

Adriagate

Reizen

De backoffice van een platform voor vakantieverhuur aan de Adriatische kust: accommodaties, prijzen en boekingen, beheerd in Blazor bovenop een bestaand .NET-systeem.

  • Beheer
  • Bestaand systeem
  • Vakantieverhuur
— — —

Europees onderzoeksinstituut

Testen en certificering

Een klantportaal met meer dan 1.300 Blazor-componenten, waarin fabrikanten de tests en certificaten van hun producten volgen.

  • .NET 8
  • Blazor Web App
  • Klantportaal

Drie manieren om te beginnen

Elk heeft een vastomlijnd resultaat, zodat u weet waarvoor u betaalt voordat we beginnen.

01

Blazor health check

VoorTeams met een Blazor-app die traag, instabiel of lastig aan te passen is.

Wat we bekijken
  • /Re-renders en componentstructuur
  • /Grids, virtualisatie en paginering
  • /Prerendering en het laden van data
  • /Servergeheugen en SignalR-circuits
  • /Downloadgrootte van WebAssembly
  • /Authenticatie, secrets en dependencies
U krijgt

Een geprioriteerde lijst met fixes, beveiligingsbevindingen en een gesprek met uw team waarin we alles doorlopen.

Duur
5 tot 10 werkdagen
Prijs
Vaste prijs, afgesproken na een gesprek van 30 minuten
02

Web Forms-migratieanalyse

VoorBedrijven die ASP.NET Web Forms gebruiken en verder moeten zonder het bedrijf stil te leggen.

Wat we bekijken
  • /Inventaris van schermen en controls
  • /ViewState, Session en authenticatie
  • /Controls van derden en rapporten
  • /Doel-rendermodus voor elk scherm
  • /Overstapplan terwijl de oude app blijft draaien
U krijgt

Een migratieroadmap met een bandbreedte voor de inspanning, mijlpalen en risico's.

Duur
1 tot 2 weken
Prijs
Vaste prijs, afgesproken na een gesprek van 30 minuten
03

Blok voor ontwikkeling en review

VoorTeams die in Blazor bouwen en een senior engineer op afroep willen.

Wat we bekijken
  • /Ontwikkeling van features
  • /Code- en architectuurreview
  • /Pairing en mentoring
  • /Upgrades naar actuele .NET-versies
U krijgt

Een maandelijks blok uren, ingezet voor wat die maand het belangrijkst is.

Duur
Maandelijks, op elk moment opzegbaar
Prijs
Uurtarief, maandelijks gefactureerd

Problemen die we oplossen in Blazor-apps

Trage Blazor-apps liggen zelden aan Blazor. Het is bijna altijd een van deze vijf.

01

Alles rendert opnieuw bij elke klik

Te grote componenten, een ontbrekende @key in lijsten en te vaak aangeroepen StateHasChanged. Opgelost door componenten op te splitsen en ShouldRender te beheersen.

02

Grids die vastlopen met echte data

Tienduizenden rijen tegelijk gerenderd. Virtualize en paginering op de server maken ze weer direct bruikbaar.

03

Data die bij het eerste bezoek twee keer laadt

Prerendering voert OnInitializedAsync twee keer uit. Persistente componentstatus haalt de tweede aanroep weg.

04

Servergeheugen dat alleen maar groeit

Event handlers en timers die nooit worden vrijgegeven, houden circuits in leven. IDisposable en de juiste levensduur van services stoppen het lek.

05

Gebruikers die steeds de verbinding verliezen

Verbroken SignalR-circuits op onbetrouwbare netwerken. Afhandeling van herverbinden en de juiste rendermodus voor elke pagina.

De Blazor health check laat zien welke u hebt →

Van Web Forms naar Blazor, zonder het bedrijf stil te leggen

De oude applicatie blijft geld opleveren terwijl schermen een voor een overgaan. Geen big-bang-release, geen bevroren roadmap.

  1. 01

    Inventarisatie

    Elk scherm, elke control, elk rapport en elke afhankelijkheid, met de risicovolle delen gemarkeerd.

  2. 02

    Een proxy ervoor zetten

    Een reverse proxy (YARP) stuurt elke URL naar de oude of de nieuwe app. System.Web-adapters delen login en sessie tussen beide.

  3. 03

    Scherm voor scherm overzetten

    Elk scherm wordt opnieuw gebouwd in Blazor, meestal als Interactive Server, en overgezet zodra het klaar is.

  4. 04

    De oude app uitzetten

    Als het laatste scherm is overgezet, wordt de Web Forms-applicatie uitgefaseerd.

Begin met een Web Forms-migratieanalyse →

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>

Hoe we rendermodi kiezen

In .NET 10 kan elke pagina een andere rendermodus gebruiken. Dit is onze standaard voor bedrijfsapplicaties.

RendermodusGebruik het voorVermijd het als
Statische serverrenderingPagina's die vooral gelezen worden, rapporten, alles wat direct moet laden en indexeerbaar moet zijn.De pagina heeft rijke interactie nodig zonder volledig herladen.
Interactive ServerOnze standaardInterne bedrijfsschermen op een betrouwbaar netwerk. Onze standaard voor bedrijfsapplicaties.Gebruikers hebben onbetrouwbare verbindingen, of er zijn vele duizenden tegelijk.
Interactive WebAssemblyOffline gebruik, gebruikers met hoge latency of zwaar werk aan de clientkant.Een snelle eerste keer laden is belangrijk, of de code moet op de server blijven.
Interactive AutoPublieke apps die snel moeten laden en daarna in de browser draaien.U wilt geen code onderhouden die op beide plekken draait.

Past wel, past niet

Blazor past goed als

  • +Uw team al in C# en .NET werkt
  • +U formulieren, grids, dashboards en workflows bouwt
  • +De app achter een login zit
  • +U Web Forms-, Silverlight- of WPF-schermen vervangt

Blazor past niet als

  • −De site vooral marketingcontent is die moet scoren in zoekmachines
  • −Uw team helemaal voor React gaat en daar tevreden mee is
  • −U de kleinst mogelijke download nodig hebt op trage mobiele netwerken

Daarom is deze website niet in Blazor gebouwd: het is een marketingsite, dus statische HTML is het betere gereedschap. Uw bestelsysteem is een ander verhaal.

Tools

Vragen

Ja. Blazor is onderdeel van ASP.NET Core en verschijnt bij elke .NET-release, en .NET 10 is een long-term-supportrelease met ondersteuning tot november 2028. Microsoft blijft erin investeren, met rendermodi in .NET 8 en verdere verbeteringen sindsdien. De risico's in echte projecten zijn architectuurkeuzes, niet het verdwijnen van het framework.

Voor interne bedrijfsapplicaties Interactive Server op de meeste schermen en statische rendering voor pagina's die alleen gelezen worden. WebAssembly als gebruikers offline of ver weg zijn, Auto als een publieke app snel moet laden. Zie de tabel hierboven.

Ja. Web Forms draait alleen op .NET Framework 4.8, dat beveiligingsupdates krijgt maar geen nieuwe functies. De migratie gaat scherm voor scherm achter een reverse proxy, zodat de oude app blijft werken tot het laatste scherm is overgezet.

Voor bedrijfsapplicaties die door .NET-teams worden gebouwd vaak wel: één taal, gedeelde modellen en geen aparte frontend-stack. Voor publieke, contentrijke of consumentenapps heeft React het grotere ecosysteem. We vertellen u wat past.

WPF als de app een Windows-desktopapplicatie moet blijven. Blazor als gebruikers er via een browser bij moeten kunnen. Blazor Hybrid kan dezelfde componenten ook in een desktopapp draaien.

Meestal door een van vijf oorzaken: onnodige re-renders, grids zonder virtualisatie, data die tijdens prerendering twee keer wordt geladen, servergeheugen dat blijft groeien, of SignalR dat terugvalt van WebSockets. De health check laat zien welke op u van toepassing zijn.

De health check en de migratieanalyse hebben een vaste prijs, afgesproken na een gesprek van 30 minuten. Ontwikkeling wordt per uur gefactureerd of als maandelijks blok uren.

Ja. Vaak is het nuttigst om een paar weken aan te sluiten bij een bestaand team, de architectuur te reviewen en te helpen bij het vastleggen van conventies.

Hebt u een Blazor-app die aandacht nodig heeft, of een Web Forms-app die over moet?

Een gesprek van 30 minuten is genoeg om te zien of we kunnen helpen en wat de eerste stap moet zijn.

Plan een gesprek van 30 minuten →
  • EU-bedrijf in Split, Kroatië
  • Midden-Europese werktijden
  • NDA op aanvraag
  • U praat met de engineer die de code schrijft

Handig om mee te sturen

  • /.NET-versie en hosting
  • /Rendermodus, als het al Blazor is
  • /Aantal gebruikers
  • /Wat er nu knelt
[email protected]
[email protected]
© 2026 ProCoding — Alle rechten voorbehouden.Colofon en privacySplit, Kroatië