WEB开发将不再重度依赖JS
Mozilla、谷歌、微软、苹果4大浏览器一致通过了一个标准:WebAssemblyWebAssembly允许使用更多的语言来开发web应用,并且有接近原生应用的性能,使web开发不再重度依赖JS,同时性能极大的超越了JS
WebAssembly是什么?
WebAssembly是一个面向Web的通用的二进制和文本格式(二进制格式是用来运行的,文本格式是给人查看和调试的)为各种语言定义一种统一的二进制编译格式,可在Web环境中执行,实现接近原生的速度,并可调用常见的硬件功能意味着可以使用自己熟悉的语言来开发web应用了,并且性能极高
WebAssembly是怎么来的?
WebAssembly的出现,是源于对web性能的不断追求JavaScript非常流行,但有个硬伤,就是性能不好js是年其作者用10天赶制出来的,是一个解释性语言,当时的目标很简单,就是在页面上做点动画和交互操作,没有性能问题10年后,js应用越来越广,性能问题突出,谷歌推出了V8引擎,使js的速度得到20倍的提升,其中的一个重要原因是V8中使用了JIT即时编译技术JIT基于运行期分析编译,会对代码进行扫描和编译优化,优化的重点是变量的类型,生成了类型变量,加上一些其他优化,使运行速度大幅提升但JIT也有很多局限,例如数组、对象属性、闭包变量等,都无法优化后来firefox提出了新的思路,开发了asm.jsasm.js是js的一套子集,可以理解为是一套更严格、更便于优化的js,支持把c/c++编译为jsC/C++–LLVM位码–Emscripten–asm.js–浏览器速度已经达到原生C/C++的一半,并且还有很大的提升空间同时,谷歌也有自己的项目PNaCl,可以在浏览器的沙箱中运行C/C++,性能比asm.js还要好苹果也有类似的想法,在开发FLTJIT只有微软没动作谷歌和苹果在开发各自项目的同时,都遇到了一些棘手的问题,发现还是支持asm.js更容易一些,而且也更统一所以他们4个就协商了一下,在asm.js思路的基础上规划出了WebAssembly
WebAssembly的特点
(1)快二进制格式使代码体积减小,加载更快,并且运行更快(2)安全WebAssembly描述了一个内存安全的沙箱环境,可以运行在现有的JS虚拟机环境,运行在浏览器中时,会严格执行相同的安全策略(3)便于调试支持良好的文本格式,用来调试、优化、学习教学等
点击阅读原文查看文章列表
赞赏
人赞赏
中科白癜风医院治疗白癜风那家医院版权所有:Copyright © 2012-2020 Web开发

电话:
当前时间: