本月早些时候,Userware发布了第一个版本的OpenSilver,微软Silverlight 的开源重新实现。OpenSilver 通过WebAssembly 实现无需任何其他插件在 浏览器上运行。OpenSilver 的当前版本可作为"技术预览"版本提供,它涵盖了大约 60% 的原始Silverlight API。
Userware 是一家总部位于巴黎的软件公司,专门从事微软技术。他们还开发了CSHTML5(一个 Visual Studio 扩展版)之后,它允许将 C# 和XAML代码编译为 HTML 和 JavaScript。据Userware首席执行官Giovanni Albani 介绍,OpenSilver的目标是成为一个更好的开源版本的Silverlight(已被微软弃用,其支持计划于2021年10月结束):
(OpenSilver) 将 C#、XAML 和 .NET 的强大功能带回客户端 Web 开发。当谈到丰富的互联网应用程序 (RIA) 或单页应用 (SPA) 的开发时,Silverlight 提供了前所未有的生产力和效率。重振Silverlight 荣耀并使之变得更好的愿景是雄心勃勃,但它是可以实现的。Silverlight 的故事不会在2021年结束。它的故事刚刚被写出来。
据该公司称,OpenSilver完全依靠开放标准来重新实施Silverlight 使用Mono 的WebAssembly和微软Blazor。它与.NET 标准(未指定的版本)和 JavaScript 兼容,允许直接导入和使用现有的 JavaScript 库以及 C# 代码。此外,使用 WebAssembly 使 OpenSilver 应用程序无需插件即可在现代浏览器(桌面和移动浏览器)上运行,Silverlight 就是如此。
该版本还将 OpenSilver 定位为传统 Silverlight 应用的可能迁移工具。Userware 确认,将旧应用程序迁移到 OpenSilver 可能比使用其他技术重写它"便宜 3 到 5 倍"。该公司还提供专业的Silverlight迁移服务作为其付费服务之一。
作为发布的一部分,Userware 发布了一个包含功能示例和代码段的展示应用程序。该应用程序以 C# 和 XAML 编写,并使用 OpenSilver 编译到 WebAssembly中。除了一些基本组件和XAML功能外,该应用程序还具有对 WebSocket 和SignalR扩展演支持 的Demo 。
其他第三方组件(如 Telerik UI 和Open RIA 服务)被列为未来的Demo 组件(根据官方路线图计划于 2020 年完成)。随着Mono的提前编译功能,将于今年晚些时候发布,预计性能也将显著提高("至少30倍")。该版本的其他当前限制包括编辑 XAML 代码时没有自动完成/智能提示,以及支持 ResX 文件。
OpenSilver 技术预览可以从用户软件的网站下载,作为 Visual Studio 2019 扩展。源代码也可在 GitHub(与 CSTHML5 一起在共享存储库中)使用。