WebAssembly
| WebAssembly | ||
|---|---|---|
|
| ||
|
World Wide Web Consortium, Microsoft, Google, Mozilla y Apple Inc. https://webassembly.org/ | ||
| Información general | ||
| Extensiones comunes | .wast, .wasm | |
| Paradigma | Imperativo, no estructurado | |
| Apareció en | 2015 | |
| Diseñado por | World Wide Web Consortium | |
| Sistema de tipos | Estático, fuerte | |
| Influido por | asm.js | |
| Licencia | licencia Apache | |
WebAssembly, abreviado wasm, es un formato de código binario portable (bytecode) y un formato de texto correspondiente, así como interfaces de software para facilitar la comunicación entre dichos programas y su entorno anfitrión.
Se trata de un lenguaje de bajo nivel, diseñado inicialmente como formato destino en la compilación desde C y C++. Aunque también soporta código fuente de otros lenguajes, como Rust y Go.[1][2][3]
Diseño
WebAssembly se concibe como una máquina de pila portable, diseñado así para procesarse sintácticamente más rápido que Javascript, y mejorar su velocidad de ejecución.
Historia
WebAssembly fue anunciado el 17 de junio de 2015. El 15 de marzo de 2016 se hizo una demo ejecutando Unity's Angry Bots en Firefox, Chromium, Google Chrome, y Microsoft Edge.[4][5][6][7]
En el 2019 se crea la empresa Bytecode Alliance la cual tiene por objetivo fomentar el uso del lenguaje y fomentar bases sólidas para no solo maquetar aplicaciones móviles, sino llevar su uso diferentes estándares de desarrollo; celulares y computadoras de escritorio, así como a navegadores (Edge y Safari)[8]
Desarrollo
La implementación inicial de soporte para WebAssembly en navegadores se basará en los formatos asm.js, soportado por Mozilla, y PNaCl (Portable Native Client), propuesto por Google. Tras sacar una versión MVP se plantea incorporar recolección de basura,[9] lo que permitirá a lenguajes con este sistema, tales como Java o C# compilarse generando código wasm.
El equipo implicado en el desarrollo de WebAssembly incluye personas vinculadas a Mozilla, Microsoft, Google o Apple.
Referencias
- ↑ «WebAssembly High-Level Goals». GitHub / WebAssembly / design. 11 de diciembre de 2015.
- ↑ «Announcing Rust 1.14». The Rust Programming Language Blog. 22 de diciembre de 2016.
- ↑ «Go 1.11 is released - The Go Blog». blog.golang.org. 24 ago. 2018.
- ↑ «Launch bug». GitHub / WebAssembly / design. 11 de junio de 2015.
- ↑ Wagner, Luke (14 de marzo de 2016). «A WebAssembly Milestone: Experimental Support in Multiple Browsers». Mozilla Hacks.
- ↑ Thompson, Seth (15 de marzo de 2016). «Experimental support for WebAssembly in V8». V8 Blog.
- ↑ Zhu, Limin (15 de marzo de 2016). «Previewing WebAssembly experiments in Microsoft Edge». Microsoft Edge dev blog.
- ↑ «Bytecode Alliance: este nuevo proyecto para llevar web Assembly a navegadores y entornos multiplataformas.».
- ↑ «WebAssembly/design». GitHub (en inglés). Archivado desde el original el 5 de julio de 2016. Consultado el 8 de abril de 2017.
Enlaces externos
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.