Od czasu do czasu spotykam się z obawami programistów, którzy zastanawiają się, czy Blazor nie podzieli losu Silverlight – technologii, którą Microsoft ostatecznie porzucił. Skąd się biorą takie lęki? Głównie z historii. Wielu pamięta, jak wielkie plany wiązano kiedyś z Silverlightem i jakie rozczarowanie nastąpiło, gdy Microsoft skupił się na innych rozwiązaniach.
W tym artykule pokażę Ci:
- Czym różni się Blazor od Silverlighta,
- Dlaczego nie ma powodów do obaw, że Blazor zostanie porzucony,
- Jakie są konkretne argumenty świadczące o długoterminowym wsparciu ze strony Microsoftu.
1. Krótka historia Silverlighta i skąd wzięły się obawy
Czym był Silverlight?
Silverlight to framework Microsoftu, który służył do tworzenia interaktywnych aplikacji internetowych (RIA – Rich Internet Applications). Opierał się na wtyczce (pluginie) instalowanej w przeglądarce, co pozwalało uruchamiać zaawansowane elementy graficzne i multimedialne.
Dlaczego Silverlight upadł?
- Ograniczona dostępność: Konieczność instalacji wtyczki w przeglądarce (podobnie jak Flash) zaczęła być dużym problemem.
- Rozwój HTML5: Wraz z popularyzacją i standaryzacją HTML5, zapotrzebowanie na dedykowane pluginy drastycznie spadło.
- Strategiczne decyzje Microsoftu: Firma skupiła się na innych obszarach, a Silverlight nie miał większych szans w starciu z powszechną dostępnością rozwiązań opartych na standardach W3C
Efekt: obawy programistów
Fakt, że Microsoft porzucił Silverlight, spowodował, iż programiści zaczęli ostrożnie podchodzić do kolejnych "nowości" ze stajni Microsoftu. Nic więc dziwnego, że wiele osób pyta: "Czy Blazor nie zostanie potraktowany tak samo?"
2. Czym jest Blazor?
Blazor to framework stworzony w ramach platformy .NET, umożliwiający budowanie interaktywnych aplikacji webowych przy pomocy C# zamiast JavaScriptu.
- Blazor WebAssembly pozwala uruchamiać kod .NET w przeglądarce, ściągając plik WASM (WebAssembly).
- Blazor Server opiera się na komunikacji SignalR i renderowaniu po stronie serwera (przeglądarka otrzymuje aktualizacje w czasie rzeczywistym).
Kluczowe cechy Blazora
- Działa bez wtyczek – korzysta z WebAssembly, które jest natywnie obsługiwane przez wszystkie główne przeglądarki.
- Spójny ekosystem .NET: możesz dzielić logikę między projektem webowym a innymi warstwami aplikacji w tym samym języku (C#).
- Rosnące wsparcie społeczności i narzędzia (Visual Studio, Visual Studio Code).
3. Dlaczego Blazor nie podzieli losu Silverlighta?
Oparcie na otwartych standardach (WebAssembly, HTML5, CSS)
Silverlight korzystał z własnego formatu i wymagał wtyczki. Blazor opiera się na WebAssembly – technologii, która jest wspierana przez W3C i wdrażana w przeglądarkach (Chrome, Firefox, Edge, Safari) bez dodatkowych wtyczek.
Silny ekosystem i open-source
- .NET Core (obecnie .NET) jest projektem open-source, rozwijanym przy ogromnym zaangażowaniu społeczności.
- Blazor również cieszy się wsparciem community – każdy może zgłaszać problemy, pomysły, a nawet kontrybuować do kodu.
- Microsoft aktywnie rozwija Blazora, wypuszczając kolejne usprawnienia i integracje (np. z .NET MAUI).
Współpraca z najnowszymi technologiami Microsoft
- Integracja z Azure – wdrażanie aplikacji Blazor jest proste i szybkie.
- Nowoczesne narzędzia deweloperskie (np. Visual Studio 2022) mają wbudowane wsparcie dla Blazora.
- Microsoft regularnie prezentuje kolejne nowości na konferencjach (np. .NET Conf, Microsoft Build), gdzie Blazor jest pokazywany jako kluczowy element rozwoju platformy .NET.
Uniwersalne zastosowania (WebAssembly + server-side)
- Możesz tworzyć SPA (Single Page Applications) w pełni w C#,
- Lub oprzeć rozwiązanie o Blazor Server, jeżeli zależy Ci na natychmiastowym starcie i krótkich czasach ładowania,
- W połączeniu z ASP.NET Core Web API możesz tworzyć kompletne nowoczesne aplikacje webowe. Cały kod, to znaczy zarówno backend i frontend tworzysz w C#.
Różnice między Silverlight a Blazor – zestawienie punkt po punkcie
Cecha | Silverlight | Blazor |
Instalacja pluginu | Wymagał instalacji w przeglądarce | Działa bez wtyczek – używa WebAssembly |
Wspierane przeglądarki | Limitowana (wtyczka nie zawsze działała w 100%) | Kompatybilność z większością nowoczesnych przeglądarek |
Technologia bazowa | Format zamknięty Microsoft + wtyczka | Open-source (.NET, WebAssembly, standardy W3C) |
Wsparcie strategiczne | Microsoft z czasem je ograniczył na rzecz HTML5 | Microsoft aktywnie rozwija i promuje Blazora + szeroka społeczność |
Architektura | Silne powiązanie z pluginem i XAML | Elastyczność – Blazor WebAssembly, Blazor Server, integracje z innymi |
Przykład kodu w Blazor
Poniżej prosty przykład komponentu Counter.razor, który ilustruje, jak w Blazor możemy użyć C# w pliku .razor:
@page "/counter"
<PageTitle>Counter</PageTitle>
<h1>Counter</h1>
<p role="status">Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {
private int currentCount = 0;
private void IncrementCount()
{
currentCount++;
}
}
- @page "/counter" – definiuje ścieżkę (URL) do tego komponentu.
- @code – sekcja, w której piszemy C# (logika biznesowa).
- <button @onclick="IncrementCount"> – wywołuje metodę C# na kliknięcie.
Porównaj to ze skomplikowaną konfiguracją Silverlighta, koniecznością pracy z plikami XAML w pluginie i walką o zgodność przeglądarek. Różnica jest kolosalna.
Dlaczego możesz spokojnie inwestować w Blazora?
- Wsparcie Microsoftu jest długoterminowe: Blazor jest ważnym elementem strategii .NET w kontekście tworzenia aplikacji webowych.
- Duża społeczność: Od forów i blogów, poprzez kursy online, aż po liczne konferencje – Blazor jest na fali wznoszącej.
- Rosnące zapotrzebowanie na .NET web: Wielu Programistów C#/.NET poszukuje alternatywy dla JavaScript/TypeScript i to właśnie oferuje Blazor.
- Brak wtyczek: To jest kluczowy czynnik – brak konieczności instalacji osobnego pluginu w przeglądarce, co było główną bolączką Silverlighta.
Jak nauczyć się Blazora?
Jeżeli chciałbyś zgłębić temat tworzenia aplikacji w Blazorze, to zapoznaj się z moim najlepszym szkoleniem online - Szkoła Blazora (https://szkolablazora.pl).
Jest to praktyczne szkolenie, gdzie uczę Blazora od podstaw, aż po zaawansowane aplikacje.
Tworzymy tutaj kilka aplikacji m.in. kompletny sklep internetowy (implementujemy m.in. przeglądanie produktów, paginacja, filtrowanie, sortowanie, koszyk, zamówienia, płatności, konta użytkowników, rejestracja, logowanie, web api, zaawansowana architektura).
Podsumowanie
- Silverlight został porzucony głównie przez zmiany w standardach webowych i konieczność instalacji wtyczki, która szybko stała się passé.
- Blazor to zupełnie inna historia: opiera się na WebAssembly i HTML5, jest open-source, posiada ogromne wsparcie społeczności i samego Microsoftu.
- Warto zainwestować w naukę Blazora i nowoczesnego .NET, bo przyszłość rysuje się tu w jasnych barwach.
Mam nadzieję, że rozwiałem Twoje wątpliwości dotyczące tego, czy Blazor podzieli los Silverlighta. W mojej ocenie – zdecydowanie nie.
Blazor to jedna z najbardziej ekscytujących technologii w ekosystemie .NET, a różnice względem Silverlighta są tak fundamentalne, że trudno w ogóle porównywać obie platformy.
Mam nadzieję, że ten materiał pomógł Ci zrozumieć, dlaczego Blazor ma solidne podstawy, by zostać z nami na długo. Jeśli chcesz dowiedzieć się więcej o Blazorze i nauczyć się tworzyć nowoczesne aplikacje SPA w Blazorze w samym C# bez kodu JavaScript rozważ dołączenie do kompletnego szkolenia - Szkoła Blazora.