本周发布的 Firefox 52 加入了对 WebAssembly 的支持
JavaScript 精粹提到:大多数编程语言都有精华和糟粕, JavaScript 中的糟粕的比重超出了预料。
虽然很多人不大愿意写 JavaSript ,但是 JavaScript 作为 Web 的'标准语'又无法避开。于是几乎所有主流的通用语言都可以编译成 JavaScript , Babel 也成为非常流行的编译器
面对 Web 开发中的混乱,程序员们想出了很多方法,比如
不用写 JavaScript ,你们高兴吗?
1
loading 2017-03-14 14:37:57 +08:00 via Android
请先装工具链……
而且你装的时候,可能会遇到假的安装教程或安装包,一直报错。 |
2
echo1937 2017-03-14 14:47:06 +08:00
现在有什么语言支持 WebAssembly 了吗?
|
3
visonme 2017-03-14 14:49:55 +08:00
去年接触过一段 asm.js ,后面放弃了,使用上不习惯, webassembly 看了下,发现更加不习惯额
|
4
ChefIsAwesome 2017-03-14 14:50:35 +08:00
我们假设下一代 javascript 的速度是现在的十倍, web 有什么变化?
|
5
Kilerd 2017-03-14 16:32:12 +08:00
对对对,你说的都对。 Javascirpt 最好了。
|
6
oyjc 2017-03-14 16:43:35 +08:00
目前支持编译到 WASM 的有: C/C++/RUST
等下一个版本支持 GC 和 DOM/API 的时候,就可以入坑完全弃掉 JS 了。 |
7
SuperMild 2017-03-14 17:00:08 +08:00
也许到 JS 变成可选项的时候,大家才会发现 JS 的优秀吧。
|
9
beginor 2017-03-14 20:19:07 +08:00 via Android
会不会成为下一个 Applet , Silverlight 或者 Flash ?
|
10
SourceMan 2017-03-14 20:21:22 +08:00 via iPhone 2
小程序没出来的时候也被捧上天
|
11
ibufu 2017-03-14 21:24:28 +08:00
卧槽,感觉要失业了
|
12
oyjc 2017-03-14 21:25:16 +08:00
@echo1937 API 和 DOM 一样,都是现有的,并非 WASM 再造一个 API 。跟 JS 一样, WASM 可直接引用。
|
13
murmur 2017-03-14 21:31:02 +08:00
想多了 flash 和 html5 现在别说半壁江山了 估计 flash 都是 6
至于什么 webasm 都没谱。。 |
14
murmur 2017-03-14 21:32:34 +08:00
不过 webasm 的意义,就是 10 年后谁再跟你说 java 和 javascript 没关系你可以抽他脸,到时候你能自豪的说你写的是 JAVAscript 不是 javascript
|
16
YvesX 2017-03-15 00:09:20 +08:00 2
每天醒来都有新的 X.js 正在成为主流,切实感受到了大家为了避免混乱所付出的巨大努力。
|
17
a87150 2017-03-15 00:21:05 +08:00 via Android
感觉写 js 真辛苦
|
18
klausgao 2017-03-15 05:40:59 +08:00 via iPhone
写着写着也就习惯了,其实我只是单纯喜欢码字和解决问题。
|
19
rashawn 2017-03-15 08:18:00 +08:00 via iPhone
@ChefIsAwesome 那拿 node 跑就比 c 语言快了 你说啥变化……
|
20
int64ago 2017-03-15 09:37:09 +08:00
很多人讨论偏离了 WASM 的初衷,它主要是为了解决性能问题,其它语言转过来只是顺便可以这样做而已,而且转换的过程都是靠工具链,也不会真的让你去写什么恐怖的代码,只是限制了些语法而已
|
21
int64ago 2017-03-15 09:39:14 +08:00
简单说,如果应用中一些关键点有性能问题,或者其它语言有更好的实现,那么 WASM 显然就很合适做这个事了,但是你好好的一个 Web 应用,大多数时候是用不到这个的,反而一样新出的的 Service Worker 就更接近普通人了
|
22
ChefIsAwesome 2017-03-15 10:07:11 +08:00
@rashawn 这东西是 web 端啊。因为浏览器上只能跑 js ,所以这东西出来才那么多人觉得有意思。再接着你说的问题,服务器上不止 node 一个选择,为啥那么多人选 node 呢?
说到底,语言跑得快或慢,真的那么重要吗?绝大多数场景下的性能瓶颈都不在语言那吧。 |
23
hronro 2017-03-15 10:09:10 +08:00
[TypeScript 、 ECMAScript 、 CoffeeScript 等、:更好的 JavaScript]
你知道 ECMAScript 是什么吗? |
24
droiz 2017-03-15 10:23:15 +08:00
个人认为还早。
WebAssembly 虽然现在已经完成第一阶段开发,但如果编译到 js ,体积膨胀太大,一个简单的 int add(int ,int); 开 O3 都能达到 400kb 左右,别提更复杂的 c/c++代码,当然随着源码体积的增大,编译产生的副产物大小影响会减小,但体积确实是编译到 js 的一个大问题。如果编译到 wasm ,目前只支持 int,float 等四种简单的数据类型,指针等目前还都不支持,可用性大大受限,但是它解决了编译尺寸问题。 所以目前 WebAssembly 具有可用性的地方只有游戏,视频这些对文件尺寸不敏感,性能要求高的场景,想要全方位替代 js 还早。 |
25
rashawn 2017-03-15 11:15:57 +08:00 via iPhone
@ChefIsAwesome 我只是根据你假设的那句话来的啊 如果硬件不变的前提下 js 快了 10 倍 说明已经变的跟 c 很像了啊
|
26
murmur 2017-03-15 11:19:12 +08:00
@droiz 游戏有 unity ,有 cocos ,有 cryengine ,有 unreal ,各家都是先出产品再给钱的策略
不知道 h5 以及相关技术有什么竞争力 你说的是微信里的小游戏么。。 我玩的最好玩的 h5 游戏是钦定的小鸟 |
27
murmur 2017-03-15 11:21:17 +08:00
@int64ago 浏览器就老实做浏览器的事, java 和 c++的性能和场景都讨论了这么多年了,想要性能 c++、汇编走起
总有一些前端想妄想一统江山,用 c++写 web 的又不是没有, hadoop java 的也有公司用 c++重构, js 以及 js 衍生物咋就那么香呢 |
28
Cbdy OP @hronro 我知道 es 是什么,我这里把 es 与 js 分开说主要是为了区分标准与实现
es 也作出过一些努力,比如'use strict'。但是标准仅仅是标准,只是一个建议, js 的实现掌控在大厂手里 |
29
hronro 2017-03-15 11:30:18 +08:00
@Cbdy #28 但你这么说,很容易让人产生误解。
`JavaScript 中的糟粕的比重超出了预料`,这其中的糟粕,其实都是 ECMAScript 标准定义而产生的,所以把 ECMAScript 放到`better JavaScript`中去未免有些牵强 |
34
pathen 2017-03-15 19:31:13 +08:00 via Android
首先受益的应该是 webgl
|