Представлен выпуск проекта OpenSilver 3.2, продолжающего развитие платформы Silverlight и позволяющего создавать интерактивные web-приложения при помощи технологий C#, F#, XAML и .NET. Скомпилированные при помощи OpenSilver приложения Silverlight могут работать в любых настольных и мобильных браузерах с поддержкой WebAssembly. Для разработки могут использоваться среда Visual Studio и редактор кода VS Code, поддерживающий работу в Windows, macOS и Linux. Код проекта написан на языке C# и распространяется под лицензией MIT.
Изначально проект OpenSilver был нацелен на предоставление инструментария для продления жизни существующих Silverlight-приложений, после прекращения разработки и сопровождения платформы Silverlight компанией Microsoft в 2021 году, а также прекращения поддержки связанных с ней плагинов в браузерах. В OpenSilver поддерживаются все основные возможности движка Silverlight, включая полную поддержку языков C# и XAML, а также реализацию большей части API платформы, достаточную для использования таких C#-библиотек, как Telerik UI, WCF RIA Services, PRISM и MEF.
В текущем виде OpenSilver вышел за рамки прослойки для продления жизни Silverlight и может рассматриваться как самостоятельная платформа для создания новых приложений. Например, проектом развивается среда разработки, обеспечивается поддержка новых версий языка C# и платформы .NET, предоставляется совместимость с библиотеками на языке JavaScript.
В качестве основы OpenSilver задействован код открытых проектов Mono (mono-wasm) и Microsoft Blazor (часть ASP.NET Core), а для выполнения в браузере применяется компиляция приложений в промежуточный код WebAssembly. OpenSilver продолжает развитие проекта CSHTML5, позволяющего компилировать приложения C#/XAML/.NET в представление на языке JavaScript, пригодное для запуска в браузере, и расширяет его кодовую базу возможностями для компиляции C#/XAML/.NET в WebAssembly, а не в JavaScript.
В новой версии:
- Добавлена поддержка развёртывания приложений на базе фреймворка “WPF” (Windows Presentation Foundation) для iOS, Android, Windows, macOS, Linux и Web-браузеров, используя одну общую кодовую базу на XAML/C#. Поддержка мобильных платформ реализована через интеграцию инструментария .NET MAUI Hybrid, позволяющего использовать WebView для отображения интерфейса при компиляции бизнес-логики в нативный код. Для доступа к API мобильных платформ можно использовать фреймворк MAUI.
- Улучшена совместимость с фреймворком “WPF” (Windows Presentation Foundation): добавлена поддержка RTL-начертания текста (right-to-left), передачи событий вверх по иерархии элементов, расширенной анимации, API VirtualizingStackPanel и плавной прокрутки на сенсорных экранах.
- Предоставлены средства для миграции существующих кодовых баз и их адаптации к возможностям WPF, специфичным для OpenSilver.
- Улучшена интеграция со средой разработки Visual Studio и редактором кода VS Code. Дополнения c поддержкой OpenSilver размещены в штатных каталогах дополнений Visual Studio и VS Code.
- Добавлено новое приложение ToDoCalendar с примером реализации календаря-планировщика, компилируемого для разных типов устройств. Демнострационное приложение Showcase расширено возможностями для интеграции с мобильными платформами, позволяющими обращаться к API для управления датчиками, ориентацией, вибромотором и уведомлениями, а также для определения местоположения и доступа к файлами.