最近WebAssembly比较流行,可还有很多同学还不清楚WebAssembly是啥,今天丁老师做一下介绍。
WebAssembly是什么?
WebAssembly,简称Wasm,是一种可以在浏览器中运行的低级二进制格式。简单的说,就是WebAssembly让浏览器不仅可以运行JavaScript代码,还可以运行其他编程语言编译后的代码。比如软件开发者可以使用C/C++、Rust、Go、C#等语言编写程序,然后打包成wasm文件,这样等于就可以直接在浏览器中运行非js代码程序,以解决实现js代码无法实现的功能,比如图片处理、视频处理、3D网页应用、AI应用等。
为什么需要WebAssembly?
早期的web2.0网站及web应用开发中,页面对前端程序的需求仅限于表单验证、页面交互、动态效果、数据交互等功能,而随着Web应用的发展,特别是这两年AI应用的普及,对前端页面的需求也在不断增加,传统一些后端完成的工作,现在都可以放在前端完成,比如图片识别、语音处理、在线游戏等。这些需求需要大量的计算,普通的js的代码是无法实现上述功能和复杂应用的,WebAssembly就是为解决这些问题而设计推出的。
WebAssembly能实现什么功能
WebAssembly可以让浏览器具备接近原生应用的计算能力,让Web应用可以运行那些以前只能在桌面软件或服务器端完成的复杂计算任务,具体能力包含:
1.高性能图像处理能力
WebAssembly特别适合处理像素计算,拥有图片的压缩、格式转换、裁剪、图片滤镜、图像增强、图像识别等能力,可开发出如在线图片设计、在线图片编辑、用户上传图片自动处理等功能。
2.AI人工智能推理能力
这是目前WebAssembly非常热门的方向,WebAssembly可以让一些AI模型直接运行在浏览器中,比如图片AI处理、ORC文字识别(身份证信息读取、扫描件PDF内容分析)、人脸检测、AI大模型浏览器运行等功能。
3.音视频处理能力
在web2.0时代,音视频的处理往往需要上传至后端完成,而在使用WebAssembly后,在前端即可完成对音视频的处理,比如视频剪辑、视频压缩、格式转换等功能。
4.PDF文件处理
PDF文件内容读取、提取文字、PDF合并、PDF拆分、PDF加水印、加电子签章、PDF压缩、PDF转换等。
5.3D建模和图形渲染
WebAssembly可以在浏览器端实现复杂3D应用,比如3D模型展示、CAD在线设计、建筑模型展示、工业仿真设计等。以前这些需求必须要安装AutoCAD,现在在浏览器中打开就可以直接查看使用。
6.浏览器运行桌面软件的能力
WebAssembly可以把很多传统桌面软件迁移到网页中,比如在线Office,实现Word在线编辑、Excel在线处理、PPT在线设计;在线IDE开发编程工具、在线多媒体设计软件等。
7.数据分析和科学计算能力
WebAssembly适合大量数学计算,可以实现数据分析、数值计算、模拟计算、图形计算等功能,比如天气预报、在线建模、地震波分析等,在浏览器中直接运行数据模拟分析、实验模拟等。
8.游戏能力
WebAssembly可以提升网页游戏性能,可以实现3D游戏的浏览器运行,浏览器中跑游戏引擎、物理计算等。目前Unity、Unreal等知名游戏引擎都在探索WebAssembly方向。
能替代Javascript吗?
直接回答,无法替代。虽然WebAssembly能力很强大,但他和Javascript的能力侧重点不同。Javascript是传统的网页交互,能力上更倾向于网页自身的功能范畴,而WebAssembly则是将网页功能进行了扩展,以实现更多之前桌面软件或本地软件才能实现的功能。两者定位不同、能力不同、分工不同,各有优劣,无法直接比拟,没有谁替代谁这一说法。
全文总结
本文重点介绍了WebAssembly的概念和能力,丁老师认为,WebAssembly最大的特点不是说取代JavaScript(也取代不了),而是让浏览器从之前的网页展示工具变成类似桌面软件的应用运行平台,解锁开启了更多限制在浏览器内的功能,使浏览器不再是普通的网页展示,而是变成了可以集成多种能力、多种应用的强大生态系统。
Dify 是一个 类似“智能制作工具”,是一个可以实现低代码的AI助手。让你可以不用写复杂代码,也能快速做出自己的AI集成或智能应用。并且自带知识库体系,可以上传知识文档,根据自己的行业和业务,训练自己的垂直大模型,制作出生产及的AI应...
有同学在群里咨询,使用Uniapp开发微信小程序和APP应用,想实现后退时给上个页面传递参数,有没有办法呢?当然是有的,可以通过Uniapp的自定义全局事件来实现,今天丁老师教给你。一、当前页在后退的方法中,添加uni.$emit方式来...
2026年6月8日,微信团队发布了《关于开发者接入微信AI生态的指引》文章,旨在面向开发者提供接入微信AI生态的能力,对于开发者和企业而言,把自己的微信小程序接入微信AI生态,将有机会被微信AI推荐和调用,在传统小程序运营的基础上,等于...
有同学咨询,在平时使用微信交流时,有人发送的文字就可以打开微信小程序,这种是什么原理,如果自己也有小程序,该如何实现呢?今天丁老师就这个问题进行一下介绍。微信口令链接其实别人发送的这段文字,是叫做微信口令链接,即发送特定的关键词代码,是...
挺不错的浏览器,强加入了edge image viewer图片浏览器,感觉不是那么好,对于开发者来说,更想要原生的东西。包括微信网页版里的表情图片,用edge image viewer打开的话,无法保存为gif格式,即使保存了,也只是第一帧...
二维码码有三个参数: 数据类型、大小(“像素 ”数)和纠错级别。能存储多少信息也取决于这些参数。例如,纠错级别越低,可存储的信息越多,但代码越难被读者识别。最大尺寸和最小纠错值如下:最大字符数 7089个字符(纯数字)字母数字 4296个字...
这几年AI技术的发展已经达到新的高度,从提高个人生产力到企业操作效率的各个方面,AI都扮演着不可或缺的角色。无论是进行语言交流、内容创作、或是任务管理,都有相应的AI工具可以帮助我们更加轻松地完成工作。以下是丁老师觉得不错的AI工具推荐,希...
上一期我们讲到了《微信小程序发布后多久可以能被搜索到?》,我们已经知道了微信小程序在上架后,多久能被搜索到的一个时间范围。本期我们讲一下,微信小程序被搜索,如何提升排名,是搜索结果靠前的方法。首先,微信小程序的搜索结果排名,并没有一个固定的...