21.02.2024

Доступна платформа OpenSilver 2.1, продолжающая развитие технологии Silverlight

Опубликован выпуск проекта 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.

Источник: https://www.opennet.ru/opennews/art.shtml?num=60559 Источник.