范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

盘点2023年排名前20的编程语言对WebAssembly的支持!

  大家好,很高兴又见面了,我是" 高级前端 进阶  ",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!
  高级前端 进阶前言
  本文主要和大家介绍在 2023 年哪些编程语言已经支持 WebAssembly。在年初,我也确实使用 WebAssembly 将客户端应用成功移植到了 Web,这也是为什么我一直对 WebAssembly 充满好奇的原因。我甚至在头条上开了一个合集《WebAssembly 前沿技术》来专门探讨 WebAssembly ,并将持续关注 WebAssembly 的最新动态。
  下面是已发布部分文章传送门: 《2023 年让 WebAssembly 大火的 10+应用!》 《万字长文!2023 年 WebAssembly 各个运行时性能对比!》 《让 JavaScript 在 WebAssembly 上加速运行!》
  正如大家所看到的,当我们还在迟疑是否要在日常开发中引入 WebAssembly 的时候,很多优秀的应用、工具已经开始吃 WebAssembly 的红利了,而且取得了不错的成就,这可能也是为什么各个浏览器厂商、开发者如此热衷 WebAssembly 的原因吧。
  本文主要内容来自 Fermyon 平台编写的《The Complex World of Wasm Language Support》,文章链接已经在文末给出,但是高级前端进阶对部分内容进行自组织、加工,从而能够更好的读懂它。 1 WebAssembly 与 WASI
  Wasm,即 WebAssembly,是一种用来补充 JS 在运行上不足的底层语言,基于二进制编写。WebAssembly 的目标之一是达到在网页上如同运行机器语言一样快速高效,其开发团队分别来自 Mozilla、Google、Microsoft、Apple 等。
  WASI 即 WebAssembly System Interface, 是一个新的 API 体系, 由 Wasmtime 项目设计, 目的是为 WASM 设计一套引擎无关(engine-indepent),面向非 Web 系统(non-Web system-oriented)的 API 标准。 2.WebAssembly 的语言支持情况2.1 排名前 20 种语言的 WebAssembly 支持情况
  下图使用不同的图标来表示 WebAssembly 的支持级别,分别是:   :可用   :支持中   :未实现 N/A :不可用
  而图表中所有语言都来自 RedMonk 排名前 20 位的语言, 而部分语言,如: CSS、PowerShell 和 Shell 在 Wasm 中并没有真正有意义的表达。 但是,为了完整起见,下表依然保留这几个语言。所有语言的 WebAssembly 支持情况如下图所示:
  总体来看,大多数语言对 WebAssembly 的支持都取得了重大进展。总体分为以下几个级别: 浏览器/其他环境/WASI 三者都支持 :C、C++、Rust 等语言达到生产环境部署级别,PHP、C#/.NET、Ruby、Swift、Go 三者能力等都已经支持 缺少 WASI 支持 :Java、TypeScript、R、Objective-C、Shell,Scala、Dart 等 三者都不可用 :CSS、PowerShell 等 其他 :三者支持其一,或者其他情况 2.2 WebAssembly 优先的特定语言
  有一些特定于 Wasm 的语言,如:Grain、AssemblyScript 和 Motoko。 Grain:直接将源代码编译成 wasm 模块,是一种 WebAssembly 优先的现代 Web 编程语言。因此,Grain 可以在浏览器、计算机、服务器和其他任何地方运行 AssemblyScript: 是一个把 TypeScript 转换到 WebAssembly 的编译器。AssemblyScript 只允许使用 TypeScript 的有限功能子集,因此不需要花太多时间就可以上手。因为与 JavaScript 非常相似, 开发人员可以轻松地将 WebAssembly 整合到网站中,而不必使用完全不同的语言。 Motoko:是一种针对  WebAssembly 和互联网计算机优化 的新编程语言,它提供了一种无缝的开发人员体验,旨在直接支持互联网计算机的编程模型,更容易高效地构建应用程序并利用互联网计算机的革命性功能。
  如 Grain、AssemblyScript 和 Motoko 等,这些语言也很有机会在 Wasm 生态系统中得到关注,即使目前还缺乏很强的吸引力。
  从上图可以看出,Grain、AssemblyScript 和 Motoko 都已经完全支持浏览器、CLI、WASI 等核心能力。 2.3 其他值得关注的语言
  以下语言虽然不在前 20 名中,但是使用也很广泛,并且至少有一定程度的 WebAssembly 支持。
  如上图所示,可以将这些语言的支持分为以下三类: 浏览器/CLI/WASI 都支持 :如 Zig(Bun 用的语言)、Haskell 等 不支持 CLI/WASI : 如 Perl、Lua 等 其他类别语言 :功能陆续支持中,比如 Lisp、Erlang、COBOL 等 2.4 那种语言 WebAssembly 支持最好
  经常被问及生产级 WebAssembly 最推崇哪些语言,其实非常建议使用 C/C++、Rust 和 AssemblyScript。MDN 上针对 C/C++、Rust 等模块与 WebAssembly 的集成都已经有非常详细的教程,可以直接使用。
  可以针对模块的编写语言,选择不同的工具进行 WebAssembly 输出编译。 使用 C/C++ 等语言编写模块 :可以使用 Emscripten 等工具将其编译成 WebAssembly。 使用 Rust 编写的模块 :可以借助于 wasm-pack 工具,wasm-pack 旨在成为构建和使用 Rust 生成的 WebAssembly 的一站式工具,提供在浏览器或 Node.js 中与 JavaScript 互操作。 3.WebAssembly 工具链发展3.1 官方与设计工具链支持
  当谈论 WebAssembly 工具链时,实际上谈论的是获取语言源代码、并使其可运行所必需的一组工具。 对于 C、Go 和 Rust 等语言:谈论的是 编译器、链接器 等。 Python、JavaScript 和 Ruby: 需要 解释器或运行时 Java 和 .NET :需要 编译器端和运行时 端。
  一些语言工具链支持 Wasm 作为核心功能,例如:Rust、Zig 和 LLVM (包括 C 和 C++)都支持 Wasm。 值得一提的是 .NET 工具链,微软在这方面做得非常出色,NET 每次发布时都给人留下了深刻的印象。
  2022 年 Python 和 Ruby 都宣布解释器可以编译成 Wasm,这意味着 Wasm 支持两种语言!
  虽然,有多种语言尚未引入官方 Wasm 支持,但其社区已经弥合了这一差距。 例如,Swiftwasm 项目提供了一个 Swift-to-wasm 编译器, TeaVM 、CheerpJ 等 支持将 Java 编译为 Wasm, TinyGo 支持编译 Go 到 Wasm。 3.2 JavaScript 的 WebAssembly 工具链
  排名第一的语言 JavaScript 一直有点反常规。 这是历史遗留问题,正如最初设想的那样,Wasm 与 JavaScript 同时在浏览器中并存。 因此,在 Wasm 内部运行 Javascript 的想法似乎违反直觉。 但是,在 Wasm 中运行 JavaScript,已经出现了浏览器内和浏览器外(云原生、边缘计算等)的情况。
  Safari、V8 (包括 Chrome、Edge 等)和 Firefox 都有复杂的 JavaScript 引擎, 但第一个成功的 JS-on-Wasm 竞争者来自 QuickJS 的开源项目。当然, 不过,Mozilla 的 Spidermonkey 也逐渐加入竞争。后者是一个复杂的执行环境,能比 QuickJS 等解释器更快地运行 Javascript。
  许多语言都已经支持 Wasm, 但正如上文所言,要获得 Wasm 支持,必须使用通常工具链之外的专门工具。在 2023 年初,已经看到 Go 团队在权衡添加 Wasm 和 WASI(Wasm 系统接口)支持的前景,也许会取代 TinyGo 中的 Wasm WASI 支持。 4.WebAssembly 标准流程的优缺点
  WebAssembly 由 W3C 标准化, 即标准化 HTML、CSS 和 Web 的组织。
  但是,标准、尤其是成熟的标准机构中的标准,很少能快速发展。 从开始到完成,标准可能需要数年时间。 虽然 Wasm 的核心是一个完整的标准,但还有一些附加标准并没有快速发展,比如:Wasm 的垃圾收集规范(缩写为 Wasm-gc)。
  垃圾收集描述了在非主动使用内存时清理正在运行的程序中的内存的功能, 许多语言使用垃圾收集器来防止内存不足。
  在 Wasm 支持方面,一些语言选择了自己实现内存管理,  Swift、.NET 和 Go  就是典型的例子。 但由于各种原因,其他语言选择等待 Wasm-gc 规范达到其最终阶段,比如:  Kotlin 和 Dart 。不过, Wasm-gc 在 2022 年取得了长足的进步,因此 Kotlin 和 Dart 很可能会脱颖而出。 5.本文总结
  本文主要和大家介绍2023年那些编程语言已经支持 WebAssembly。因为篇幅有限,文章并没有过多展开,如果有兴趣,可以在我的主页继续阅读,同时文末的参考资料提供了大量优秀文档以供学习。最后,欢迎大家点赞、评论、转发、收藏!
  参考资料
  https://www.fermyon.com/wasm-languages/webassembly-language-support
  https://www.fermyon.com/blog/complex-world-of-wasm-language-support
  https://blog.csdn.net/inthat/article/details/124973667
  https://wasmlabs.dev/articles/webassembly-language-runtimes-march-2023/
  https://zhuanlan.zhihu.com/p/430138253
  https://blog.csdn.net/inthat/article/details/115472227
  https://zhuanlan.zhihu.com/p/354509243
  https://rustwasm.github.io/wasm-pack/book/

著名足球解说员黄健翔二婚,苏东前妻是高敏,张路出身名门球迷们都知道一些著名的足球解说员,比如黄健翔张路苏东段暄陶伟贺炜刘建宏等人。但是你们知道他们的家庭吗?下面我们就来聊一聊。黄健翔黄健翔黄健翔被普遍认为是中国最优秀的足球解说员,毕业iPhone14ProMax加速曝光,iPhone13黯然降价,网友欢呼疯抢iPhone14ProMax与iPhone13ProMax相比,刘海宽度没有变化。看来穿孔屏是没救了。还有一个凹槽,就是刘海不再是单纯的黑色,而是设计成灰色,看起来更显眼更丑。值得黄晓明被曝有私生子?!爆料者坚决不删文,表示不能透露女方身份晓明哥没想到,自己有天也被人爆料有私生子了有网友爆料称他和别人还有娃,这个瓜简明扼要却引来超多网友围观。真的假的?这可是要轰动整个娱乐圈的瓜啊这个瓜出来之后,大家纷纷询问,所以孩子兑现天赋!27岁维金斯赚1。7亿美金,一家人生活甜蜜幸福NBA生涯第八个赛季,维金斯终于兑现了自己的天赋,虽然场均17。2分4。5篮板2。2助攻的数据并不是他数据表现最好的一个赛季,但是维金斯却在勇士队中打出了最完美的一个赛季,不仅成功长春女婿佟大为照顾植物人父亲20年,婚后将妻子宠成公主都说娱乐圈婚姻的保质期最短,毕竟这个圈子诱惑太大,火速结婚又火速离婚的明星实在太多。但是总有例外,佟大为和关悦的师生恋却维持了十几年,直到现在也没有出现裂痕。两个人婚后八年生了三个缺口达150万!这类人才需求持续增加,相关专业热度空前!随着信息技术迅猛发展,大数据产业也发展迅速,带动了相关人才需求增长。清华大学发布的中国经济的数字化转型人才与就业报告显示,我国大数据领域人才缺口高达150万,到2025年将达到20在各类混动系统中,为何48VMHEV轻混有好多差评分类概述MHEVHEVPHEVREEV混动汽车可以分为三类,REEV严格来说并不属于混合动力,而是增程式驱动系统概念为车辆由电动机驱动,车辆装备的内燃机不匹配变速器,只连接发电机用预售8。78万起,最大续航401km,吉利几何E产品力如何?作为吉利旗下的新能源品牌,几何已经推出了几何A和几何C等车型,在纯电车型的打造上也是颇有建树。近日,吉利几何E开始预售了,补贴后价格为8。7810。48万元,共推出三款车型,定位小面试一个34岁Java大佬,背过很多面试题,年薪50w面试基本答得上互联网行业竞争是一年比一年严峻,作为工程师的我们唯有不停地学习,不断的提升自己才能保证自己的核心竞争力从而拿到更好的薪水,进入心仪的企业(阿里字节美团腾讯。。)所有教程PDF文末拿预售8。78万元起吉利几何E开启预售定位小型纯电SUV5月26日,吉利几何汽车旗下全新小型SUV几何E开启预售,新车共推出三款配置车型,预售价格区间为8。7810。48万元。新车的外观看起来依然是比较简洁的设计风格,车头部分采用新能源处在汽车下乡的浪口,充电桩该如何跟上?虽然前段时间中汽协辟谣了关于六月出台新能源汽车下乡政策这事,但不可否认,今年以来政策层面鼓励汽车消费的趋势越发明显,关于新能源汽车下乡的事甚嚣尘上。5月23日,国务院总理李克强主持
苹果滞销,库克该发愁了,消费者真的不宠了全球经济不景气,这真的不是泛泛而谈,而是真的可以从各阶段事物表现来看。苹果作为知名科技公司,旗下每款iPhone都深得消费者喜爱,首发即被黄牛争先恐后的囤积。这时有人大胆猜测,只要红旗EQM5PLUS版,纯电续航620km,座椅宽,坐着舒适国产品牌红旗,想必大家是比较熟悉的。早些年推出的红旗EQM5,市场接受度不错,在不少城市还被选为网约车。2022年8月份红旗又迭代升级推出了红旗EQM52023款PLUS版,它的优从深蓝,阿尔法狗到VAR,我们离天网越来越近了吗?头条创作挑战赛公元一九九七年,微软的超级计算机深蓝以3。5比2。5的比分战胜了国际象棋特级大师卡斯帕罗夫,人工智能元年开启的同时,国际象棋这项号称是智慧体操的运动从此陷落!公元二零iPhone12升级iPhone16。2b,续航日趋完美,信号满格,值得升级在本周二苹果发布了第二个快速安全响应版本iOS16。2b,这次的升级安装包非常小,仅仅只有几兆的大小,很多果粉升级都表示升级之后没有什么太大的提升,不过资深果粉都知道,每次升级iOvivoX90Pro对比vivoXNote,同版本有500的差价,选谁更好?说起来,vivo这家手机厂商是挺有意思的,一方面它不会见到市面上的竞品有了什么新配置就去盲目跟风,至今为止也没见vivo有哪款手机用了1亿像素的传感器,另一方面,可能很多细心的朋友抄书之旅试水断腕摘录l中国零售业正在向专业的大型连锁店发展,典型代表就是以家电销售为主的国美苏宁。l1998年,国美关闭北京市中心的小型门店,在三环附近开设2000平方米的大型卖场,建立起新的选址双芯人像,流畅升级OPPOReno9系列新品让人期待OPPO近日正式发布OPPOReno9系列新品,大内存结合旗舰级芯片,提供流畅顺滑体验,双芯组合带来人像质感升级,实现双芯人像,迎光而拍,并有全新设计轻薄高颜值外观。OPPORen手机该怎么选?为大家总结五款机型的优缺点,让选择不容易纠结现在的市场中传出了非常多的新机,得益于实力方面的提升,很多新机的使用体验都变得非常优秀,无论是硬件方面还是软件方面,都很难出现问题,即使是折叠屏手机,在体验方面也变得很好。但是,新美国法院正式撤销对孟晚舟指控四年后,针对华为首席财务官孟晚舟的这场莫须有的指控,终于画上了句号。据路透社12月2日消息,在美国检方提出请求后,美国法院于周五正式撤销了对孟晚舟的银行欺诈等罪名的指控,且不能再重vivo手机不要乱买,这4款机型配置强体验好,可以成为换机首选今天跟大家聊几款vivo手机。vivoiQOONeo6iQOONeo6全新上线,搭载骁龙8Gen1,用上了好评如潮的独显芯片Pro,散热能力优异拥有一块支持120hz高刷的电竞屏,5款6000毫安大电池手机,给家人用很不错iQOOZ6x天玑810重204g6。58英寸居中水滴75。33x163。87x9。2750MP微距8MP44W充电6000mAh150音量全局DC调光3。5mm耳机孔,6GB12