# .NET 9 Blazor: Pengembangan Full-Stack dengan Blazor United di 2026 > Panduan lengkap .NET 9 Blazor United yang menyatukan Static SSR, Interactive Server, dan WebAssembly dalam satu framework full-stack. Mencakup render modes, streaming rendering, constructor injection, AOT compilation, serta pola-pola production-ready untuk aplikasi web modern. - Published: 2026-04-26 - Updated: 2026-04-26 - Author: SharpSkill - Tags: dotnet, blazor, aspnet-core, webassembly, full-stack - Reading time: 8 min --- Ekosistem .NET 9 menghadirkan evolusi signifikan dalam pengembangan aplikasi web full-stack melalui Blazor United. Arsitektur ini menyatukan tiga paradigma rendering yang sebelumnya terpisah—Static Server-Side Rendering (SSR), Interactive Server berbasis SignalR, dan WebAssembly—ke dalam satu model pemrograman yang kohesif. Hasilnya, developer dapat memilih strategi rendering yang paling tepat untuk setiap komponen dalam aplikasi tanpa perlu berpindah framework atau mengelola codebase terpisah. Sebelum kehadiran Blazor United, pengembang harus memilih antara Blazor Server atau Blazor WebAssembly di awal proyek. Masing-masing memiliki kelebihan dan kekurangan yang sulit dikompromikan. Blazor Server menawarkan startup time yang cepat dan akses langsung ke resource backend, namun bergantung pada koneksi jaringan yang stabil. Blazor WebAssembly memberikan pengalaman offline-capable dengan latensi minimal, namun memerlukan waktu loading awal yang lebih lama karena harus mengunduh .NET runtime ke browser. Blazor United menghapus dilema tersebut dengan memungkinkan kedua model—ditambah Static SSR—berjalan berdampingan dalam satu aplikasi. > **Apa yang Disatukan oleh Blazor United?** > > Blazor United menggabungkan Static SSR, Interactive Server (SignalR), dan Interactive WebAssembly dalam satu proyek .NET 9. Setiap komponen dapat memilih render mode secara independen: halaman marketing menggunakan Static SSR untuk performa dan SEO optimal, dashboard real-time menggunakan Interactive Server untuk akses langsung ke database, dan fitur offline menggunakan WebAssembly—semua ditulis dalam C# tanpa membutuhkan JavaScript framework tambahan. ## Menyiapkan Proyek Blazor Web App dengan .NET 9 Langkah pertama dalam membangun aplikasi Blazor United adalah membuat proyek menggunakan template `blazorweb` yang telah disediakan oleh .NET 9 SDK. Template ini secara otomatis mengkonfigurasi infrastruktur untuk mendukung semua render mode, termasuk routing, dependency injection, dan pengelolaan static assets. ```bash # Create a new Blazor Web App with all render modes enabled dotnet new blazorweb -n FullStackApp --interactivity Auto --all-interactive false cd FullStackApp dotnet run ``` Parameter `--interactivity Auto` mengaktifkan mode Auto yang secara cerdas memilih antara Server dan WebAssembly berdasarkan konteks runtime. Sementara itu, flag `--all-interactive false` menetapkan bahwa komponen bersifat static secara default—interaktivitas harus dideklarasikan secara eksplisit pada setiap komponen yang memerlukannya. Pendekatan opt-in ini menghasilkan aplikasi yang lebih performant karena menghindari overhead koneksi SignalR atau download WASM untuk konten yang tidak memerlukan interaktivitas. Struktur proyek yang dihasilkan mencakup direktori `Components` dengan subdivisi untuk `Pages`, `Layout`, dan `Shared`. File `Program.cs` telah dikonfigurasi dengan service registration untuk dependency injection, middleware routing, dan konfigurasi static file serving. Developer dapat langsung mulai membuat komponen dengan memilih render mode yang sesuai untuk setiap use case spesifik. ## Memahami Render Mode dalam Blazor United Inti dari arsitektur Blazor United terletak pada sistem render mode yang fleksibel. Terdapat empat mode utama yang dapat dikombinasikan secara bebas dalam satu aplikasi, masing-masing dengan karakteristik performa dan kapabilitas yang berbeda. | Render Mode | Hosting | Interactivity | Best For | |---|---|---|---| | Static SSR | Server | None | Marketing pages, docs, SEO content | | Interactive Server | Server via SignalR | Full | Dashboards, CRUD, forms | | Interactive WebAssembly | Browser via WASM | Full | Offline, heavy client-side logic | | Interactive Auto | Server then WASM | Full | Best of both — fast load + independence | **Static SSR** merender komponen menjadi HTML murni di server tanpa mempertahankan koneksi persisten ke browser. Mode ini ideal untuk konten yang jarang berubah dan membutuhkan SEO optimal, seperti halaman marketing, dokumentasi, dan blog. **Interactive Server** memanfaatkan SignalR untuk membangun koneksi real-time bidireksional antara browser dan server, memungkinkan setiap interaksi pengguna diproses langsung di server dengan akses penuh ke database dan logic backend. **Interactive WebAssembly** mengeksekusi aplikasi sepenuhnya di browser menggunakan .NET runtime yang dikompilasi ke WASM, memberikan pengalaman offline-capable dengan latensi minimal setelah initial download selesai. **Interactive Auto** merupakan pendekatan hybrid—memulai dengan Server mode untuk initial render yang cepat, lalu secara transparan beralih ke WebAssembly setelah runtime di-download di background. Setiap komponen mendeklarasikan render mode-nya menggunakan directive `@rendermode`. Berikut contoh komponen Dashboard yang menggunakan Interactive Server: ```csharp // Components/Pages/Dashboard.razor @page "/dashboard" @rendermode InteractiveServer Dashboard

Real-Time Metrics

``` Komponen `Dashboard` di atas menggunakan Interactive Server mode, yang berarti setiap interaksi pengguna—klik tombol, input teks, atau event lainnya—dikirim ke server melalui SignalR, diproses di sisi server, dan UI update dikirim kembali ke browser. Perhatikan bahwa `MetricsChart` sebagai child component secara otomatis mewarisi render mode dari parent-nya. Elemen `