跳转到内容

WebAssembly:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
第74行: 第74行:
=== Ending定律 ===
=== Ending定律 ===


Ending's law<ref>{{Cite web|url=https://mp.weixin.qq.com/s/klv2lq-VJcHA8WPXDUtNlQ|title=Ending定律即将生效!}}</ref>: "Any application that can be compiled to WebAssembly, will be compiled to WebAssembly eventually."
Ending定律也称为终结者定律<ref>{{Cite web|url=https://mp.weixin.qq.com/s/klv2lq-VJcHA8WPXDUtNlQ|title=Ending定律即将生效!}}</ref>
它是Ending在2016年Emscripten技术交流会上给出的断言{{fact}}:


{{Quote
Ending定律也称为终结者定律,它是Ending在2016年Emscripten技术交流会上给出的断言:所有可以用WebAssembly实现的终将会用WebAssembly实现。
|text=所有可以用WebAssembly实现的终将会用WebAssembly实现。
}}

現在這個定律除了 WebAssembly 的支持者用做宣傳之外看不到任何實現的跡象。


== 參見 ==
== 參見 ==

2020年10月18日 (日) 06:12的版本

WebAssembly
编程范型面向表达式英语Expression-oriented programming language
当前版本
  • 2.0 (2022年6月1日)[1]
编辑维基数据链接
类型系统静态
系统平台跨平台
许可证Apache许可证
文件扩展名.wast, .wasm
网站webassembly.org 编辑维基数据链接
启发语言
Asm.jsPNaCl

WebAssembly或称wasm是一个实验性的低级编程语言,应用于浏览器内的客户端。WebAssembly是便携式的抽象语法树[2],被设计来提供比JavaScript更快速的编译及执行[3]。WebAssembly将让开发者能运用自己熟悉的编程语言(最初以C/C++作为实现目标)编译,再藉虚拟机引擎在浏览器内执行[4]。WebAssembly的开发团队分别来自MozillaGoogleMicrosoftApple,代表着四大网络浏览器FirefoxChromeMicrosoft EdgeSafari[5]。2017年11月,以上四个浏览器都开始实验性的支持WebAssembly[6][7]。WebAssembly 于 2019 年 12 月 5 日成为万维网联盟(W3C)的推荐,与 HTML,CSS 和 JavaScript 一起,成为 Web 的第四种语言。[8]

设计

最高指导目标

在官方的一个github页面[9]与帮助文档[10]中,阐述了WebAssembly的设计与实现原则,包含:

  1. 定义一个可移植,具有大小与加载高效率的二进制格式,作为编译标的。这个编译标的必须可以被编译至常见的平台,包含移动端物联网,并且可以善用硬件资源、有原生执行码的执行速度。
  2. 规格与实现:
    • 最初的MVP(Minimum Viable Product)与Asm.js有大略相等的功能,并以C/C++语言为优先;
    • 其他额外的特性最初集中在线程,零消耗的异常,和SIMD。这些额外的特性先以反馈和实验为主,包含C/C++以外其他语言的支持。
  3. 设计可以执行在现有的网络平台之内以及与之集成:
    • 保持无版本问题、特色测试、向后兼容的网络平台
    • 在与Javascript相同的环境中执行
    • 允许从Javascript中同步调用
    • 强化同源(Same-origin)和安全性权限政策
    • 允许浏览器访问相同功能的Javascript API
    • 定义一个可人工读取,能和二进制格式互换的纯文字格式,以支持查看源代码
  4. 设计也可以用于非浏览器的嵌入式系统
  5. 制作大平台
    • 为WebAssembly建置新的LLVM后端与伴随的Clang接口
    • 推动其他WebAssembly的编译器与工具
    • 激活更多有用的工具

下一阶段要实现的特色

在2017年推出第一个版本后,同时也列出了下一阶段将实现的特色[11][12]

官方的宣传

Ending定律

Ending定律也称为终结者定律[13], 它是Ending在2016年Emscripten技术交流会上给出的断言[来源请求]

所有可以用WebAssembly实现的终将会用WebAssembly实现。

现在这个定律除了 WebAssembly 的支持者用做宣传之外看不到任何实现的迹象。

参见

其他逐渐被舍弃的网页客户端技术与RIA

其他字节码

参考资料

外部链接