什么是 WebAssembly?
- JavaScript 改进:在 wasm 中部署重要工作并将其作为标准 JavaScript 模块导入。
- 一种新语言: Code WebAssembly 定义了一种以二进制形式表示的 AST(抽象语法树-抽象语法树)。您可以以可读的文本格式编写作者和调试(debug)。
- 改进 浏览器: 浏览器将理解二进制格式,这意味着可以编译比目前使用的 JavaScript 段更小的压缩二进制包。较小的有效载荷将更快地交付。根据作业 优化编译时间,WebAssembly 包可以比 JavaScript 运行得更快。
- 编译目标:其他语言在整个网络平台上获得最佳二进制支持的一种方式。
WebAssembly 对 JavaScript 意味着什么?
我们需要 WebAssembly,因为它和 JavaScript 一样灵活。目前,用 JavaScript 表达很多东西是很困难的,而且简化的特性会给这种语言带来复杂性,让很多用户感到困惑。
WebAssembly 提供了对一组低级基本块的访问,人们可以使用这些块来构建任何可以想象的东西。那么它与 JavaScript 有什么不同呢?这里的关键字是low,它定义了原始的数据库类型、字体、流量控制等。这些都是简单的、非系统的数据库。复杂对象(原型或其他系统),不会自动集成垃圾收集器。
那么 什么是 WebAssembly配置 ?
WebAssembly 定义了以二进制形式存储的抽象语法树。二进制格式很棒,因为它意味着我们可以创建更小的应用程序包。可能很多人会想知道如何调试二进制语言格式。
幸运的是,正在创建的开发人员有一个肯定会出现在浏览器中的调试器,抽象语法树将以友好(适度)的文本格式显示。
WebAssembly 有什么用途?
WebAssembly 很容易表达线程和 SIMD(单指令,多数据)之类的东西,您可以并排排列多个数据块并调用单个命令同时激活.这意味着可以接收实时视频流效果的并行处理路径。
- 用 Java 编写多线程代码的 4 种方法
借助 WebAssembly,开发人员可以忘记对象系统、垃圾收集器和所有其他东西,只需将一些原始位排成小行并尽快处理它们。
游戏、VR 和虚拟现实增强就是明显的例子。当前大多数 WebAssembly 演示使用 Unity 或 Unreal Engine,两者都支持 asm.js 编译。 Ableton Live 等音乐制作应用程序和 Adobe Premier Pro 等视频制作应用程序在切换到 Web 时仍然有点尴尬;还有许多问题需要解决,例如确保数据密集型实时应用程序有更好的时间。
WebAssembly 将 多样化 语言 引入 网络平台
WebAssembly 提供了大多数开发人员 JS 必须同意的东西,而我们在 JavaScript 中不需要。他们需要它们不是 JavaScript 代码,而是支持使用它们从其他语言编译。
- 网络语言的安全性
WebAssembly 提供了一个替代编译目标,专门为此目的而设计。现在,导出严重依赖于共享内存流等功能的代码变得更加容易。为 WebAssembly 编写编译器的过程没有为 JavaScript 编写编译器复杂,仅仅是因为目标 AST 有更好的映射。
很高兴知道我们知道和喜爱的所有旧语言现在都将在网络平台上运行。
参见:什么是 Java?为什么选择 Java?
评论