大势所趋,WebAssembly 将统一浏览器编译格式

来源: 投稿
作者: 王练
2017-06-09

被 Safari、App Store 以及许多其他 OS X、iOS 和 Linux 应用所广泛使用的开源 Web 浏览器引擎 WebKit ,如今有了完整的 WebAssembly 部署能力。就在上周,Google Chrome 也宣布将停止支持 PNaCl ,拥抱 WebAssembly ,并表示因为考虑到跨浏览器支持乃是大势所趋,今后主要依靠 WebAssembly 构建原生代码。

WebAssembly 是用于 Web 编译的新型便携式格式。它为高效而设计,针对体积和载入时间进行了优化。WebAssembly 的官方博客表示,该格式支持 C++ 等语言,它处理 C++ 代码的速度甚至可以接近原生速度。它建立在 asm.js 实现之上,提供了一个“自动备份,沙盒执行环境”,但等值的二进制格式更小,并且不再需要解析 JavaScript 。

官方 Demo

Chrome 和 Firefox 浏览器目前完全支持 WebAssembly ,随着 WebKit 的完整 WebAssembly 实现,Safari 浏览器也将很快包含对 WebAssembly 的支持(Safari 预览版本已支持)。这些主流浏览器的支持,也将带动建立围绕 WebAssembly 的生态系统,为新一代可在任何浏览器中快速运行的沉浸式网络应用奠定基础。

对于此技术,你持怎样的看法?欢迎留言评论!

>>>【评论有礼】6月6日-30日评论每日更新的“新闻资讯和软件更新资讯”,评论点赞数超过 20 的可登上每周更新的“源资讯”和“软件周刊”两大栏目,点赞数超过 50 的还将获得 5 活跃积分奖励和开源中国定制好礼。详情

展开阅读全文
36 收藏
分享
加载中
精彩评论
webasm是一种类似java编译好的中间码一样的东西,运行起来比js脚本快很多,因为是一种标准,所以任何语言只要编译能这种码都能在浏览器中运行,就像基于java虚拟机的语言有很多一样。等普及开来了,浏览器可能取消js作为脚本运行,大家都要编译成webasm
2017-06-09 08:41
12
举报

引用来自“eechen”的评论

WebAssembly跨浏览器,意味着基于WebAssembly的游戏等应用也能轻松运行在Linux桌面上,就像Flash游戏一样.
WebAssembly性能应该要比Flash好很多,毕竟Flash使用的ActionScript是一门有GC的脚本语言,
而WebAssembly项目却能把C/C++代码编译成高性能且跨浏览器的wasm格式,完全架空了JS.
这个 @eechen 就是个笑话,天天要喊着吊打,结果现在挂在树上惨遭吊打,屁都不敢放一个,又一个神棍被拉下神坛 --via FalconChen . 有链接有真相: https://www.oschina.net/question/253880_2236467
2017-06-09 15:01
5
举报
Chrome都要放弃别的方式主推这个做扩展了,浏览器端未来不可限量啊
2017-06-09 08:33
4
举报
WebAssembly跨浏览器,意味着基于WebAssembly的游戏等应用也能轻松运行在Linux桌面上,就像Flash游戏一样.
WebAssembly性能应该要比Flash好很多,毕竟Flash使用的ActionScript是一门有GC的脚本语言,
而WebAssembly项目却能把C/C++代码编译成高性能且跨浏览器的wasm格式,完全架空了JS.
2017-06-09 15:01
2
举报
最新评论 (42)
JavaScript是无类型的解释语言,执行一次代码大概是这样:JavaScript->字节码->机器码(JIT)->执行。 有了WebAssembly之后,就变成:wams.bin->执行。速度快,体积小。曾经看到有人把JavaScript弄成BASE64,Android客户端随便点击一下就几兆流量,坑爹。WASM系列的东西详细可以看:https://segmentfault.com/a/1190000008714589。

2017-06-13 18:53
0
回复
举报

引用来自“eechen”的评论

WebAssembly跨浏览器,意味着基于WebAssembly的游戏等应用也能轻松运行在Linux桌面上,就像Flash游戏一样.
WebAssembly性能应该要比Flash好很多,毕竟Flash使用的ActionScript是一门有GC的脚本语言,
而WebAssembly项目却能把C/C++代码编译成高性能且跨浏览器的wasm格式,完全架空了JS.

引用来自“乌龟壳”的评论

一直在流口水,支持webassembly后可以不用js开发web程序了。现在weassembly还在弄gc那些东西,以后java那些可以直接编译成wa

引用来自“eechen”的评论

像DOM操作这种应该还是需要用JS的吧.主要是浏览器里需要高性能的场景应该是没JS的份了吧.

引用来自“乌龟壳”的评论

只要WA暴露出来操作DOM的API,JS就可以一点不碰了。asm.js连opengl的api都暴露出来的,应该DOM也会吧

引用来自“AutoPlus”的评论

你这种美梦真的是想多了,kotlin,nim 现在都能直接编译成 js,你可以用他们开发下 web 前端的程序感受下。WebAssembly 用来开发 opengl 那些重型 3D 游戏才是真的场景。

引用来自“乌龟壳”的评论

回复@AutoPlus : 不要臆测我是做普通网站的行吗?基本做的都是重型js应用,被折腾得吐血

引用来自“AutoPlus”的评论

你去用 C++ Java 写个 DOM 试试。别的不说,就拿 Java 的 Swing,写个 Button 有多花时间,难道感觉不出来吗? 现在浏览器的价值不在 js,而在于 CSS 和 DOM 这两个东西,js 只是给你给动态改变 CSS 和 DOM 的机制。js 就如同 Unix Linux 的 Shell。你会用 C++ Java 写 Shell 吗?

引用来自“乌龟壳”的评论

我们做的重头戏都是用js的,做的是一款绘图有关的东西。别再假设我是做普通页面的,就算特别喜欢玩前段的饿了么也不属于我定义的重型。

引用来自“AutoPlus”的评论

绘图有关?WebGL GLSL 顶点着色器的项目我都玩过,不知道算不算“普通”呢? 你这么不“普通”啊,就你这点 js 道行,也配在我面前装。你说画图,不就是那点库,JS 的 threejs,d3,chart,Python 的 matplot,numpy。你是自己实现绘图原语啊还是着色器啊? 就这种数据驱动的玩意,也有脸“别再假设我是做普通页面的”,我呸!

引用来自“乌龟壳”的评论

你不过就是个玩家而已,现实做项目常用的技术就那几个,主要是功能的开发。js对于不断膨胀的项目管理起来比静态语言麻烦很多。扯那么多浏览器技术关JS什么事?

而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢。但是用现成的属性去做功能性有时候不够。

言尽于此,你想刷存在感就刷,懒得再回你了。

引用来自“AutoPlus”的评论

“而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢”,说这句话不是扯吊胆吗?你用 js 能做特效? js 只是改变 css 的属性,特效的实现是通过 css 实现。css 能动态改变的时候,当然用 css,css 不能动态改变的地方,自然用 js。你有点脑子吗? 评论一个技术先搞清楚基本常识。就你写的这点破东西,自己觉得上了天了。用点图形库,刷上点 xml,json 之类的数据,给你渲染出来好多图,立马觉得自己高大上了? 你还真是个小孩,没做过什么像样的东西吗? OpenCL 玩过吗? CUDA 玩过吗?

引用来自“乌龟壳”的评论

虽然你后面说的都在刷存在感,但看你前面说得那么具体,就回下你。

上千个SVG图形,然后用户拖了个“孔”上去,要添加只存在于其中的某几层的孔,你要怎么做?所谓孔,就是挖出一个透明的空间,所有孔涉及的SVG图元都要作相应的裁剪。

svg的做法是用mask,但是mask全部元素性能损耗太大,找到具体哪些受影响就需要rtree算法,这就是一个性能压力点,如果用WA会有更好的效果,别告诉我浏览器实现了rtree,它没提供API给我。

另外mask其实是做相册之类边框虚化那些的,根本没为上百个孔的场景作优化。那么多重叠的mask浏览器本身的计算压力也是很大的,实际只要一次性裁剪过就好了。图形裁剪的算法别跟我提用像素,我这都是矢量的,随时缩放不可能把像素运算作为中间结果。

具体我们也没找到好办法,这就是我说的性能。

至于十几万行js代码做的那么多功能,管理起来头痛我觉得反而是你没经验,只是做些普通的网站或者玩具级的d3d demo就觉得js万能了。

引用来自“AutoPlus”的评论

你编程经验几年啊? 数据是数据,渲染是渲染,懂不懂? 至于数据,有 ArrayBuffer, Int8Buffer, Int32Array, ... 对应 C 语言的 void* [],int8, int,你要的字节级别的数据结构都存在。会用吗?

数据 ---> 渲染 ---> 捕捉 ---> 计算数据,得出新的数据,更新数据 ---> 渲染

用你的数据算出你需要的新数据,然后用 svg 绘制。自己连基本的编程常识不懂,怪库咯???

引用来自“乌龟壳”的评论

我说实际的例子了,你除了空口说乱七八糟不相关的东西,可否说一个我提出问题的解决方法打打我的脸?求打脸啊。

引用来自“AutoPlus”的评论

数据 ---> 渲染 ---> 捕捉 ---> 计算数据,得出新的数据,更新数据 ---> 渲染 就是解决方法。你这种菜鸟不懂很正常,用惯了框架,连基本的数据结构的设计和算法都不会。你知道什么叫 programming design 吗? 基本的二分查找,归并,旋转,自顶向下,自顶向上,会不会? 链表,栈,队列,散列,集合,自己会不会实现? 这些基本的编程常识就是解决方法。

你把你的代码贴到 OSC@Git 上,哥给你个解决方法分分钟教你怎么做 Software Engineer。
http://git.oschina.net/wuguike/svgwakong

大哥请指点
2017-06-12 15:06
0
回复
举报

引用来自“eechen”的评论

WebAssembly跨浏览器,意味着基于WebAssembly的游戏等应用也能轻松运行在Linux桌面上,就像Flash游戏一样.
WebAssembly性能应该要比Flash好很多,毕竟Flash使用的ActionScript是一门有GC的脚本语言,
而WebAssembly项目却能把C/C++代码编译成高性能且跨浏览器的wasm格式,完全架空了JS.

引用来自“乌龟壳”的评论

一直在流口水,支持webassembly后可以不用js开发web程序了。现在weassembly还在弄gc那些东西,以后java那些可以直接编译成wa

引用来自“eechen”的评论

像DOM操作这种应该还是需要用JS的吧.主要是浏览器里需要高性能的场景应该是没JS的份了吧.

引用来自“乌龟壳”的评论

只要WA暴露出来操作DOM的API,JS就可以一点不碰了。asm.js连opengl的api都暴露出来的,应该DOM也会吧

引用来自“AutoPlus”的评论

你这种美梦真的是想多了,kotlin,nim 现在都能直接编译成 js,你可以用他们开发下 web 前端的程序感受下。WebAssembly 用来开发 opengl 那些重型 3D 游戏才是真的场景。

引用来自“乌龟壳”的评论

回复@AutoPlus : 不要臆测我是做普通网站的行吗?基本做的都是重型js应用,被折腾得吐血

引用来自“AutoPlus”的评论

你去用 C++ Java 写个 DOM 试试。别的不说,就拿 Java 的 Swing,写个 Button 有多花时间,难道感觉不出来吗? 现在浏览器的价值不在 js,而在于 CSS 和 DOM 这两个东西,js 只是给你给动态改变 CSS 和 DOM 的机制。js 就如同 Unix Linux 的 Shell。你会用 C++ Java 写 Shell 吗?

引用来自“乌龟壳”的评论

我们做的重头戏都是用js的,做的是一款绘图有关的东西。别再假设我是做普通页面的,就算特别喜欢玩前段的饿了么也不属于我定义的重型。

引用来自“AutoPlus”的评论

绘图有关?WebGL GLSL 顶点着色器的项目我都玩过,不知道算不算“普通”呢? 你这么不“普通”啊,就你这点 js 道行,也配在我面前装。你说画图,不就是那点库,JS 的 threejs,d3,chart,Python 的 matplot,numpy。你是自己实现绘图原语啊还是着色器啊? 就这种数据驱动的玩意,也有脸“别再假设我是做普通页面的”,我呸!

引用来自“乌龟壳”的评论

你不过就是个玩家而已,现实做项目常用的技术就那几个,主要是功能的开发。js对于不断膨胀的项目管理起来比静态语言麻烦很多。扯那么多浏览器技术关JS什么事?

而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢。但是用现成的属性去做功能性有时候不够。

言尽于此,你想刷存在感就刷,懒得再回你了。

引用来自“AutoPlus”的评论

“而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢”,说这句话不是扯吊胆吗?你用 js 能做特效? js 只是改变 css 的属性,特效的实现是通过 css 实现。css 能动态改变的时候,当然用 css,css 不能动态改变的地方,自然用 js。你有点脑子吗? 评论一个技术先搞清楚基本常识。就你写的这点破东西,自己觉得上了天了。用点图形库,刷上点 xml,json 之类的数据,给你渲染出来好多图,立马觉得自己高大上了? 你还真是个小孩,没做过什么像样的东西吗? OpenCL 玩过吗? CUDA 玩过吗?

引用来自“乌龟壳”的评论

虽然你后面说的都在刷存在感,但看你前面说得那么具体,就回下你。

上千个SVG图形,然后用户拖了个“孔”上去,要添加只存在于其中的某几层的孔,你要怎么做?所谓孔,就是挖出一个透明的空间,所有孔涉及的SVG图元都要作相应的裁剪。

svg的做法是用mask,但是mask全部元素性能损耗太大,找到具体哪些受影响就需要rtree算法,这就是一个性能压力点,如果用WA会有更好的效果,别告诉我浏览器实现了rtree,它没提供API给我。

另外mask其实是做相册之类边框虚化那些的,根本没为上百个孔的场景作优化。那么多重叠的mask浏览器本身的计算压力也是很大的,实际只要一次性裁剪过就好了。图形裁剪的算法别跟我提用像素,我这都是矢量的,随时缩放不可能把像素运算作为中间结果。

具体我们也没找到好办法,这就是我说的性能。

至于十几万行js代码做的那么多功能,管理起来头痛我觉得反而是你没经验,只是做些普通的网站或者玩具级的d3d demo就觉得js万能了。

引用来自“AutoPlus”的评论

你编程经验几年啊? 数据是数据,渲染是渲染,懂不懂? 至于数据,有 ArrayBuffer, Int8Buffer, Int32Array, ... 对应 C 语言的 void* [],int8, int,你要的字节级别的数据结构都存在。会用吗?

数据 ---> 渲染 ---> 捕捉 ---> 计算数据,得出新的数据,更新数据 ---> 渲染

用你的数据算出你需要的新数据,然后用 svg 绘制。自己连基本的编程常识不懂,怪库咯???

引用来自“乌龟壳”的评论

我说实际的例子了,你除了空口说乱七八糟不相关的东西,可否说一个我提出问题的解决方法打打我的脸?求打脸啊。
数据 ---> 渲染 ---> 捕捉 ---> 计算数据,得出新的数据,更新数据 ---> 渲染 就是解决方法。你这种菜鸟不懂很正常,用惯了框架,连基本的数据结构的设计和算法都不会。你知道什么叫 programming design 吗? 基本的二分查找,归并,旋转,自顶向下,自顶向上,会不会? 链表,栈,队列,散列,集合,自己会不会实现? 这些基本的编程常识就是解决方法。

你把你的代码贴到 OSC@Git 上,哥给你个解决方法分分钟教你怎么做 Software Engineer。
2017-06-12 14:26
0
回复
举报

引用来自“eechen”的评论

WebAssembly跨浏览器,意味着基于WebAssembly的游戏等应用也能轻松运行在Linux桌面上,就像Flash游戏一样.
WebAssembly性能应该要比Flash好很多,毕竟Flash使用的ActionScript是一门有GC的脚本语言,
而WebAssembly项目却能把C/C++代码编译成高性能且跨浏览器的wasm格式,完全架空了JS.

引用来自“乌龟壳”的评论

一直在流口水,支持webassembly后可以不用js开发web程序了。现在weassembly还在弄gc那些东西,以后java那些可以直接编译成wa

引用来自“eechen”的评论

像DOM操作这种应该还是需要用JS的吧.主要是浏览器里需要高性能的场景应该是没JS的份了吧.

引用来自“乌龟壳”的评论

只要WA暴露出来操作DOM的API,JS就可以一点不碰了。asm.js连opengl的api都暴露出来的,应该DOM也会吧

引用来自“AutoPlus”的评论

你这种美梦真的是想多了,kotlin,nim 现在都能直接编译成 js,你可以用他们开发下 web 前端的程序感受下。WebAssembly 用来开发 opengl 那些重型 3D 游戏才是真的场景。

引用来自“乌龟壳”的评论

回复@AutoPlus : 不要臆测我是做普通网站的行吗?基本做的都是重型js应用,被折腾得吐血

引用来自“AutoPlus”的评论

你去用 C++ Java 写个 DOM 试试。别的不说,就拿 Java 的 Swing,写个 Button 有多花时间,难道感觉不出来吗? 现在浏览器的价值不在 js,而在于 CSS 和 DOM 这两个东西,js 只是给你给动态改变 CSS 和 DOM 的机制。js 就如同 Unix Linux 的 Shell。你会用 C++ Java 写 Shell 吗?

引用来自“乌龟壳”的评论

我们做的重头戏都是用js的,做的是一款绘图有关的东西。别再假设我是做普通页面的,就算特别喜欢玩前段的饿了么也不属于我定义的重型。

引用来自“AutoPlus”的评论

绘图有关?WebGL GLSL 顶点着色器的项目我都玩过,不知道算不算“普通”呢? 你这么不“普通”啊,就你这点 js 道行,也配在我面前装。你说画图,不就是那点库,JS 的 threejs,d3,chart,Python 的 matplot,numpy。你是自己实现绘图原语啊还是着色器啊? 就这种数据驱动的玩意,也有脸“别再假设我是做普通页面的”,我呸!

引用来自“乌龟壳”的评论

你不过就是个玩家而已,现实做项目常用的技术就那几个,主要是功能的开发。js对于不断膨胀的项目管理起来比静态语言麻烦很多。扯那么多浏览器技术关JS什么事?

而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢。但是用现成的属性去做功能性有时候不够。

言尽于此,你想刷存在感就刷,懒得再回你了。

引用来自“AutoPlus”的评论

“而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢”,说这句话不是扯吊胆吗?你用 js 能做特效? js 只是改变 css 的属性,特效的实现是通过 css 实现。css 能动态改变的时候,当然用 css,css 不能动态改变的地方,自然用 js。你有点脑子吗? 评论一个技术先搞清楚基本常识。就你写的这点破东西,自己觉得上了天了。用点图形库,刷上点 xml,json 之类的数据,给你渲染出来好多图,立马觉得自己高大上了? 你还真是个小孩,没做过什么像样的东西吗? OpenCL 玩过吗? CUDA 玩过吗?

引用来自“乌龟壳”的评论

虽然你后面说的都在刷存在感,但看你前面说得那么具体,就回下你。

上千个SVG图形,然后用户拖了个“孔”上去,要添加只存在于其中的某几层的孔,你要怎么做?所谓孔,就是挖出一个透明的空间,所有孔涉及的SVG图元都要作相应的裁剪。

svg的做法是用mask,但是mask全部元素性能损耗太大,找到具体哪些受影响就需要rtree算法,这就是一个性能压力点,如果用WA会有更好的效果,别告诉我浏览器实现了rtree,它没提供API给我。

另外mask其实是做相册之类边框虚化那些的,根本没为上百个孔的场景作优化。那么多重叠的mask浏览器本身的计算压力也是很大的,实际只要一次性裁剪过就好了。图形裁剪的算法别跟我提用像素,我这都是矢量的,随时缩放不可能把像素运算作为中间结果。

具体我们也没找到好办法,这就是我说的性能。

至于十几万行js代码做的那么多功能,管理起来头痛我觉得反而是你没经验,只是做些普通的网站或者玩具级的d3d demo就觉得js万能了。

引用来自“AutoPlus”的评论

你编程经验几年啊? 数据是数据,渲染是渲染,懂不懂? 至于数据,有 ArrayBuffer, Int8Buffer, Int32Array, ... 对应 C 语言的 void* [],int8, int,你要的字节级别的数据结构都存在。会用吗?

数据 ---> 渲染 ---> 捕捉 ---> 计算数据,得出新的数据,更新数据 ---> 渲染

用你的数据算出你需要的新数据,然后用 svg 绘制。自己连基本的编程常识不懂,怪库咯???
我说实际的例子了,你除了空口说乱七八糟不相关的东西,可否说一个我提出问题的解决方法打打我的脸?求打脸啊。
2017-06-12 12:22
0
回复
举报

引用来自“eechen”的评论

WebAssembly跨浏览器,意味着基于WebAssembly的游戏等应用也能轻松运行在Linux桌面上,就像Flash游戏一样.
WebAssembly性能应该要比Flash好很多,毕竟Flash使用的ActionScript是一门有GC的脚本语言,
而WebAssembly项目却能把C/C++代码编译成高性能且跨浏览器的wasm格式,完全架空了JS.

引用来自“乌龟壳”的评论

一直在流口水,支持webassembly后可以不用js开发web程序了。现在weassembly还在弄gc那些东西,以后java那些可以直接编译成wa

引用来自“eechen”的评论

像DOM操作这种应该还是需要用JS的吧.主要是浏览器里需要高性能的场景应该是没JS的份了吧.

引用来自“乌龟壳”的评论

只要WA暴露出来操作DOM的API,JS就可以一点不碰了。asm.js连opengl的api都暴露出来的,应该DOM也会吧

引用来自“AutoPlus”的评论

你这种美梦真的是想多了,kotlin,nim 现在都能直接编译成 js,你可以用他们开发下 web 前端的程序感受下。WebAssembly 用来开发 opengl 那些重型 3D 游戏才是真的场景。

引用来自“乌龟壳”的评论

回复@AutoPlus : 不要臆测我是做普通网站的行吗?基本做的都是重型js应用,被折腾得吐血

引用来自“AutoPlus”的评论

你去用 C++ Java 写个 DOM 试试。别的不说,就拿 Java 的 Swing,写个 Button 有多花时间,难道感觉不出来吗? 现在浏览器的价值不在 js,而在于 CSS 和 DOM 这两个东西,js 只是给你给动态改变 CSS 和 DOM 的机制。js 就如同 Unix Linux 的 Shell。你会用 C++ Java 写 Shell 吗?

引用来自“乌龟壳”的评论

我们做的重头戏都是用js的,做的是一款绘图有关的东西。别再假设我是做普通页面的,就算特别喜欢玩前段的饿了么也不属于我定义的重型。

引用来自“AutoPlus”的评论

绘图有关?WebGL GLSL 顶点着色器的项目我都玩过,不知道算不算“普通”呢? 你这么不“普通”啊,就你这点 js 道行,也配在我面前装。你说画图,不就是那点库,JS 的 threejs,d3,chart,Python 的 matplot,numpy。你是自己实现绘图原语啊还是着色器啊? 就这种数据驱动的玩意,也有脸“别再假设我是做普通页面的”,我呸!

引用来自“乌龟壳”的评论

你不过就是个玩家而已,现实做项目常用的技术就那几个,主要是功能的开发。js对于不断膨胀的项目管理起来比静态语言麻烦很多。扯那么多浏览器技术关JS什么事?

而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢。但是用现成的属性去做功能性有时候不够。

言尽于此,你想刷存在感就刷,懒得再回你了。

引用来自“AutoPlus”的评论

“而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢”,说这句话不是扯吊胆吗?你用 js 能做特效? js 只是改变 css 的属性,特效的实现是通过 css 实现。css 能动态改变的时候,当然用 css,css 不能动态改变的地方,自然用 js。你有点脑子吗? 评论一个技术先搞清楚基本常识。就你写的这点破东西,自己觉得上了天了。用点图形库,刷上点 xml,json 之类的数据,给你渲染出来好多图,立马觉得自己高大上了? 你还真是个小孩,没做过什么像样的东西吗? OpenCL 玩过吗? CUDA 玩过吗?

引用来自“乌龟壳”的评论

虽然你后面说的都在刷存在感,但看你前面说得那么具体,就回下你。

上千个SVG图形,然后用户拖了个“孔”上去,要添加只存在于其中的某几层的孔,你要怎么做?所谓孔,就是挖出一个透明的空间,所有孔涉及的SVG图元都要作相应的裁剪。

svg的做法是用mask,但是mask全部元素性能损耗太大,找到具体哪些受影响就需要rtree算法,这就是一个性能压力点,如果用WA会有更好的效果,别告诉我浏览器实现了rtree,它没提供API给我。

另外mask其实是做相册之类边框虚化那些的,根本没为上百个孔的场景作优化。那么多重叠的mask浏览器本身的计算压力也是很大的,实际只要一次性裁剪过就好了。图形裁剪的算法别跟我提用像素,我这都是矢量的,随时缩放不可能把像素运算作为中间结果。

具体我们也没找到好办法,这就是我说的性能。

至于十几万行js代码做的那么多功能,管理起来头痛我觉得反而是你没经验,只是做些普通的网站或者玩具级的d3d demo就觉得js万能了。

引用来自“AutoPlus”的评论

你编程经验几年啊? 数据是数据,渲染是渲染,懂不懂? 还提供你 rtree,My God!

数据 ---> 渲染 ---> 捕捉 ---> 计算数据,得出新的数据,更新数据 ---> 渲染

用你的数据算出你需要的新数据,然后用 svg 绘制。自己连基本的编程常识不懂,怪库咯???

引用来自“乌龟壳”的评论

图形裁剪凭空就能裁剪出来?要是用js裁剪性能够好,我干嘛会提WA?

行了不和你扯淡了,你根本就不知道我在说啥,自己活在自己的世界里。
真是个蠢蛋,数据和数据捕捉,然后更新数据。这么简单的东西都不懂?你连 tree 都没写过吗? 写个他娘的 svg 立马高大上了。你这辈子没写过其他的东西吗?
2017-06-12 12:16
0
回复
举报

引用来自“eechen”的评论

WebAssembly跨浏览器,意味着基于WebAssembly的游戏等应用也能轻松运行在Linux桌面上,就像Flash游戏一样.
WebAssembly性能应该要比Flash好很多,毕竟Flash使用的ActionScript是一门有GC的脚本语言,
而WebAssembly项目却能把C/C++代码编译成高性能且跨浏览器的wasm格式,完全架空了JS.

引用来自“乌龟壳”的评论

一直在流口水,支持webassembly后可以不用js开发web程序了。现在weassembly还在弄gc那些东西,以后java那些可以直接编译成wa

引用来自“eechen”的评论

像DOM操作这种应该还是需要用JS的吧.主要是浏览器里需要高性能的场景应该是没JS的份了吧.

引用来自“乌龟壳”的评论

只要WA暴露出来操作DOM的API,JS就可以一点不碰了。asm.js连opengl的api都暴露出来的,应该DOM也会吧

引用来自“AutoPlus”的评论

你这种美梦真的是想多了,kotlin,nim 现在都能直接编译成 js,你可以用他们开发下 web 前端的程序感受下。WebAssembly 用来开发 opengl 那些重型 3D 游戏才是真的场景。

引用来自“乌龟壳”的评论

回复@AutoPlus : 不要臆测我是做普通网站的行吗?基本做的都是重型js应用,被折腾得吐血

引用来自“AutoPlus”的评论

你去用 C++ Java 写个 DOM 试试。别的不说,就拿 Java 的 Swing,写个 Button 有多花时间,难道感觉不出来吗? 现在浏览器的价值不在 js,而在于 CSS 和 DOM 这两个东西,js 只是给你给动态改变 CSS 和 DOM 的机制。js 就如同 Unix Linux 的 Shell。你会用 C++ Java 写 Shell 吗?

引用来自“乌龟壳”的评论

我们做的重头戏都是用js的,做的是一款绘图有关的东西。别再假设我是做普通页面的,就算特别喜欢玩前段的饿了么也不属于我定义的重型。

引用来自“AutoPlus”的评论

绘图有关?WebGL GLSL 顶点着色器的项目我都玩过,不知道算不算“普通”呢? 你这么不“普通”啊,就你这点 js 道行,也配在我面前装。你说画图,不就是那点库,JS 的 threejs,d3,chart,Python 的 matplot,numpy。你是自己实现绘图原语啊还是着色器啊? 就这种数据驱动的玩意,也有脸“别再假设我是做普通页面的”,我呸!

引用来自“乌龟壳”的评论

你不过就是个玩家而已,现实做项目常用的技术就那几个,主要是功能的开发。js对于不断膨胀的项目管理起来比静态语言麻烦很多。扯那么多浏览器技术关JS什么事?

而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢。但是用现成的属性去做功能性有时候不够。

言尽于此,你想刷存在感就刷,懒得再回你了。

引用来自“AutoPlus”的评论

“而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢”,说这句话不是扯吊胆吗?你用 js 能做特效? js 只是改变 css 的属性,特效的实现是通过 css 实现。css 能动态改变的时候,当然用 css,css 不能动态改变的地方,自然用 js。你有点脑子吗? 评论一个技术先搞清楚基本常识。就你写的这点破东西,自己觉得上了天了。用点图形库,刷上点 xml,json 之类的数据,给你渲染出来好多图,立马觉得自己高大上了? 你还真是个小孩,没做过什么像样的东西吗? OpenCL 玩过吗? CUDA 玩过吗?

引用来自“乌龟壳”的评论

虽然你后面说的都在刷存在感,但看你前面说得那么具体,就回下你。

上千个SVG图形,然后用户拖了个“孔”上去,要添加只存在于其中的某几层的孔,你要怎么做?所谓孔,就是挖出一个透明的空间,所有孔涉及的SVG图元都要作相应的裁剪。

svg的做法是用mask,但是mask全部元素性能损耗太大,找到具体哪些受影响就需要rtree算法,这就是一个性能压力点,如果用WA会有更好的效果,别告诉我浏览器实现了rtree,它没提供API给我。

另外mask其实是做相册之类边框虚化那些的,根本没为上百个孔的场景作优化。那么多重叠的mask浏览器本身的计算压力也是很大的,实际只要一次性裁剪过就好了。图形裁剪的算法别跟我提用像素,我这都是矢量的,随时缩放不可能把像素运算作为中间结果。

具体我们也没找到好办法,这就是我说的性能。

至于十几万行js代码做的那么多功能,管理起来头痛我觉得反而是你没经验,只是做些普通的网站或者玩具级的d3d demo就觉得js万能了。
你编程经验几年啊? 数据是数据,渲染是渲染,懂不懂? 至于数据,有 ArrayBuffer, Int8Buffer, Int32Array, ... 对应 C 语言的 void* [],int8, int,你要的字节级别的数据结构都存在。会用吗?

数据 ---> 渲染 ---> 捕捉 ---> 计算数据,得出新的数据,更新数据 ---> 渲染

用你的数据算出你需要的新数据,然后用 svg 绘制。自己连基本的编程常识不懂,怪库咯???
2017-06-12 12:12
0
回复
举报

引用来自“eechen”的评论

WebAssembly跨浏览器,意味着基于WebAssembly的游戏等应用也能轻松运行在Linux桌面上,就像Flash游戏一样.
WebAssembly性能应该要比Flash好很多,毕竟Flash使用的ActionScript是一门有GC的脚本语言,
而WebAssembly项目却能把C/C++代码编译成高性能且跨浏览器的wasm格式,完全架空了JS.

引用来自“乌龟壳”的评论

一直在流口水,支持webassembly后可以不用js开发web程序了。现在weassembly还在弄gc那些东西,以后java那些可以直接编译成wa

引用来自“eechen”的评论

像DOM操作这种应该还是需要用JS的吧.主要是浏览器里需要高性能的场景应该是没JS的份了吧.

引用来自“乌龟壳”的评论

只要WA暴露出来操作DOM的API,JS就可以一点不碰了。asm.js连opengl的api都暴露出来的,应该DOM也会吧

引用来自“AutoPlus”的评论

你这种美梦真的是想多了,kotlin,nim 现在都能直接编译成 js,你可以用他们开发下 web 前端的程序感受下。WebAssembly 用来开发 opengl 那些重型 3D 游戏才是真的场景。

引用来自“乌龟壳”的评论

回复@AutoPlus : 不要臆测我是做普通网站的行吗?基本做的都是重型js应用,被折腾得吐血

引用来自“AutoPlus”的评论

你去用 C++ Java 写个 DOM 试试。别的不说,就拿 Java 的 Swing,写个 Button 有多花时间,难道感觉不出来吗? 现在浏览器的价值不在 js,而在于 CSS 和 DOM 这两个东西,js 只是给你给动态改变 CSS 和 DOM 的机制。js 就如同 Unix Linux 的 Shell。你会用 C++ Java 写 Shell 吗?

引用来自“乌龟壳”的评论

我们做的重头戏都是用js的,做的是一款绘图有关的东西。别再假设我是做普通页面的,就算特别喜欢玩前段的饿了么也不属于我定义的重型。

引用来自“AutoPlus”的评论

绘图有关?WebGL GLSL 顶点着色器的项目我都玩过,不知道算不算“普通”呢? 你这么不“普通”啊,就你这点 js 道行,也配在我面前装。你说画图,不就是那点库,JS 的 threejs,d3,chart,Python 的 matplot,numpy。你是自己实现绘图原语啊还是着色器啊? 就这种数据驱动的玩意,也有脸“别再假设我是做普通页面的”,我呸!

引用来自“乌龟壳”的评论

你不过就是个玩家而已,现实做项目常用的技术就那几个,主要是功能的开发。js对于不断膨胀的项目管理起来比静态语言麻烦很多。扯那么多浏览器技术关JS什么事?

而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢。但是用现成的属性去做功能性有时候不够。

言尽于此,你想刷存在感就刷,懒得再回你了。

引用来自“AutoPlus”的评论

“而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢”,说这句话不是扯吊胆吗?你用 js 能做特效? js 只是改变 css 的属性,特效的实现是通过 css 实现。css 能动态改变的时候,当然用 css,css 不能动态改变的地方,自然用 js。你有点脑子吗? 评论一个技术先搞清楚基本常识。就你写的这点破东西,自己觉得上了天了。用点图形库,刷上点 xml,json 之类的数据,给你渲染出来好多图,立马觉得自己高大上了? 你还真是个小孩,没做过什么像样的东西吗? OpenCL 玩过吗? CUDA 玩过吗?

引用来自“乌龟壳”的评论

虽然你后面说的都在刷存在感,但看你前面说得那么具体,就回下你。

上千个SVG图形,然后用户拖了个“孔”上去,要添加只存在于其中的某几层的孔,你要怎么做?所谓孔,就是挖出一个透明的空间,所有孔涉及的SVG图元都要作相应的裁剪。

svg的做法是用mask,但是mask全部元素性能损耗太大,找到具体哪些受影响就需要rtree算法,这就是一个性能压力点,如果用WA会有更好的效果,别告诉我浏览器实现了rtree,它没提供API给我。

另外mask其实是做相册之类边框虚化那些的,根本没为上百个孔的场景作优化。那么多重叠的mask浏览器本身的计算压力也是很大的,实际只要一次性裁剪过就好了。图形裁剪的算法别跟我提用像素,我这都是矢量的,随时缩放不可能把像素运算作为中间结果。

具体我们也没找到好办法,这就是我说的性能。

至于十几万行js代码做的那么多功能,管理起来头痛我觉得反而是你没经验,只是做些普通的网站或者玩具级的d3d demo就觉得js万能了。

引用来自“AutoPlus”的评论

你编程经验几年啊? 数据是数据,渲染是渲染,懂不懂? 还提供你 rtree,My God!

数据 ---> 渲染 ---> 捕捉 ---> 计算数据,得出新的数据,更新数据 ---> 渲染

用你的数据算出你需要的新数据,然后用 svg 绘制。自己连基本的编程常识不懂,怪库咯???
图形裁剪凭空就能裁剪出来?要是用js裁剪性能够好,我干嘛会提WA?

行了不和你扯淡了,你根本就不知道我在说啥,自己活在自己的世界里。
2017-06-12 12:12
0
回复
举报

引用来自“eechen”的评论

WebAssembly跨浏览器,意味着基于WebAssembly的游戏等应用也能轻松运行在Linux桌面上,就像Flash游戏一样.
WebAssembly性能应该要比Flash好很多,毕竟Flash使用的ActionScript是一门有GC的脚本语言,
而WebAssembly项目却能把C/C++代码编译成高性能且跨浏览器的wasm格式,完全架空了JS.

引用来自“乌龟壳”的评论

一直在流口水,支持webassembly后可以不用js开发web程序了。现在weassembly还在弄gc那些东西,以后java那些可以直接编译成wa

引用来自“eechen”的评论

像DOM操作这种应该还是需要用JS的吧.主要是浏览器里需要高性能的场景应该是没JS的份了吧.

引用来自“乌龟壳”的评论

只要WA暴露出来操作DOM的API,JS就可以一点不碰了。asm.js连opengl的api都暴露出来的,应该DOM也会吧

引用来自“AutoPlus”的评论

你这种美梦真的是想多了,kotlin,nim 现在都能直接编译成 js,你可以用他们开发下 web 前端的程序感受下。WebAssembly 用来开发 opengl 那些重型 3D 游戏才是真的场景。

引用来自“乌龟壳”的评论

回复@AutoPlus : 不要臆测我是做普通网站的行吗?基本做的都是重型js应用,被折腾得吐血

引用来自“AutoPlus”的评论

你去用 C++ Java 写个 DOM 试试。别的不说,就拿 Java 的 Swing,写个 Button 有多花时间,难道感觉不出来吗? 现在浏览器的价值不在 js,而在于 CSS 和 DOM 这两个东西,js 只是给你给动态改变 CSS 和 DOM 的机制。js 就如同 Unix Linux 的 Shell。你会用 C++ Java 写 Shell 吗?

引用来自“乌龟壳”的评论

我们做的重头戏都是用js的,做的是一款绘图有关的东西。别再假设我是做普通页面的,就算特别喜欢玩前段的饿了么也不属于我定义的重型。

引用来自“AutoPlus”的评论

绘图有关?WebGL GLSL 顶点着色器的项目我都玩过,不知道算不算“普通”呢? 你这么不“普通”啊,就你这点 js 道行,也配在我面前装。你说画图,不就是那点库,JS 的 threejs,d3,chart,Python 的 matplot,numpy。你是自己实现绘图原语啊还是着色器啊? 就这种数据驱动的玩意,也有脸“别再假设我是做普通页面的”,我呸!

引用来自“乌龟壳”的评论

你不过就是个玩家而已,现实做项目常用的技术就那几个,主要是功能的开发。js对于不断膨胀的项目管理起来比静态语言麻烦很多。扯那么多浏览器技术关JS什么事?

而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢。但是用现成的属性去做功能性有时候不够。

言尽于此,你想刷存在感就刷,懒得再回你了。

引用来自“AutoPlus”的评论

“而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢”,说这句话不是扯吊胆吗?你用 js 能做特效? js 只是改变 css 的属性,特效的实现是通过 css 实现。css 能动态改变的时候,当然用 css,css 不能动态改变的地方,自然用 js。你有点脑子吗? 评论一个技术先搞清楚基本常识。就你写的这点破东西,自己觉得上了天了。用点图形库,刷上点 xml,json 之类的数据,给你渲染出来好多图,立马觉得自己高大上了? 你还真是个小孩,没做过什么像样的东西吗? OpenCL 玩过吗? CUDA 玩过吗?

引用来自“乌龟壳”的评论

虽然你后面说的都在刷存在感,但看你前面说得那么具体,就回下你。

上千个SVG图形,然后用户拖了个“孔”上去,要添加只存在于其中的某几层的孔,你要怎么做?所谓孔,就是挖出一个透明的空间,所有孔涉及的SVG图元都要作相应的裁剪。

svg的做法是用mask,但是mask全部元素性能损耗太大,找到具体哪些受影响就需要rtree算法,这就是一个性能压力点,如果用WA会有更好的效果,别告诉我浏览器实现了rtree,它没提供API给我。

另外mask其实是做相册之类边框虚化那些的,根本没为上百个孔的场景作优化。那么多重叠的mask浏览器本身的计算压力也是很大的,实际只要一次性裁剪过就好了。图形裁剪的算法别跟我提用像素,我这都是矢量的,随时缩放不可能把像素运算作为中间结果。

具体我们也没找到好办法,这就是我说的性能。

至于十几万行js代码做的那么多功能,管理起来头痛我觉得反而是你没经验,只是做些普通的网站或者玩具级的d3d demo就觉得js万能了。
你编程经验几年啊? 数据是数据,渲染是渲染,懂不懂? 还提供你 rtree,My God!

数据 ---> 渲染 ---> 捕捉 ---> 计算数据,得出新的数据,更新数据 ---> 渲染

用你的数据算出你需要的新数据,然后用 svg 绘制。自己连基本的编程常识不懂,怪库咯???
2017-06-12 12:10
0
回复
举报

引用来自“eechen”的评论

WebAssembly跨浏览器,意味着基于WebAssembly的游戏等应用也能轻松运行在Linux桌面上,就像Flash游戏一样.
WebAssembly性能应该要比Flash好很多,毕竟Flash使用的ActionScript是一门有GC的脚本语言,
而WebAssembly项目却能把C/C++代码编译成高性能且跨浏览器的wasm格式,完全架空了JS.

引用来自“乌龟壳”的评论

一直在流口水,支持webassembly后可以不用js开发web程序了。现在weassembly还在弄gc那些东西,以后java那些可以直接编译成wa

引用来自“eechen”的评论

像DOM操作这种应该还是需要用JS的吧.主要是浏览器里需要高性能的场景应该是没JS的份了吧.

引用来自“乌龟壳”的评论

只要WA暴露出来操作DOM的API,JS就可以一点不碰了。asm.js连opengl的api都暴露出来的,应该DOM也会吧

引用来自“AutoPlus”的评论

你这种美梦真的是想多了,kotlin,nim 现在都能直接编译成 js,你可以用他们开发下 web 前端的程序感受下。WebAssembly 用来开发 opengl 那些重型 3D 游戏才是真的场景。

引用来自“乌龟壳”的评论

回复@AutoPlus : 不要臆测我是做普通网站的行吗?基本做的都是重型js应用,被折腾得吐血

引用来自“AutoPlus”的评论

你去用 C++ Java 写个 DOM 试试。别的不说,就拿 Java 的 Swing,写个 Button 有多花时间,难道感觉不出来吗? 现在浏览器的价值不在 js,而在于 CSS 和 DOM 这两个东西,js 只是给你给动态改变 CSS 和 DOM 的机制。js 就如同 Unix Linux 的 Shell。你会用 C++ Java 写 Shell 吗?

引用来自“乌龟壳”的评论

我们做的重头戏都是用js的,做的是一款绘图有关的东西。别再假设我是做普通页面的,就算特别喜欢玩前段的饿了么也不属于我定义的重型。

引用来自“AutoPlus”的评论

绘图有关?WebGL GLSL 顶点着色器的项目我都玩过,不知道算不算“普通”呢? 你这么不“普通”啊,就你这点 js 道行,也配在我面前装。你说画图,不就是那点库,JS 的 threejs,d3,chart,Python 的 matplot,numpy。你是自己实现绘图原语啊还是着色器啊? 就这种数据驱动的玩意,也有脸“别再假设我是做普通页面的”,我呸!

引用来自“乌龟壳”的评论

你不过就是个玩家而已,现实做项目常用的技术就那几个,主要是功能的开发。js对于不断膨胀的项目管理起来比静态语言麻烦很多。扯那么多浏览器技术关JS什么事?

而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢。但是用现成的属性去做功能性有时候不够。

言尽于此,你想刷存在感就刷,懒得再回你了。

引用来自“AutoPlus”的评论

“而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢”,说这句话不是扯吊胆吗?你用 js 能做特效? js 只是改变 css 的属性,特效的实现是通过 css 实现。css 能动态改变的时候,当然用 css,css 不能动态改变的地方,自然用 js。你有点脑子吗? 评论一个技术先搞清楚基本常识。就你写的这点破东西,自己觉得上了天了。用点图形库,刷上点 xml,json 之类的数据,给你渲染出来好多图,立马觉得自己高大上了? 你还真是个小孩,没做过什么像样的东西吗? OpenCL 玩过吗? CUDA 玩过吗?
虽然你后面说的都在刷存在感,但看你前面说得那么具体,就回下你。

上千个SVG图形,然后用户拖了个“孔”上去,要添加只存在于其中的某几层的孔,你要怎么做?所谓孔,就是挖出一个透明的空间,所有孔涉及的SVG图元都要作相应的裁剪。

svg的做法是用mask,但是mask全部元素性能损耗太大,找到具体哪些受影响就需要rtree算法,这就是一个性能压力点,如果用WA会有更好的效果,别告诉我浏览器实现了rtree,它没提供API给我。

另外mask其实是做相册之类边框虚化那些的,根本没为上百个孔的场景作优化。那么多重叠的mask浏览器本身的计算压力也是很大的,实际只要一次性裁剪过就好了。图形裁剪的算法别跟我提用像素,我这都是矢量的,随时缩放不可能把像素运算作为中间结果。

具体我们也没找到好办法,这就是我说的性能。

至于十几万行js代码做的那么多功能,管理起来头痛我觉得反而是你没经验,只是做些普通的网站或者玩具级的d3d demo就觉得js万能了。
2017-06-12 10:33
0
回复
举报

引用来自“eechen”的评论

WebAssembly跨浏览器,意味着基于WebAssembly的游戏等应用也能轻松运行在Linux桌面上,就像Flash游戏一样.
WebAssembly性能应该要比Flash好很多,毕竟Flash使用的ActionScript是一门有GC的脚本语言,
而WebAssembly项目却能把C/C++代码编译成高性能且跨浏览器的wasm格式,完全架空了JS.

引用来自“乌龟壳”的评论

一直在流口水,支持webassembly后可以不用js开发web程序了。现在weassembly还在弄gc那些东西,以后java那些可以直接编译成wa

引用来自“eechen”的评论

像DOM操作这种应该还是需要用JS的吧.主要是浏览器里需要高性能的场景应该是没JS的份了吧.

引用来自“乌龟壳”的评论

只要WA暴露出来操作DOM的API,JS就可以一点不碰了。asm.js连opengl的api都暴露出来的,应该DOM也会吧

引用来自“AutoPlus”的评论

你这种美梦真的是想多了,kotlin,nim 现在都能直接编译成 js,你可以用他们开发下 web 前端的程序感受下。WebAssembly 用来开发 opengl 那些重型 3D 游戏才是真的场景。

引用来自“乌龟壳”的评论

回复@AutoPlus : 不要臆测我是做普通网站的行吗?基本做的都是重型js应用,被折腾得吐血

引用来自“AutoPlus”的评论

你去用 C++ Java 写个 DOM 试试。别的不说,就拿 Java 的 Swing,写个 Button 有多花时间,难道感觉不出来吗? 现在浏览器的价值不在 js,而在于 CSS 和 DOM 这两个东西,js 只是给你给动态改变 CSS 和 DOM 的机制。js 就如同 Unix Linux 的 Shell。你会用 C++ Java 写 Shell 吗?

引用来自“乌龟壳”的评论

我们做的重头戏都是用js的,做的是一款绘图有关的东西。别再假设我是做普通页面的,就算特别喜欢玩前段的饿了么也不属于我定义的重型。

引用来自“AutoPlus”的评论

绘图有关?WebGL GLSL 顶点着色器的项目我都玩过,不知道算不算“普通”呢? 你这么不“普通”啊,就你这点 js 道行,也配在我面前装。你说画图,不就是那点库,JS 的 threejs,d3,chart,Python 的 matplot,numpy。你是自己实现绘图原语啊还是着色器啊? 就这种数据驱动的玩意,也有脸“别再假设我是做普通页面的”,我呸!

引用来自“乌龟壳”的评论

你不过就是个玩家而已,现实做项目常用的技术就那几个,主要是功能的开发。js对于不断膨胀的项目管理起来比静态语言麻烦很多。扯那么多浏览器技术关JS什么事?

而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢。但是用现成的属性去做功能性有时候不够。

言尽于此,你想刷存在感就刷,懒得再回你了。
“而且js性能确实不够静态语言编译出来的好,很多特效为啥要用css或者现成的属性去实现,就是因为用js做太慢”,说这句话不是扯吊胆吗?你用 js 能做特效? js 只是改变 css 的属性,特效的实现是通过 css 实现。css 能动态改变的时候,当然用 css,css 不能动态改变的地方,自然用 js。你有点脑子吗? 评论一个技术先搞清楚基本常识。就你写的这点破东西,自己觉得上了天了。用点图形库,刷上点 xml,json 之类的数据,给你渲染出来好多图,立马觉得自己高大上了? 你还真是个小孩,没做过什么像样的东西吗? OpenCL 玩过吗? CUDA 玩过吗?
2017-06-12 10:13
0
回复
举报
更多评论
42 评论
36 收藏
分享
返回顶部
顶部