如何评价 WebAssembly 成为 W3C 标准,与HTML、JavaScript、CSS 并列?
转自:知乎 行甫
觉得WebAssembly可以用其他语言取代JavaScript,应该是对WebAssembly最大的误解。
因为经常做一些高性能的浏览器应用的开发(h5游戏和ar应用等),所以我很早就开始关注WebAssembly,本质上是给浏览器和JavaScript赋能,提高前端的上限和多样性。
想用其他语言写前端,没问题,但是JavaScript需要面对的问题:构成页面的各个部分以单线程运行及协作、dom/css操作、事件机制和浏览器交互等等。用其他语言写,一样会遇到这些问题。
其他语言的开发者烦JavaScript,认为JavaScript混乱并反直觉,烦的其实不是JavaScript,而是浏览器这个大环境。JavaScript用其特性很好的适应了这个环境,同时多年来与其他浏览器部分的协作,可以说是相互渗透相互影响了。所以,JavaScript作为原配一直在伴生浏览器发展,其他语言不一定做得到,花功夫做到也不一定做的比JS好。
前端应用一直饱受性能不高的诟病,很多东西必须交给服务器处理完再传递给前端,对运营成本和服务器的负载有要求,例如AR识别。
WebAssembly让我最兴奋的点在于它给前端开发带来一些以前根本不敢想的native级别的性能。如高性能的大型游戏;AR识别可以把服务器的一部分计算压力下放到前端,低算力的任务,甚至都可以放到前端。
目前来看,web worker应该受影响最大。WebAssembly的数据传递的复杂度,可以做到和web worker一样,甚至更好的可能性。那毕竟这个伪多线程更多的是在处理大量计算时,别卡主页面主线程,对性能提升幅度不大,还有可能起反作用。
加入阿里云钉钉群享福利:每周技术直播,定期群内有奖活动、大咖问答
阿里云开发者社区
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。