No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Web Assembly

23/32
Recursos

Aportes 6

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Web Assembly


Web Assembly es un nuevo tipo de c贸digo que puede ser ejecutado en navegadores modernos. Es un lenguaje de bajo nivel, similar al lenguaje ensamblador, con un formato binario compacto que se ejecuta con rendimiento casi nativo y provee un objetivo de compilaci贸n para lenguajes como C/C++ y Rust que les permite correr en la web. Tambi茅n est谩 dise帽ado para correr a la par de JavaScript, permitiendo que trabajen juntos.

Clase 23 - Web Assembly


Repaso de la clase


驴C贸mo se llama el nuevo est谩ndar web?

  • Web Assembly.

驴En qu茅 a帽o Web Assembly se vuelve un est谩ndar?

驴Cu谩l era el 煤nico lenguaje de programaci贸n que entend铆a el navegador?

  • JavaScript.

驴Qu茅 lenguajes de programaci贸n entiende hoy en dia el navegador?

  • Javascript.
  • Web Assembly.

驴Cu谩l es la funci贸n de Web Assembly?

  • Es un lenguaje de bajo nivel que nos permite usar en la web otros lenguajes de programaci贸n, por ejemplo, C, C ++ o Rust y compilarlos a Javascript para que el navegador pueda entenderlo. Esto hace que el rendimiento de nuestro sitio web mejore considerablemente.

Las aplicaciones que se ejecutan en navegador en lugar de ir instaladas en un disco duro son cada vez m谩s completas. Adem谩s de los t铆picos programas de oficina como Microsoft 365 o Google Docs, que siempre presentan funciones nuevas, los juegos de navegador son cada vez m谩s complejos y requieren m谩s recursos. Este tipo de aplicaciones web se ofrece a menudo en JavaScript, pero, entretanto, cada vez m谩s desarrolladores apuestan por WebAssembly: un nuevo planteamiento con resultados sorprendentes.

.

WebAssembly (abreviado, Wasm) es una nueva forma con la que los desarrolladores web pueden generar aplicaciones en internet. Hasta ahora, para ello hab铆a que recurrir a JavaScript. Pero JavaScript es relativamente lento y, en determinados escenarios, se ve limitado. Por eso, el World Wide Web Consortium (W3C) ha impulsado este nuevo m茅todo. Sin embargo, para que Wasm pueda funcionar, el navegador debe ser compatible con este lenguaje. Por este motivo, Mozilla (Firefox), Microsoft (Edge), Apple (Safari) y Google (Chrome) han participado en el desarrollo. En todas las versiones de navegador actuales de estos proveedores se pueden ejecutar aplicaciones en WebAssembly.

.

Fundamentalmente, WebAssembly se representa en forma de bytecode, que puede considerarse como un nivel intermedio entre el c贸digo m谩quina 鈥攓ue solo un ordenador puede entender鈥 y un t铆pico lenguaje de programaci贸n 鈥攍egible para humanos, a condici贸n de que se compile primero. Al requerir apenas esfuerzo para convertir el c贸digo, esto hace que WebAssembly sea m谩s r谩pido. Sin embargo, escribir en bytecode es bastante inusual. La ventaja de Wasm es que no hace falta trabajar con este lenguaje de programaci贸n, ya que, en la pr谩ctica, la aplicaci贸n web puede escribirse en C o C++.

.

El texto fuente se convierte con la aplicaci贸n Emscripten. Antes de que existiera WebAssembly, esta herramienta ya estaba en uso para convertir c贸digo C/C++ a JavaScript (o ams.js). Actualmente, con ella tambi茅n es posible transcribir c贸digo en Wasm. Esto significa que el c贸digo est谩 precompilado y por ello no tiene que compilarse o interpretarse en el momento de la ejecuci贸n. Cuando el usuario abre finalmente la aplicaci贸n en el navegador, se inicia una peque帽a m谩quina virtual. Y en ella se ejecuta la aplicaci贸n.

Es interesante que se haya inventado un nuevo tipo de codigo que permite interactuar con los navegadores modernos. Tambien me sorprende que se pueda trabajar con servidores como C++, C, JS y el mismo python.