Опубликован выпуск проекта OpenSilver 2.1, продолжающего развитие платформы Silverlight и позволяющего создавать интерактивные web-приложения при помощи технологий C#, F#, XAML и .NET. Скомпилированные при помощи OpenSilver приложения Silverlight могут работать в любых настольных и мобильных браузерах с поддержкой WebAssembly, но компиляция пока возможна только в Windows с использованием среды Visual Studio. Код проекта написан на языке C# и распространяется под лицензией MIT.
В 2021 компания Microsoft прекратила разработку и сопровождение платформы Silverlight в пользу применения стандартных Web-технологий.
Изначально проект OpenSilver был нацелен на предоставление инструментария для продления жизни существующих Silverlight-приложений в условиях отказа от сопровождения платформы компанией Microsoft и прекращения поддержки плагинов в браузерах. В OpenSilver поддерживаются все основные возможности движка Silverlight, включая полную поддержку языков C# и XAML, а также реализацию большей части API платформы, достаточную для использования таких C#-библиотек, как Telerik UI, WCF RIA Services, PRISM и MEF.
В текущем виде OpenSilver уже вышел за рамки прослойки для продления жизни Silverlight и может рассматриваться как самостоятельная платформа для создания новых приложений. Например, проектом развивается среда разработки (дополнение к Visual Studio), обеспечивается поддержка новых версий языка C# и платформы .NET, предоставляется совместимость с библиотеками на языке JavaScript.
В качестве основы OpenSilver задействован код открытых проектов Mono (mono-wasm) и Microsoft Blazor (часть ASP.NET Core), а для выполнения в браузере применяется компиляция приложений в промежуточный код WebAssembly. OpenSilver продолжает развитие проекта CSHTML5, позволяющего компилировать приложения C#/XAML/.NET в представление на языке JavaScript, пригодное для запуска в браузере, и расширяет его кодовую базу возможностями для компиляции C#/XAML/.NET в WebAssembly, а не в JavaScript.
Ключевые улучшения в OpenSilver 2.1:
- Добавлена поддержка функционального языка программирования F#, который можно использовать в одном проекте совместно с языком разметки XAML для построения сложных интерфейсов пользователя.
- Для выполнения при помощи OpenSilver адаптирован оригинальный набор примеров “Silverlight Toolkit Samples“, поставлявшийся компанией Microsoft.
- Добавлена поддержка настраиваемых тем оформления. В состав включено 12 тем, портированных из Silverlight Toolkit.
- В галерею примеров приложений добавлено более 100 небольших программ на языке F#.
- Продолжено развитие SampleCRM, примера с реализацией CRM-системы для организации взаимодействия с клиентами на предприятии и обеспечения работы службы продаж.
- Предложена предварительная версия фреймворка XR# для использования .NET и XAML при разработке 3D-приложений и систем дополненной или виртуальной реальности.
- Переработана система анимации, в которой реализованы средства работы с анимацией, изначально предлагавшиеся в Silverlight.
- В элементе интерфейса UIElement.Clip реализована возможность использования любых геометрических объектов.
- Проведена оптимизация производительности.
Из планов на будущее упоминается предоставление среды визуального проектирования, позволяющей создавать XAML-интерфейсы в режиме
WYSIWYG, поддержка дополнительных возможностей WPF, поддержка функции “Hot Reload” в XAML (применение вносимых в код изменений к работающему приложению), поддержка LightSwitch, улучшение интеграции с редактором кода VS Code, интеграция с .NET фреймворком MAUI (Multi-platform App UI) для создания гибридных приложений, использующих родной для платформ API.