Opublikowano pierwszą stabilną wersję projektu OpenSilver, oferującego otwartą implementację platformy Silverlight, która umożliwia tworzenie interaktywnych aplikacji webowych przy użyciu technologii C#, XAML i .NET. Kod projektu napisano w języku C# i jest udostępniany na licencji MIT. Skompilowane aplikacje Silverlight mogą działać w dowolnych przeglądarkach stacjonarnych i mobilnych obsługujących WebAssembly, ale obecnie kompilacja jest możliwa tylko w systemie Windows przy użyciu środowiska Visual Studio.
Przypomnijmy, że firma Microsoft zakończyła rozwój funkcjonalności Silverlight w 2011 roku, a na 12 października 2021 roku zaplanowała całkowite zaprzestanie wsparcia dla platformy. Podobnie jak w przypadku Adobe Flash, rozwój Silverlight został wstrzymany na rzecz wykorzystania standardowych technologii webowych. Około 10 lat temu na bazie Mono rozwijano już otwartą implementację Silverlight — Moonlight, ale jej rozwój zatrzymano z powodu braku zainteresowania technologią wśród użytkowników.
Projekt OpenSilver podejmuje próbę ożywienia technologii Silverlight w celu przedłużenia życia istniejących aplikacji Silverlight w obliczu zakończenia wsparcia dla platformy przez firmę Microsoft oraz wycofania wsparcia z przeglądarek dla wtyczek. Niemniej jednak, zwolennicy technologii .NET i języka C# mogą również korzystać z OpenSilver do tworzenia nowych programów. Do tworzenia aplikacji oraz migracji z API Silverlight na równoważne wywołania OpenSilver sugeruje się wykorzystanie specjalnie przygotowanego dodatku do środowiska Visual Studio.
Jako podstawę OpenSilver wykorzystano kod otwartych projektów Mono (mono-wasm) oraz Microsoft Blazor (część ASP.NET Core), a do wywołania w przeglądarce stosuje się kompilację aplikacji do kodu pośredniego WebAssembly. OpenSilver rozwija się wraz z projektem CSHTML5, który pozwala na kompilację aplikacji C#/XAML/.NET do reprezentacji w języku JavaScript, gotowej do uruchomienia w przeglądarce. OpenSilver rozszerza bazę kodową CSHTML5 o możliwość kompilacji C#/XAML/.NET do WebAssembly, a nie do JavaScript.
W bieżącej wersji OpenSilver 1.0 w pełni obsługiwane są wszystkie podstawowe funkcje silnika Silverlight, w tym pełne wsparcie dla języków C# i XAML oraz implementacja większości interfejsu API platformy, wystarczającej do korzystania z bibliotek C#, takich jak Telerik UI, WCF RIA Services, PRISM i MEF. Co więcej, w OpenSilver dostępne są również niektóre zaawansowane funkcje, które nie występowały w oryginalnym Silverlight, takie jak wsparcie dla języka C# 9.0, platformy .NET 6 oraz nowych wersji środowiska programistycznego Visual Studio, a także zapewnienie kompatybilności ze wszystkimi bibliotekami w języku JavaScript.
W planach na przyszłość podkreślono zamiar wdrożenia w przyszłym roku wsparcia dla języka Visual Basic (VB.NET) oprócz obecnie obsługiwanego języka C#, a także dostarczenie narzędzi do migracji aplikacji WPF (Windows Presentation Foundation). Projekt zakłada również wdrożenie wsparcia dla środowiska programistycznego Microsoft LightSwitch oraz zapewnienie kompatybilności z popularnymi bibliotekami .NET i JavaScript, które planowane jest do dostarczenia w formie gotowych do użycia pakietów.
Źródło: opennet.ru
