OpenSilver: 通过WebAssembly 复活Silverlight

2023-11-06 07:32

本文主要是介绍OpenSilver: 通过WebAssembly 复活Silverlight,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本月早些时候,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 一起在共享存储库中)使用。

这篇关于OpenSilver: 通过WebAssembly 复活Silverlight的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/355295

相关文章

WebAssembly内存结构学习记录

参考: 大文件上传深入研究:https://juejin.cn/post/6870837414852886542 Worker+Wasm切片上传:https://juejin.cn/post/7221003401996091429 Wasm实现MD5文件编码:https://juejin.cn/post/7319541565318398003 SharedArrayBuffer与幽灵漏洞:htt

『功能项目』怪物反击主角复活【14】

本章项目视频展示 当前文章成果展示 我们打开上一篇13技能爆炸与伤害数值显示的项目, 新建一个脚本InfoSystem.cs 新建一个游戏管理器GameManager.cs 在场景中创建一个空物体命名为GameManager 将GameManager.cs脚本挂载至空物体GameManager对象身上 增添PlayerRayClickNavigat

Fastboot线刷“复活”之刷机心得(一)——背景简介

在讲述Fastboot线刷心得前,感觉我还是有必要先向大家大致介绍下导致这一情况的背景,以防出现我的这种情况: 背景:     在一个夜黑风高的夜晚,我像平常一样玩着手机,突然手机提示更新系统(更新的系统已经下载好了),我心想更新系统也挺好的,说不定还会有什么惊喜呢((*^__^*) 嘻嘻……),于是下意识的就点了“立即更新”的按钮,就这样手机顺其自然的重启更新,但是在更新到25%的时

Fastboot线刷“复活”之刷机心得(二)——线刷刷机

刷机的有不少的方法:卡刷、线刷、OTA。在这里我就简单介绍下:    1.卡刷:一般来说卡刷简单的可以理解为在内存卡中刷机,就是进入Recovery中刷入系统。    2.线刷:线刷其实可以简单的理解为用USB线刷机,一定要注意是文件路径和驱动。线刷包的文件名上有个FASTBOOT字样,而且大小会比卡刷大了很多,一般线刷包大小是179-189MB左右。(以下我会对此方法进行更详细的介绍

Fastboot线刷“复活”之刷机心得(三)——错误处理

在刷机的过程中可能不会是一帆风顺的,至少我是这样的,总是会遇到这样或者那样的问题,以下是我为大家总结一些问题和解决的方法,希望能对大家有所帮助。 一、电量问题     刷机和系统更新有一个共同的前提保障,要想让过程能够顺利进行,我们需要保证有充足的电量(50%以上),所以在刷机和更新前都需要充好电。但是如果遗忘了,如果能及时发现就请赶快连接充电器吧! 二、模式问题     如果无法

Qt WebAssembly 警告:构建套件中未设置编译器

目录 Qt WebAssembly 警告:构建套件中未设置编译器问题解决方法 参考资料 Qt WebAssembly 警告:构建套件中未设置编译器 问题 安装好QT之后构建套件中出现黄色感叹号Qt WebAssembly 警告:构建套件中未设置编译器。 原因是现在你只安装了qt for webassembly的qt的库,而并没有找到需要的编译器emscripten。 解决方

WebAssembly 为什么比 asm.js 快?

WebAssembly 是为 Web 而设计的、可以生成浏览器可执行的二进制文件的编程语言。并且于2017 年 2 月 28 日,四个主要的浏览器一致同意宣布 WebAssembly 的 MVP 版本已经完成,即将推出一个浏览器可以搭载的稳定版本。WebAssembly 的一个主要目标就是变快。本文将给出一些它如何变快的技术细节。 阅读全文请点击:WebAssembly 为什么比 asm.js

奇瑞复活经典路虎!中国技术,英国车标,卖向全球

ChatGPT狂飙160天,世界已经不是之前的样子。 更多资源欢迎关注 6月19日,奇瑞和捷豹路虎宣布签署战略合作意向书,将复活“Freelander神行者”品牌。 小编当课代表,做个简单总结: 英国品牌,中国技术,卖到全球。 详细的合作细节,大致如下: 复活的“神行者”为独立品牌,奇瑞和捷豹路虎的车标,大概率不会挂在新品上; 全新产品将采用奇瑞的纯电

今天晚上小编在参加 WebAssembly 分享活动,来不及发了。明天一起补发!

今天晚上小编在参加 WebAssembly 分享活动,来不及发了。明天一起补发!请见谅。