WebAssembly:修订间差异
外观
删除的内容 添加的内容
Persianbeats(留言 | 贡献) |
Persianbeats(留言 | 贡献) |
||
第74行: | 第74行: | ||
=== Ending定律 === |
=== Ending定律 === |
||
Ending |
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的版本
![]() | |
编程范型 | 面向表达式 |
---|---|
当前版本 |
|
类型系统 | 静态 |
系统平台 | 跨平台 |
许可证 | Apache许可证 |
文件扩展名 | .wast, .wasm |
网站 | webassembly |
启发语言 | |
Asm.js、PNaCl |
WebAssembly或称wasm是一个实验性的低级编程语言,应用于浏览器内的客户端。WebAssembly是便携式的抽象语法树[2],被设计来提供比JavaScript更快速的编译及执行[3]。WebAssembly将让开发者能运用自己熟悉的编程语言(最初以C/C++作为实现目标)编译,再藉虚拟机引擎在浏览器内执行[4]。WebAssembly的开发团队分别来自Mozilla、Google、Microsoft、Apple,代表着四大网络浏览器Firefox、Chrome、Microsoft Edge、Safari[5]。2017年11月,以上四个浏览器都开始实验性的支持WebAssembly[6][7]。WebAssembly 于 2019 年 12 月 5 日成为万维网联盟(W3C)的推荐,与 HTML,CSS 和 JavaScript 一起,成为 Web 的第四种语言。[8]。
设计
最高指导目标
在官方的一个github页面[9]与帮助文档[10]中,阐述了WebAssembly的设计与实现原则,包含:
- 定义一个可移植,具有大小与加载高效率的二进制格式,作为编译标的。这个编译标的必须可以被编译至常见的平台,包含移动端与物联网,并且可以善用硬件资源、有原生执行码的执行速度。
- 规格与实现:
- 设计可以执行在现有的网络平台之内以及与之集成:
- 保持无版本问题、特色测试、向后兼容的网络平台
- 在与Javascript相同的环境中执行
- 允许从Javascript中同步调用
- 强化同源(Same-origin)和安全性权限政策
- 允许浏览器访问相同功能的Javascript API
- 定义一个可人工读取,能和二进制格式互换的纯文字格式,以支持查看源代码
- 设计也可以用于非浏览器的嵌入式系统
- 制作大平台
下一阶段要实现的特色
在2017年推出第一个版本后,同时也列出了下一阶段将实现的特色[11][12]
- 制定规格
- 线程
- 固定长度的SIMD
- 异常处理
- 垃圾回收
- 存储器区块操作
- 网页内容安全性政策
- ECMAScript 模块集成
- 尾端调用
- Non-trapping浮点数-整数转换
- 多值函数
- Host bindings
官方的宣传
Ending定律
Ending定律也称为终结者定律[13], 它是Ending在2016年Emscripten技术交流会上给出的断言[来源请求]:
所有可以用WebAssembly实现的终将会用WebAssembly实现。
现在这个定律除了 WebAssembly 的支持者用做宣传之外看不到任何实现的迹象。
参见
其他字节码
参考资料
- ^ Release 2.0. 2022年6月1日 [2023年2月11日].
- ^ design/Rationale.md at master · WebAssembly/design. GitHub.
- ^ design/HighLevelGoals.md at master · WebAssembly/design. GitHub.
- ^ Google, Microsoft, Mozilla And Others Team Up To Launch WebAssembly, A New Binary Format For The Web. TechCrunch. 2015-06-17.
- ^ Bright, Peter. The Web is getting its bytecode: WebAssembly. Ars Technica. Condé Nast. 2015-06-18.
- ^ 【2018關鍵趨勢1:WebAssembly】主流瀏覽器紛紛支援,網頁飆速成真. iThome. [2018-01-06] (中文(繁体)).
- ^ 主流瀏覽器都加入了 WebAssembly 支援 – Linuxpilot. www.linuxpilot.com. [2018-01-06] (中文(台湾)).
- ^ World Wide Web Consortium (W3C) brings a new language to the Web as WebAssembly becomes a W3C Recommendation. 2019-12-05.
- ^ WebAssembly High-Level Goals. [2018-01-06].
- ^ WebAssembly High-Level Goals - WebAssembly. webassembly.org. [2018-01-13].
- ^ Features to add after the MVP. [2018-01-06].
- ^ Features to add after the MVP - WebAssembly. webassembly.org. [2018-01-13].
- ^ Ending定律即将生效!.
外部链接
- 官方网站
- WebAssembly Community Group
- WebAssembly Design
- WebAssembly资源精选 - 中文版
- WebAssembly标准入门 - 人民邮电
- C/C++面向WebAssembly编程 - 开源图书
|
|
|