fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-10-28
  • 发帖数18486
  • 经验4840枚
  • 威望5点
  • 贡献值4316点
  • 好评度1117点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
阅读:3650回复:15

Firefox 52 将会支持 WebAssembly

楼主#
更多 发布于:2017-02-27 16:11
WebAssembly(简称 wasm)是一个新的网页二进制格式,是由 Google、Mozilla、微软、苹果等大公司共同制定和推动的标准,可以极大改善网页程序的性能,比 JavaScript 的性能更优异的多。有兴趣的可以搜索一下有关的介绍,例如这篇

WebAssembly 首次宣布是在 2015 年 6 月,并计划在 Firefox 52 正式版首先支持,而 Firefox 52 ESR 暂时还不会支持。而 Google 则会在 Chrome 57 支持,微软的 Edge 浏览器将在 Win 10 Insider 15025 版本支持,苹果则还不清楚。


https://www.soeren-hentzschel.at/firefox/firefox-wieder-fuehrend-bei-der-implementierung-neuer-javascript-features/
Firefox More than meets your experience
awsderty
火狐狸
火狐狸
  • UID48006
  • 注册日期2014-11-26
  • 最后登录2017-10-30
  • 发帖数135
  • 经验123枚
  • 威望0点
  • 贡献值60点
  • 好评度3点
  • 社区居民
1楼#
发布于:2017-02-27 17:18
目前還是草案中把 能夠加速跟縮短也是值得讚賞的地方,火狐好像在JavaScript處理還是舊引擎我還是來觀望把
meat
火狐狸
火狐狸
  • UID35020
  • 注册日期2011-01-06
  • 最后登录2024-04-29
  • 发帖数267
  • 经验200枚
  • 威望0点
  • 贡献值106点
  • 好评度16点
2楼#
发布于:2017-02-27 20:47
有没有demo页面示范一下有没有这个特性的效率区别?
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
3楼#
发布于:2017-02-27 22:44
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
4楼#
发布于:2017-03-01 00:36
hacks.mozilla.org 连发 6 篇
第一篇
https://hacks.mozilla.org/2017/02/a-cartoon-intro-to-webassembly/

WebAssembly 会长这样……
https://developer.mozilla.org/en-US/docs/WebAssembly/Understanding_the_text_format
感觉恶意代码马上就会利用上了
本来 javascript 是明文
最多混淆下让人分析起来麻烦点
现在这 WebAssembly 一用
啧啧
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-10-28
  • 发帖数18486
  • 经验4840枚
  • 威望5点
  • 贡献值4316点
  • 好评度1117点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
5楼#
发布于:2017-03-01 09:58
aaaa007cn:hacks.mozilla.org 连发 6 篇
第一篇
https://hacks.mozilla.org/2017/02/a-cartoon-intro-to-webassembly/

WebAssembly 会长这样……
https...
回到原帖
对这个不熟悉,不过既然也是mozilla参与制定,肯定会写文章力推的。而且这么多大公司一起推动还有w3c,很可能以后就是标准了
Firefox More than meets your experience
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
6楼#
发布于:2017-03-01 12:09
Mozilla力推的原因是这个在Firefox上的性能异常出众 把其他浏览器的同等实现秒了几个时代
http://pcxfirefox.wordpress.com/
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
7楼#
发布于:2017-03-01 22:02
可是并不是是 w3c、标准的就是好的
印软、狗借助市占率强行喂屎又不是一次两次了
比如 Battery Status API

总之
WebAssembly 之后也不是无法分析恶意代码了
只是难度会比现在高 2、3 个数量级

就好比调试 firefox 有源码、有 symbol 文件时
要比直接看汇编省时省力多了
lord
非常火狐
非常火狐
  • UID6208
  • 注册日期2005-05-21
  • 最后登录2024-03-27
  • 发帖数634
  • 经验81枚
  • 威望0点
  • 贡献值12点
  • 好评度3点
  • 社区居民
  • 忠实会员
8楼#
发布于:2017-03-02 08:36
aaaa007cn:可是并不是是 w3c、标准的就是好的
印软、狗借助市占率强行喂屎又不是一次两次了
比如 Battery Status API

总之
WebAssembly 之后也不是无法分析恶意代码了
只是难度会比现在高 2、3 个数量级
...
回到原帖
浏览器的调试工具肯定会支持的吧,应该还能把明文导出来
心想事成,人生如梦
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
9楼#
发布于:2017-03-08 01:16
lord:浏览器的调试工具肯定会支持的吧,应该还能把明文导出来回到原帖
wast 和 wasm 可以互相转换
http://webassembly.org/docs/faq/#will-webassembly-support-view-source-on-the-web
调试工具应该可以自动把 wasm 显示为 wast
但绝对不可能导出源码的
不然反向工程就不会是项技术+体力活

http://webassembly.org/docs/text-format/#debug-symbol-integration
编译时有可能可以选择生成 debug symbol 来方便调试
不过我觉得绝大部分网站不会提供

https://hacks.mozilla.org/2016/10/webassembly-browser-preview/
看视频的示例
从 c/c++ 编译时会进行优化
不同的源码是有可能得到同样的结果
同样的源码通过不同编译器也可能会产生不同的结果
此外
来源不光是 c/c++
还有其他各种编译、解释语言
http://webassembly.org/docs/tooling/
即使假设可以导出源码
那么导出源码时又应该导出到哪种语言?
lord
非常火狐
非常火狐
  • UID6208
  • 注册日期2005-05-21
  • 最后登录2024-03-27
  • 发帖数634
  • 经验81枚
  • 威望0点
  • 贡献值12点
  • 好评度3点
  • 社区居民
  • 忠实会员
10楼#
发布于:2017-03-08 12:24
aaaa007cn:wast 和 wasm 可以互相转换
http://webassembly.org/docs/faq/#will-webassembly-support-view-source-on-the-web
调试工具应该可以自动把 wasm 显...
回到原帖
之前没仔细看,原来针对的是JavaScript,动态部分。看来网页的静态部分不怎么受影响?
没开发过前端,很多一知半解
心想事成,人生如梦
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
11楼#
发布于:2017-03-09 01:18
lord:之前没仔细看,原来针对的是JavaScript,动态部分。看来网页的静态部分不怎么受影响?
没开发过前端,很多一知半解
回到原帖
什么是动态部分?静态部分?

目前 WebAssembly 无法替代 javascript
因为 WebAssembly 仍需通过 javascript 加载
不过有计划让 WebAssembly 可以绕过 javascript 直接运行

此外 WebAssembly 目前无法操作 DOM
同样有计划让 WebAssembly 直接操作 DOM
meat
火狐狸
火狐狸
  • UID35020
  • 注册日期2011-01-06
  • 最后登录2024-04-29
  • 发帖数267
  • 经验200枚
  • 威望0点
  • 贡献值106点
  • 好评度16点
12楼#
发布于:2017-03-11 01:50
这个推广问题最大的就是一下子把现在网页的基本元素本地明文变成部分编译后的东西吧。之前大规模流行的在网页上加载的编译二进制文件是flash 吧。

如果真的应用广了,会不会又是 强大 -> 滥用 -> 加限制 ->越来越复杂的循环?
yfdyh000
千年狐狸
千年狐狸
  • UID29079
  • 注册日期2009-06-07
  • 最后登录2022-05-18
  • 发帖数2262
  • 经验1390枚
  • 威望0点
  • 贡献值52点
  • 好评度139点
  • 社区居民
  • 最爱沙发
  • 忠实会员
13楼#
发布于:2017-03-11 03:32
meat:这个推广问题最大的就是一下子把现在网页的基本元素本地明文变成部分编译后的东西吧。之前大规模流行的在网页上加载的编译二进制文件是flash 吧。

如果真的应用广了,会不会又是 强大 -> 滥用 -> 加限制 ->越来越复杂的循环?
回到原帖
普通元素不用换,就是高性能部分用其他语言编写之后嵌入进来,就像程序中嵌入汇编。

如果被滥用,可以限制能力,或者Click to Play吧。
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2022-03-07
  • 发帖数1924
  • 经验1138枚
  • 威望1点
  • 贡献值232点
  • 好评度164点
14楼#
发布于:2017-03-11 22:54
meat:这个推广问题最大的就是一下子把现在网页的基本元素本地明文变成部分编译后的东西吧。之前大规模流行的在网页上加载的编译二进制文件是flash 吧。

如果真的应用广了,会不会又是 强大 -> 滥用 -> 加限制 ->越来越复杂的循环?
回到原帖
虽然 wasm 是二进制的
但是它可以和纯文本的 wast 互相无损转换
从字面上来说
这仍然是明文

现在的 javascript 也有 packer、obfuscater
也没见有人(除去伟大领袖 RMS 教主)出来指责啊

WebAssembly 是一定会被滥用的
毕竟它效率又高
分析起来又费时费力
而网站只要稍微改一下源码
你很可能就得从头来过
太适合被滥用了

不如说
不算目前不是所有浏览器都支持和门槛比 javascript 稍高这两点外
你倒是给我个不去滥用它的理由啊

另外
别忘了当初宣传口号“write once, run anywhere”的 java(java applet)
上一页
游客

返回顶部