WebAssembly 旨在完全提升应用程序的性能、安全性和开发人员的生产力。 它用托管容器和细颗粒度的安全模型替换本机代码。前端
在学习WebAseembly 的过程当中,总会遇到一些问题。这里选取了关于 WebAssembly 比较典型的几个问题,一一解答。java
在过去的几年中,CPU 的速度基本再也不飞速提高。 同时,人工智能、大数据和区块链都对计算能力提出了巨大的要求。 到目前为止,解决方案是在咱们的软件中使用愈来愈多的本地代码。 本机代码效率高,接近硬件,可以访问专门的硬件,如 GPU 和人工智能芯片。编程
然而,本机代码也存在平台依赖性和安全性等问题。 在过去的30年里,软件工程的大趋势已经从原生代码转变为运行在虚拟机器或容器中的托管代码。后端
WebAssembly 是下一代虚拟机,它将帮助咱们将本机代码模块转换为 服务。浏览器
WebAssembly 是由 Google,Mozilla,Apple 和 Microsoft 合做发起的。 它一开始的设计目标是一个在浏览器内部的高性能代码执行引擎。 在这个状况下,它的典型应用是对性能有高要求的的浏览器应用,好比动画游戏,很像早先的 java applet。安全
然而,和以前的 Java 和 JavaScript 同样,WebAssembly 在正在大举向服务器端迁移,并也取得了成功。 Webassembly 的安全性、性能、平台和语言兼容性,使其成为理想的服务器端运行环境。服务器
不用。WebAssembly 兼容多语言。 能够用各类不一样的主机语言调用 WebAssembly 程序和函数,好比 Javascript、 Rust、 Go、 Python,甚至 PHP。app
您能够用各类不一样的编程语言编写 WebAssembly 程序。 然而,Rust 是目前最普遍用于建立 WebAssembly 程序和模块的语言。框架
Rust 连续4年被评为最受你们喜好的编程语言。 它是目前最热门的编程语言。 它有许多使人激动的特性。好比,它像 c 同样强大而灵活,可是更加安全,并且没有 Java 的性能损耗。 它既支持面向对象编程,也支持函数式编程。 它是世界上成长最快的编程语言之一,如今从前端到后端到基础设施的整个软件堆栈中都使用它。编程语言
你对 WebAssembly 有什么疑问呢?欢迎在评论区留言。