WebAssembly 的发展历史概述

简介: WebAssembly 的发展历史概述

随着互联网的发展,越来越多的应用程序借助 JavaScript 迁移到了 Web 上,但人们也注意到下载、解析、编译 JavaScript 会消耗大量时间,导致页面加载时间过长,最终 , 用户流失。


为了解决这些问题,Mozilla 的工程师 Alon Zakai 在 2012 年提出了 Asm.js,经过几年的发展,终于在 2015 年进化为 WebAssembly。


WebAssembly(缩写为 Wasm)是一种用于基于堆栈的虚拟机的二进制指令格式。 Wasm 被设计为编程语言的可移植编译目标,支持在 Web 上部署客户端和服务器应用程序。


image.png


这是 webassembly.org 上 WebAssembly 的官方定义。 从这个定义我们可以看出WebAssembly是一种二进制指令格式。 但是WebAssembly Text Format也经常被称为WebAssembly,而实际上,这种文本格式是一种编程语言。


官宣后,WebAssembly 得到了飞速的发展。 到 2017 年 11 月,Mozilla 宣布包括 Chrome、Firefox、Safari 等所有主流浏览器都已支持 WebAssembly。 并且根据 2021 年 7 月的数据,94% 的正在使用的浏览器都支持 WebAssembly。


在得到浏览器的广泛支持后,一些重量级的应用逐渐移植到Web上,包括:


Google Earth — 一种主要基于卫星图像呈现地球 3D 表示的软件。

AutoCAD — 一种计算机辅助设计和制图软件应用程序。 它是一个在带有内部图形控制器的微型计算机上运行的桌面应用程序。

Doom——一款由第一人称射击游戏组成的视频游戏

TensorFlow — 一个用于机器学习和人工智能的免费开源软件库。

image.png


这些案例也表明 WebAssembly 已经达到了它的设计目标——支持在网络上部署桌面应用程序。


WebAssembly 的快速发展源于其特殊的特性:


  • 接近原生的性能:基准测试显示它只比原生代码慢 10%。
  • WebAssembly 体积小,加载速度快,是一种紧凑的二进制格式,通常比等效的 Javascript 代码小得多。
  • 安全可靠,WebAssembly 代码在沙箱中运行,默认情况下不允许外部访问。
  • 支持多种编程语言:WebAssembly 不限制用户用于开发的语言。 只要有相应的编译器,任何语言都可以编译成 WebAssembly。




相关文章
|
Web App开发 机器学习/深度学习 人工智能
WebAssembly 的发展历史概述
WebAssembly 的发展历史概述
|
5月前
|
人工智能 自然语言处理 搜索推荐
AI原生企业级Agent构建平台具备哪些特性?一篇文章看明白
AI原生企业级Agent构建平台有哪些特性?澜码正式发布AskXBOT平台为业界揭晓答案。
436 0
|
前端开发 JavaScript 网络协议
Web开发的历史发展技术演变
本文对Web开发的历史发展的了解很有裨益,推荐给大家。本文尝试从历史发展角度,说说各种研发模式的优劣。 一、简单明快的早期时代,二、后端为主的 MVC 时代,三、Ajax 带来的 SPA 时代,四、前端为主的 MV* 时代,五、Node 带来的全栈时代
1988 0
Web开发的历史发展技术演变
|
3月前
|
人工智能 前端开发 Devops
NET技术在现代开发中的影响力日益增强,本文聚焦其核心价值,如多语言支持、强大的Visual Studio工具、丰富的类库和跨平台能力。
【7月更文挑战第4天】**.NET技术在现代开发中的影响力日益增强,本文聚焦其核心价值,如多语言支持、强大的Visual Studio工具、丰富的类库和跨平台能力。实际应用涵盖企业系统、Web、移动和游戏开发,以及云服务。面对性能挑战、容器化、AI集成及跨平台竞争,.NET持续创新,开发者应关注技术趋势,提升技能,并参与社区,共同推进技术发展。**
31 1
|
4月前
|
Devops Go 云计算
Go语言发展现状:历史、应用、优势与挑战
Go语言发展现状:历史、应用、优势与挑战
|
4月前
|
JavaScript 前端开发 安全
TypeScript的社区支持如何影响其生态的繁荣和更新?
【6月更文挑战第1天】 TypeScript的社区支持如何影响其生态的繁荣和更新?
38 7
|
4月前
|
Linux KVM 虚拟化
系统虚拟化基本概念与发展历史和趋势展望
系统虚拟化基本概念与发展历史和趋势展望
275 0
|
5月前
|
自然语言处理 编译器 C语言
【C/C++ 标准的发展】C/C++ 语言标准的历史和演变
【C/C++ 标准的发展】C/C++ 语言标准的历史和演变
245 3
|
5月前
|
前端开发 JavaScript IDE
蚂蚁CodeFuse新版发布,前端能力优化,支持安卓开发
蚂蚁百灵研发助手 CodeFuse 插件发布新版,本版本新增支持 Android Studio,并针对 JavaScript、TypeScript 等前端语言优化了模型效果,同时还将输出Token增加到最多 1024 个。目前 CodeFuse 处于邀请测试阶段,欢迎各位开发者前往官网申请资格参与测试。在之前已安装插件的用户需要下载最新版本,才可享受 CodeFuse 插件最新能力。
215 1
|
5月前
|
人工智能 Oracle Java
云和数据JDK17新特性历史
云和数据JDK17新特性历史
53 0
下一篇
无影云桌面