fbpx
维基百科

WebAssembly

WebAssembly或稱wasm是一個低階程式語言。WebAssembly是可攜式的抽象語法樹[2],被設計來提供比JavaScript更快速的編譯及執行[3]。WebAssembly將讓開發者能運用自己熟悉的程式語言(最初以C/C++作為實作目標)編譯,再藉虛擬機器引擎在瀏覽器內執行[4]。WebAssembly的開發團隊分別來自MozillaGoogleMicrosoftApple,代表著四大網路瀏覽器FirefoxChromeMicrosoft EdgeSafari[5]。2017年11月,以上四個瀏覽器都開始實驗性的支援WebAssembly[6][7]。在 2019 年 12 月 5 日,W3C制定《WebAssembly核心規範[8]》,WebAssembly 正式被認證為 Web 的標準之一。[9]

WebAssembly
编程范型结构化堆栈机器
当前版本
  • 2.0 (2022年6月1日)[1]
型態系統静态
系统平台跨平台
許可證Apache许可证
文件扩展名.wat (純文字格式,人類可讀)
.wasm(二進制檔案)
網站webassembly.org
啟發語言
Asm.jsPNaCl

設計 编辑

最高指導目標 编辑

在官方的一個github頁面[10]與說明文件[11]中,闡述了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年推出第一個版本後,同時也列出了下一階段將實作的特色[12][13]

官方的宣傳 编辑

Ending定律 编辑

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

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

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

參見 编辑

其他逐漸被捨棄的網頁用戶端技術與RIA

其他位元組碼

參考資料 编辑

  1. ^ Release 2.0. 2022年6月1日 [2023年2月11日]. 
  2. ^ . GitHub. [2016-03-20]. (原始内容存档于2021-03-08). 
  3. ^ . GitHub. [2016-03-20]. (原始内容存档于2019-06-06). 
  4. ^ . TechCrunch. 2015-06-17 [2015-06-20]. (原始内容存档于2022-04-05). 
  5. ^ Bright, Peter. The Web is getting its bytecode: WebAssembly. Ars Technica. Condé Nast. 2015-06-18 [2015-06-20]. (原始内容于2017-03-20). 
  6. ^ . iThome. [2018-01-06]. (原始内容存档于2020-05-30) (中文(繁體)). 
  7. ^ . www.linuxpilot.com. [2018-01-06]. (原始内容存档于2019-06-30) (中文(臺灣)). 
  8. ^ WebAssembly核心規範 (页面存档备份,存于互联网档案馆
  9. ^ . 2019-12-05 [2019-12-06]. (原始内容存档于2022-04-19). 
  10. ^ . [2018-01-06]. (原始内容存档于2019-06-06). 
  11. ^ . webassembly.org. [2018-01-13]. (原始内容存档于2022-04-22). 
  12. ^ . [2018-01-06]. (原始内容存档于2021-04-01). 
  13. ^ . webassembly.org. [2018-01-13]. (原始内容存档于2019-05-15). 
  14. ^ Ending定律即将生效!. 

外部連結 编辑

webassembly, 或稱wasm是一個低階程式語言, 是可攜式的抽象語法樹, 被設計來提供比javascript更快速的編譯及執行, 將讓開發者能運用自己熟悉的程式語言, 最初以c, 作為實作目標, 編譯, 再藉虛擬機器引擎在瀏覽器內執行, 的開發團隊分別來自mozilla, google, microsoft, apple, 代表著四大網路瀏覽器firefox, chrome, microsoft, edge, safari, 2017年11月, 以上四個瀏覽器都開始實驗性的支援, 2019, w3c制定,. 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 在 2019 年 12 月 5 日 W3C制定 WebAssembly核心規範 8 WebAssembly 正式被認證為 Web 的標準之一 9 WebAssembly编程范型结构化堆栈机器当前版本2 0 2022年6月1日 1 型態系統静态系统平台跨平台許可證Apache许可证文件扩展名 wat 純文字格式 人類可讀 wasm 二進制檔案 網站webassembly wbr org啟發語言Asm js PNaCl 目录 1 設計 1 1 最高指導目標 1 2 下一階段要實作的特色 2 官方的宣傳 2 1 Ending定律 3 參見 4 參考資料 5 外部連結設計 编辑最高指導目標 编辑 在官方的一個github頁面 10 與說明文件 11 中 闡述了WebAssembly的設計與實作原則 包含 定義一個可移植 具有大小與載入高效率的二進位格式 作為編譯標的 這個編譯標的必須可以被編譯至常見的平台 包含移動端與物聯網 並且可以善用硬體資源 有原生執行碼的執行速度 規格與實作 最初的MVP Minimum Viable Product 與Asm js有大略相等的功能 並以C C 語言為優先 其他額外的特性最初集中在執行緒 零消耗的异常 和SIMD 這些額外的特性先以回饋和實驗為主 包含C C 以外其他語言的支持 設計可以執行在現有的網路平台之內以及與之整合 保持無版本問題 特色測試 向後相容的網路平台 在與Javascript相同的環境中執行 允許從Javascript中同步呼叫 強化同源 Same origin 和安全性權限政策 允許瀏覽器存取相同功能的Javascript API 定義一個可人工讀取 能和二進位格式互換的純文字格式 以支援查看原始碼 設計也可以用於非瀏覽器的嵌入式系統 製作大平台 為WebAssembly建置新的LLVM後端與伴隨的Clang接口 推動其他WebAssembly的編譯器與工具 啟用更多有用的工具下一階段要實作的特色 编辑 在2017年推出第一個版本後 同時也列出了下一階段將實作的特色 12 13 制定規格 執行緒 固定長度的SIMD 例外處理 垃圾回收 記憶體區塊操作 網頁內容安全性政策 ECMAScript 模組整合 尾端呼叫 Non trapping浮點數 整數轉換 多值函數 Host bindings官方的宣傳 编辑Ending定律 编辑 Ending定律也称为终结者定律 它是Ending在2016年Emscripten技术交流会上给出的断言 14 所有可以用WebAssembly实现的终将会用WebAssembly实现 現在這個定律除了 WebAssembly 的支持者用做宣傳之外看不到任何實現的跡象 參見 编辑JavaScript ECMAScript Ajax Dart TypeScript V8 SpiderMonkey Qt for WebAssembly其他逐漸被捨棄的網頁用戶端技術與RIA ActiveX VBScript Flash ActionScript Microsoft Silverlight Java Applet JavaFX asm js Native Client其他位元組碼 Java bytecode 通用中間語言 CIL 參考資料 编辑 Release 2 0 2022年6月1日 2023年2月11日 design Rationale md at master WebAssembly design GitHub 2016 03 20 原始内容存档于2021 03 08 design HighLevelGoals md at master WebAssembly design GitHub 2016 03 20 原始内容存档于2019 06 06 Google Microsoft Mozilla And Others Team Up To Launch WebAssembly A New Binary Format For The Web TechCrunch 2015 06 17 2015 06 20 原始内容存档于2022 04 05 Bright Peter The Web is getting its bytecode WebAssembly Ars Technica Conde Nast 2015 06 18 2015 06 20 原始内容存档于2017 03 20 2018關鍵趨勢1 WebAssembly 主流瀏覽器紛紛支援 網頁飆速成真 iThome 2018 01 06 原始内容存档于2020 05 30 中文 繁體 主流瀏覽器都加入了 WebAssembly 支援 Linuxpilot www linuxpilot com 2018 01 06 原始内容存档于2019 06 30 中文 臺灣 WebAssembly核心規範 页面存档备份 存于互联网档案馆 World Wide Web Consortium W3C brings a new language to the Web as WebAssembly becomes a W3C Recommendation 2019 12 05 2019 12 06 原始内容存档于2022 04 19 WebAssembly High Level Goals 2018 01 06 原始内容存档于2019 06 06 WebAssembly High Level Goals WebAssembly webassembly org 2018 01 13 原始内容存档于2022 04 22 Features to add after the MVP 2018 01 06 原始内容存档于2021 04 01 Features to add after the MVP WebAssembly webassembly org 2018 01 13 原始内容存档于2019 05 15 Ending定律即将生效 外部連結 编辑官方网站 nbsp WebAssembly Community Group 页面存档备份 存于互联网档案馆 WebAssembly Design 页面存档备份 存于互联网档案馆 WebAssembly资源精选 中文版 页面存档备份 存于互联网档案馆 WebAssembly标准入门 人民邮电 页面存档备份 存于互联网档案馆 C C 面向WebAssembly编程 开源图书 页面存档备份 存于互联网档案馆 MDN Web Docs WebAssembly文档 中文版 页面存档备份 存于互联网档案馆 英文版 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title WebAssembly amp oldid 78001835, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。