24.10.2021

Выпуск OpenSilver 1.0, открытой реализации Silverlight

Опубликован первый стабильный релиз проекта OpenSilver, предлагающего открытую реализацию платформы Silverlight, позволяющей создавать интерактивные web-приложения при помощи технологий C#, XAML и .NET. Код проекта написан на языке C# и распространяется под лицензией MIT. Скомпилированные приложения Silverlight могут работать в любых настольных и мобильных браузерах с поддержкой WebAssembly, но непосредственно компиляция пока возможна только в Windows с использованием среды Visual Studio.

Напомним, что компания Microsoft прекратила развитие функциональности Silverlight в 2011 году, а на 12 октября 2021 года наметила полное прекращение сопровождения платформы. Как и в случае с Adobe Flash, разработка Silverlight была свёрнута в пользу применения стандартных Web-технологий. Около 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, которые планируется поставлять в форме готовых для использования пакетов.

Источник.