Opublikowano wersję projektu OpenSilver 2.1, kontynuującą rozwój platformy Silverlight i umożliwiającą tworzenie interaktywnych aplikacji webowych przy użyciu technologii C#, F#, XAML i .NET. Aplikacje Silverlight skompilowane przy pomocy OpenSilver mogą działać w dowolnych przeglądarkach na komputerach i urządzeniach mobilnych wspierających WebAssembly, jednak kompilacja jest obecnie możliwa tylko w systemie Windows przy użyciu środowiska Visual Studio. Kod projektu został napisany w języku C# i jest rozpowszechniany na licencji MIT.
W 2021 roku firma Microsoft zaprzestała rozwoju i wsparcia platformy Silverlight na rzecz standardowych technologii webowych. Początkowo projekt OpenSilver miał na celu dostarczenie narzędzi przedłużających życie istniejących aplikacji Silverlight w warunkach zaprzestania wsparcia przez firmę Microsoft i zakończenia wsparcia wtyczek w przeglądarkach. OpenSilver wspiera wszystkie główne możliwości silnika Silverlight, w tym pełne wsparcie dla języków C# i XAML, a także implementację większości API platformy, wystarczającą do używania takich bibliotek C# jak Telerik UI, WCF RIA Services, PRISM i MEF.
W obecnej formie OpenSilver wykracza już poza warstwę mającą na celu przedłużenie życia Silverlight i może być postrzegany jako samodzielna platforma do tworzenia nowych aplikacji. Na przykład projekt rozwija środowisko programistyczne (plugin do Visual Studio), zapewnia wsparcie dla nowych wersji języka C# i platformy .NET oraz oferuje kompatybilność z bibliotekami JavaScript.
Jako podstawę OpenSilver wykorzystano kod otwartych projektów Mono (mono-wasm) oraz Microsoft Blazor (część ASP.NET Core), a do wykonania w przeglądarce stosuje się kompilację aplikacji do pośredniego kodu WebAssembly. OpenSilver kontynuuje rozwój projektu CSHTML5, umożliwiającego kompilację aplikacji C#/XAML/.NET do reprezentacji w języku JavaScript, nadającej się do uruchamiania w przeglądarkach, oraz rozszerza swoją bazę kodu o możliwości kompilacji C#/XAML/.NET do WebAssembly, a nie do JavaScript.
Kluczowe ulepszenia w OpenSilver 2.1:
- Dodano wsparcie dla funkcjonalnego języka programowania F#, który można wykorzystać w jednym projekcie wspólnie z językiem znaczników XAML do budowy złożonych interfejsów użytkownika.
- Dostosowano oryginalny zestaw przykładów „Silverlight Toolkit Samples” do uruchomienia za pomocą OpenSilver, dostarczony przez firmę Microsoft.
- Dodano wsparcie dla dostosowanych motywów wizualnych. W zestawie znajduje się 12 motywów, przeniesionych z Silverlight Toolkit.
- Do galerii przykładów aplikacji dodano ponad 100 małych programów napisanych w języku F#.
- Kontynuowano rozwój SampleCRM, przykładu realizacji systemu CRM do organizacji interakcji z klientami w przedsiębiorstwie oraz zapewnienia pracy działu sprzedaży.

- Proponowana jest wstępna wersja frameworka XR# do wykorzystania .NET i XAML w rozwijaniu aplikacji 3D oraz systemów rozszerzonej lub wirtualnej rzeczywistości.
- Przeprojektowano system animacji, w którym wdrożono narzędzia do pracy z animacją, pierwotnie oferowane w Silverlight.
- W elemencie interfejsu UIElement.Clip wprowadzono możliwość używania dowolnych obiektów geometrycznych.
- Przeprowadzono optymalizację wydajności.
W planach na przyszłość wspomniano o dostarczeniu środowiska wizualnego projektowania, które umożliwi tworzenie interfejsów XAML w trybie WYSIWYG, wsparciu dla dodatkowych możliwości WPF, wsparciu funkcji „Hot Reload” w XAML (aplikowanie wprowadzonych w kodzie zmian do działającej aplikacji), wsparciu LightSwitch, ulepszeniu integracji z edytorem kodu VS Code oraz integracji z frameworkiem .NET MAUI (Multi-platform App UI) do tworzenia aplikacji hybrydowych wykorzystujących natywny API platformy.
Źródło: opennet.ru

