Представлен выпуск проекта OpenSilver 2.0, продолжающего развитие платформы Silverlight и позволяющего создавать интерактивные web-приложения при помощи технологий C#, 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.0:
- Добавлена поддержка VB.NET для разработки web-приложений, используя язык программирования Visual Basic для определения и язык разметки XAML для интерфейса.
- Обеспечена интеграция с фреймворками Blazor, React и Angular. Добавлен компонент “XAML for Blazor” для интеграции OpenSilver в существующие проекты Blazor.
- Добавлена функция Live XAML Preview для предпросмотра разрабатываемого интерфейса по мере разработки, без необходимости запуска приложения.
- Предложены шаблоны бизнес-приложений, упрощающие разработку web-приложений для предприятий, благодаря применению RIA-сервисов (Rich Internet Applications Services), автоматически генерирующих на сервере объекты для выполнения на стороне клиента.
- Добавлен SampleCRM – пример открытого приложения с реализацией работающий CRM-системы для организации взаимодействия с клиентами на предприятии и обеспечения работы службы продаж.
- Добавлена возможность создания собственных раскладок интерфейса (Layout) и использования отдельно поставляемых наборов элементов интерфейса, таких как Telerik UI для Silverlight.
- Значительно повышена производительность симулятора (до 10 раз) и расширены возможности для отладки.
Из планов на будущее упоминается предоставление среды визуального проектирования, позволяющую создавать XAML-интерфейсы в режиме
WYSIWYG, поддержка WPF, LightSwitch и F#, а также возможности по использованию .NET и XAML для разработки 3D-приложений и систем дополненной или виртуальной реальности.