WebAssembly 入门快问快答

WebAssembly 旨在完全提升应用程序的性能、安全性和开发人员的生产力。 它用托管容器和细颗粒度的安全模型替换本机代码。前端

在学习WebAseembly 的过程当中,总会遇到一些问题。这里选取了关于 WebAssembly 比较典型的几个问题,一一解答。java

2020年,咱们为何用本地代码编程?

在过去的几年中,CPU 的速度基本再也不飞速提高。 同时,人工智能、大数据和区块链都对计算能力提出了巨大的要求。 到目前为止,解决方案是在咱们的软件中使用愈来愈多的本地代码。 本机代码效率高,接近硬件,可以访问专门的硬件,如 GPU 和人工智能芯片。编程

然而,本机代码也存在平台依赖性和安全性等问题。 在过去的30年里,软件工程的大趋势已经从原生代码转变为运行在虚拟机器或容器中的托管代码。后端

WebAsssembly 比本机代码好在哪里?

WebAssembly 是下一代虚拟机,它将帮助咱们将本机代码模块转换为 服务。浏览器

  • 能够用多种编程语言编写 WebAssembly 程序,而不单单是 c 和 c + + 。特别要指出,WebAssembly 能很好地支持Rust。
  • 能够从多个编程框架(如 JavaScript、 Python 和 PHP)访问或调用 WebAssembly 程序。
  • WebAssembly 是跨平台的。 它们能够在全部主要的操做系统和硬件平台上无需更改便可运行。
  • WebAssembly 程序至关安全,由于它们在虚拟机中执行。
  • 因为其轻量级的虚拟机设计,WebAssembly 程序具备效率高,速度快的特色。 它与本机代码性能至关。
  • WebAssembly 提供了一种访问新硬件的简单而安全的扩展机制

WebAssembly 安全、速度快且跨平台。 可是,WebAssembly 不是主要在浏览器内部使用吗?

WebAssembly 是由 Google,Mozilla,Apple 和 Microsoft 合做发起的。 它一开始的设计目标是一个在浏览器内部的高性能代码执行引擎。 在这个状况下,它的典型应用是对性能有高要求的的浏览器应用,好比动画游戏,很像早先的 java applet。安全

然而,和以前的 Java 和 JavaScript 同样,WebAssembly 在正在大举向服务器端迁移,并也取得了成功。 Webassembly 的安全性、性能、平台和语言兼容性,使其成为理想的服务器端运行环境。服务器

想要使用WebAssembly必须学会Rust语言,是这样吗?

不用。WebAssembly 兼容多语言。 能够用各类不一样的主机语言调用 WebAssembly 程序和函数,好比 Javascript、 Rust、 Go、 Python,甚至 PHP。app

您能够用各类不一样的编程语言编写 WebAssembly 程序。 然而,Rust 是目前最普遍用于建立 WebAssembly 程序和模块的语言。框架

Rust 连续4年被评为最受你们喜好的编程语言。 它是目前最热门的编程语言。 它有许多使人激动的特性。好比,它像 c 同样强大而灵活,可是更加安全,并且没有 Java 的性能损耗。 它既支持面向对象编程,也支持函数式编程。 它是世界上成长最快的编程语言之一,如今从前端到后端到基础设施的整个软件堆栈中都使用它。编程语言

你对 WebAssembly 有什么疑问呢?欢迎在评论区留言。

相关文章
相关标签/搜索