Публикуван е първият стабилен релиз на проекта OpenSilver, предлагащ отворена реализация на платформата Silverlight, която позволява създаването на интерактивни уеб приложения с помощта на технологии като C#, XAML и .NET. Кодът на проекта е написан на C# и е разпространен под лиценцията MIT. Компилираните приложения Silverlight могат да работят на всякакви настолни и мобилни браузъри, които поддържат WebAssembly, но за момента компилацията е възможна само под Windows с помощта на среда Visual Studio.
Напомняме, че компанията Microsoft прекрати развитието на функционалността на Silverlight през 2011 година, а на 12 октомври 2021 година планира пълно прекратяване на поддръжката на платформата. Както в случая с Adobe Flash, разработката на Silverlight беше спряна в полза на прилагането на стандартни уеб технологии. Около 10 години назад на базата на Mono вече се развиваше отворена реализация на Silverlight — Moonlight, но нейното развитие беше спряно поради недостатъчния интерес от потребителите.
Проектът OpenSilver предприема опит за възраждане на технологията Silverlight с цел удължаване живота на съществуващите Silverlight приложения при условията на прекратяване на поддръжката от компанията Microsoft и прекратяване на поддръжката на плъгини от браузърите. Въпреки това, привържениците на технологиите .NET и езика C# също могат да използват OpenSilver за създаване на нови програми. За разработка на приложението и миграция от API Silverlight на еквивалентни извиквания OpenSilver се предлага да се използва специално подготвено разширение за средата Visual Studio.
Като основа OpenSilver използва кода на отворени проекти Mono (mono-wasm) и Microsoft Blazor (част от ASP.NET Core), а за изпълнение в браузъра се прилага компилирането на приложения в междинен код WebAssembly. OpenSilver се развива заедно с проекта CSHTML5, който позволява компилирането на приложения C#/XAML/.NET в представяне на JavaScript, подходящо за изпълнение в браузъра. OpenSilver разширява кодовата база на CSHTML5 с възможността да компилира C#/XAML/.NET в WebAssembly, а не в JavaScript.
В актуалната си версия OpenSilver 1.0 напълно поддържа всички ключови функции на Silverlight, включително пълна поддръжка на езиците C# и XAML, както и реализиране на по-голямата част от API на платформата, достатъчна за използване на библиотеки на C# като Telerik UI, WCF RIA Services, PRISM и MEF. Освен това, в OpenSilver са налични и някои разширени функции, които липсват в оригиналния Silverlight, като поддръжка на език C# 9.0, платформа .NET 6 и нови версии на средата за разработка Visual Studio, както и осигуряване на съвместимост с всички библиотеки на JavaScript.
В плановете за бъдещето е предвидено през следващата година да се реализира поддръжка на езика Visual Basic (VB.NET) в допълнение към текущо поддържания език C#, както и предоставяне на средства за миграция на приложения WPF (Windows Presentation Foundation). Проектът също така предвижда реализация на поддръжка на средата за разработка Microsoft LightSwitch и осигуряване на съвместимост с популярни .NET и JavaScript библиотеки, които ще бъдат налични под формата на готови за употреба пакети.
Източник: opennet.ru
