Проект OpenSilver развивает открытую реализацию Silverlight
Представлен проект OpenSilver, нацеленный на создание открытой реализации платформы Silverlight, развитие которой прекращено компанией Microsoft в 2011 году, а сопровождение продлится до 2021 года. Как и в случае с Adobe Flash, разработка Silverlight была свёрнута в пользу применения стандартных Web-технологий. В своё время на базе Mono уже развивалась открытая реализация Silverlight — Moonlight, но её разработка была остановлена из-за невостребованности технологии пользователями.
Проектом OpenSilver предпринята ещё одна попытка возрождения технологии Silverlight, позволяющей создавать интерактивные web-приложения, используя C#, XAML и .NET. Одной из основных решаемых проектом задач является продление жизни существующих Silverlight-приложений в условиях прекращения сопровождения платформы и прекращения поддержки браузерами плагинов. Тем не менее, сторонники технологий .NET и языка C# также могут применять OpenSilver и для создания новых программ.
В качестве основы OpenSilver задействован код открытых проектов Mono (mono-wasm) и Microsoft Blazor (часть ASP.NET Core), а для выполнения в браузере применяется компиляция приложений в промежуточный код WebAssembly. OpenSilver развивается вместе с проектом CSHTML5, позволяющим выполнять приложения C#/XAML в браузере через их компиляцию в JavaScript. OpenSilver использует существующую кодовую базу CSHTML5, заменив компоненты компиляции в JavaScript на WebAssembly.
Код проекта распространяется под лицензией MIT. Скомпилированные web-приложения могут работать в любых настольных и мобильных браузерах с поддержкой WebAssembly, но непосредственно компиляция пока выполняется только в Windows с использованием среды Visual Studio 2019. В текущем виде обеспечена поддержка приблизительно 60% наиболее востребованных программных интерфейсов Silverlight. В нынешнем году планируется добавить поддержку сервисов Open RIA и Telerik UI, а также выполнить синхронизацию со свежей кодовой базой проектов Blazor и Mono для WebAssembly, в которой ожидается поддержка упреждающей компиляции (Ahead-of-Time, AOT), которая по тестам позволит поднять производительность до 30 раз.
Источник: http://www.opennet.ru/opennews/art.shtml? num=52553
© OpenNet