For faster navigation, this Iframe is preloading the Wikiwand page for WebAssembly.

WebAssembly

WebAssembly
Pian-têng hoān-hêngkiat-kòo-huà [en]; thia̍p-thōng kiat-kòo ke-khì [en][1]
Nńg-thé siat-kèW3C liân-bîng [en]
Têng-sek-goân
Siú-chhù hoat-hêng2017 nî 3 goe̍h;​ 7 nî í-chêng​ (2017-03)
OSTo̍k-li̍p teh pênn-tâi [en]
Nńg-thé siū-koânApache tsìng-tsiáu 2.0 [en]
Bûn-kiāⁿ khok-tián-miâ
Bāng-chāmwebassembly.org
Khé-hoat gí-giân
  • asm.js
  • PNaCl

WebAssembly (ing-gú: WebAssembly; ū-tang-sî-á siá-tsò Wasm) uî ē-tàng tsip-hîng tîng-sū [en] tīng-gī tsi̍t-tsióng ē-sái î-si̍t ê 2 tsìn-tsè [en] tāi-bé kik-sik hām sio tuì-ìng ê bûn-pún kik-sik[2], í-ki̍p iōng-teh tshiok-tsìn tsit-luī tîng-sū kah i-ê siok-tsú khuân-kíng tsi-kan kau-hōo ê nńg-thé tsiap-kháu.[3][4][5][6]

WebAssembly ê tsú-iàu bo̍k-piau sī teh bāng-ia̍h tíng-kuân khé-iōng ko sìng-lîng ìng-iōng tîng-sū, "M̄-kú WebAssembly bô-tsò jīm-hô ti̍k-tīng teh Web ê ká-siat hi̍k-tsiá thê-kiong ti̍k-tīng teh Web ê kong-lîng, in-tshú WebAssembly mā ē-tàng teh kî-thann khuân-kíng tang-tiong sú-iōng."[7]WebAssembly sī tsi̍t-ê khai-guân piau-tsún [en][8][9], i-ê bo̍k-piau tsú-iàu teh tsi-tshî jīm-hô tshau-tsok hē-thóng tíng-kuân ê jīm-hô gú-giân,[10] pīng-tshiánn teh si̍t-tsiān tang-tiong, sóo-ū siong liû-hîng ê gú-giân lóng tsì-tsió kū-iú it-tīng thîng-tōo ê tsi-tshî.

WebAssembly tī 2015-nî suan-pòo pīng-tī 2017-nî 3-gue̍h thâu-tsi̍t-pái huat-pòo, tī 2019-nî 12-gue̍h 5-ji̍t tsiânn-tsò World Wide Web liân-bîng thui-tsiàn[11][12][13]pīng tī 2021-nî hi̍k-tit ACM [en] SIGPLAN [en] ê pian-tîng gú-giân nńg-thtsióng.[14], W3C liân-bîng [en] (W3C) teh Mozilla, Microsoft, Google, Apple, Fastly [en], Intel kah Red Hat [en] ê kòng-hiàn tsi-hā uî-hōo tsit-ê piau-tsún [en].[15][16]

Kui-keh ti̍k-sik

[siu-kái | kái goân-sí-bé]

Tsú-ki khuân-kíng

[siu-kái | kái goân-sí-bé]

Tāi-bé piáu-sī

[siu-kái | kái goân-sí-bé]
C guân-tāi-bé kah tuì-ìng ê WebAssembly
C guân-tāi-bé WebAssembly .wat bûn-pún kik-sik WebAssembly .wasm 2 tsìn-tsè kik-sik
int factorial(int n) {
  if (n == 0)
    return 1;
  else
    return n * factorial(n-1);
}
(func (param i64) (result i64)
  local.get 0
  i64.eqz
  if (result i64)
      i64.const 1
  else
      local.get 0
      local.get 0
      i64.const 1
      i64.sub
      call 0
      i64.mul
  end)
00 61 73 6D 01 00 00 00
01 00 01 60 01 73 01 73 06
03 00 01 00 02
0A 00 01
00 00
20 00
50
04 7E
42 01
05
20 00
20 00
42 01
7D
10 00
7E
0B
0B 15 17


(module
  (type $t0 (func (param i64) (result i64)))
  (func $f0 (type $t0) (param $p0 i64) (result i64)
    (if $I0 (result i64) ;; $I0 is an unused label name
      (i64.eqz
        (local.get $p0)) ;; the name $p0 is the same as 0 here
      (then
        (i64.const 1))
      (else
        (i64.mul
          (local.get $p0)
          (call $f0      ;; the name $f0 is the same as 0 here
            (i64.sub
              (local.get $p0)
              (i64.const 1))))))))
  1. "WebAssembly/design/Semantics.md". GitHub (ēng Eng-gí). 2021-02-23 khòaⁿ--ê. WebAssembly code can be considered a structured stack machine; a machine where most computations use a stack of values, but control flow is expressed in structured constructs such as blocks, ifs, and loops. In practice, implementations need not maintain an actual value stack, nor actual data structures for control; they need only behave as if they did so. 
  2. Mozilla. "Understanding WebAssembly text format". MDN Web Docs. 9 December 2019 khòaⁿ--ê. 
  3. "Introduction — WebAssembly 1.0". webassembly.github.io. 18 June 2019 khòaⁿ--ê. WebAssembly is an open standard... 
  4. "Introduction — WebA ssembly 1.0". webassembly.github.io. 18 June 2019 khòaⁿ--ê. WebAssembly is a ... code format 
  5. "Conventions — WebAssembly 1.0". webassembly.github.io. 17 May 2019 khòaⁿ--ê. WebAssembly is a programming language that has multiple concrete representations (its binary format and the text format). Both map to a common structure. 
  6. "Introduction — WebAssembly 1.0". webassembly.github.io. 18 June 2019 khòaⁿ--ê. ... this specification is complemented by additional documents defining interfaces to specific embedding environments such as the Web. These will each define a WebAssembly application programming interface (API) suitable for a given environment. 
  7. "Introduction — WebAssembly 1.1". webassembly.github.io. 2021-02-19 khòaⁿ--ê. Its main goal is to enable high performance applications on the Web, but it does not make any Web-specific assumptions or provide Web-specific features, so it can be employed in other environments as well. 
  8. Haas, Andreas; Rossberg, Andreas; Schuff, Derek L.; Titzer, Ben L.; Holman, Michael; Gohman, Dan; Wagner, Luke; Zakai, Alon; Bastien, JF (14 June 2017). "Bringing the Web Up to Speed with WebAssembly". SIGPLAN Notices. 52 (6): 185–200. doi:10.1145/3140587.3062363. ISSN 0362-1340. While the Web is the primary motivation for WebAssembly, nothing in its design depends on the Web or a JavaScript environment. It is an open standard specifically designed for embedding in multiple contexts, and we expect that stand-alone implementations will become available in the future. 
  9. "Outside the web: standalone WebAssembly binaries using Emscripten · V8". v8.dev. 2020-07-28 khòaⁿ--ê. 
  10. "Wasmer - The Universal WebAssembly Runtime". wasmer.io. 2021-02-19 khòaⁿ--ê. Compile everything to WebAssembly. Run it on any OS or embed it into other languages. 
  11. World Wide Web Consortium. "WebAssembly Core Specification". World Wide Web Consortium (W3). 9 December 2019 khòaⁿ--ê. 
  12. Couriol, Bruno. "WebAssembly 1.0 Becomes a W3C Recommendation and the Fourth Language to Run Natively in Browsers". infoq.com. 9 December 2019 khòaⁿ--ê. 
  13. "WebAssembly Specification — WebAssembly 1.1". webassembly.github.io. 2021-03-22 khòaⁿ--ê. 
  14. "Programming Languages Software Award". www.sigplan.org. 
  15. Bright, Peter (18 June 2015). "The Web is getting its bytecode: WebAssembly". Ars Technica. Condé Nast. 
  16. "New Bytecode Alliance Brings the Security, Ubiquity, and Interoperability of the Web to the World of Pervasive Computing". Mozilla (ēng Eng-gí). 12 November 2019. 27 May 2019 khòaⁿ--ê. 
  • W3C [en] (World Wide Web Consortium)
  • Apache tsìng-tsiáu 2.0 [en]
  • asm.js [en]
  • Google Native Client [en] (PNaCl)
  • Ars Technica [en]
  • Condé Nast [en]

Guā-pōo liân-kiat

[siu-kái | kái goân-sí-bé]
{{bottomLinkPreText}} {{bottomLinkText}}
WebAssembly
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?