有谁玩手机非仙

从 ASM.JS 到 WebAssembly
JS ,这已经是老生常谈的话题。不过,JS 是一种很便携的语法,并且是很安全的机器语言。今天,我很高兴地宣布,在
上可以进行跨浏览器的工作。WebAssembly 是什么:WebAssembly,
缩写为“wasm”,.wasm 为文件名后缀,是一种新的用于低端安全代码的二进制语法。它最初与 asm.js
合作,不过从长远来看,为了更好地向多源编程语言的通用目标等级格式提供服务,WebAssembly会从 JS 的语义中分离。为通过 JS 支持 wasm 的 ,wasm 和 asm 保持体面的间隔是至关重要的。甚至是 JS 和 asm.js 共享内存线程和 SIMD 支持也是相当重要的。可能长期发散的例子:零成本异常,动态链接,call/cc。是的,我们的目标是开发 Web 多编程语言目标文件格式。为什么:
是很不错的,但是引擎一旦为它优化,解析器就会成为一个热锅 ----
会让移动设备变得很烫。传输压缩是必要的,而且能节省带宽,但是要在解析之前解压。第二个考虑因素:JS 存在一些尴尬的角落,甚至是在 asm.js
集合中。最后,一旦浏览器支持本地 WebAssembly 语法,JS 和 wasm
就会分离,不会因为编译器使用了一些完全不同的编程语言就会引入一些不安全或者不合适的特性到 JS 中。请查看
获取更多的细节信息。不,JS 在可见的未来里是不会消失的。是的,wasm 可以不用侍奉两个主人来缓解 JS。这是一个双赢的计划。怎么样:如果你使用 ,然后 wasm 会通过一个命令行标志首先支持。但是作为本地 wasm 解码器出现在引擎顶部(请查看),Emscripten 将会自动配置以获得最佳的效果。另一个原型:一个是谁:
一个 W3C 社区团体,WebAssembly CG 对所有人开放。正如你在 github 日志上看到的,WebAssembly 是
Google、Microsoft、Mozilla
和其他几个公司共同努力的结果。我很抱歉,这项工作在一开始是通过私有库完成的,但是,这只是临时措施,用来使这几家公司达成共识,从而能让这些公司有更
长远的合作。你可以看到,Google PNaCl 团队的 JF Bastien 只能勉强守住秘密。来
自 Google PNaCl 团队和 V8 团队的人,来自 Microsoft 的核心人员,以及来自 Mozilla 的 asm.js 和
Emscripten 的大师,这些人紧密地合作,直到每个人都看到了曙光,这真是一件振奋人心的事情。我在这里尤其要感谢 Google 的 , 和 Ben Titzer;Mozilla 的 ;来自 Microsoft 的 Abhijith Chatra 和 Michael Holman;asm.js 和 Emscripten 的 ;做 JavaScriptCore/WebKit 的 ;尤其是 asm.js/OdinMonkey 的策划 。Via :
asm.js 的详细介绍:
asm.js 的下载地址:
转载请注明:文章转载自 开源中国社区
本文标题:从 ASM.JS 到 WebAssembly
本文地址:
你既然这么着急,怎么就不能去FAQ首页去看看,首批支持的语言就是c/c++,js,接着再是其他语言。js进化到一定程度,性能倍儿棒,前后端通吃,已有的软件生态又这么强,工具和IDE支持又跟了上来,其他语言有的它慢慢都有了,你说说程序员还有什么积极性去搞其他语言?你去分谁的尸?还几大公司分尸,呵呵。唯一js不能搞的地方就是多线程。这个倒是其他静态编译语言的机会。至于python,ruby,php这些支持了wasm,我也看不到相比js有任何优势。
引用来自“0Scn”的评论WebAssembly项目的联合团队已经声明解释了不是取代JavaScript的意思,是双赢,是对JavaScript尴尬领域的填补,也是开发Web多编程语言统一目标文件格式。或多或少的类似Asm.js、NativeClient、Emscripten、Duetto、LLJS、Ceylon、Pyjs、rb2js、Go2js......等等的作用,好吧,“一切皆JavaScript”,但由于是Google、Microsoft、Mozilla、Apple(WebKit)及其他等达成共识主导的,自然很大很大可能成为统一标准,未来浏览器原生支持,且性能大大提升(据说理论上比现有原型设计提速23倍),未来支持更多的编程语言编译为wasm跑JavaScript引擎上。当然目前焦点是关注在C/C++上和开发一个polyfill library能让WebAssembly代码转译为JavaScript,随后将开发更多的工具,比如调试器这些,以及支持更多的语言,比如Rust, Go和C#...等等。团队也提及了一些应用场景,应用程序的某些部分比如动画、可视化、压缩等等领域可编译为WebAssembly模块,而用户接口/逻辑大部分用JavaScript写。没有什么谁取代谁的意味,喜欢和擅长原生JavaScript的人依旧会喜欢JavaScript,喜欢C/C++的,喜欢Python的、喜欢Go的、喜欢Rust的、喜欢C#的......也依旧如此,只不过现在和未来多了一种统一的目标格式能让你选择喜欢的语言去编码但又能够轻易的直接的跑在浏览器(或者其他支持的运行环境)上。引用来自“Raymin”的评论“双赢”都不懂,应该跟歪脚步学习。如果浏览器都支持 .wasm,JS、PHP、Java、Python、Ruby 都支持生成 .wasm,用 JS 的会有多少?你看到了目前的现状,目前后端的程序很多.为什么现在流行PHP、Java、Python、Ruby,这些肯定比汇编学起容易.以后的白纸程序员些,大部分会挑更容易的学.如果现在你什么都不会,js和php都能做的事情,你选择那个?前提还有JS还可以在浏览器跑.
引用来自“0Scn”的评论WebAssembly项目的联合团队已经声明解释了不是取代JavaScript的意思,是双赢,是对JavaScript尴尬领域的填补,也是开发Web多编程语言统一目标文件格式。或多或少的类似Asm.js、NativeClient、Emscripten、Duetto、LLJS、Ceylon、Pyjs、rb2js、Go2js......等等的作用,好吧,“一切皆JavaScript”,但由于是Google、Microsoft、Mozilla、Apple(WebKit)及其他等达成共识主导的,自然很大很大可能成为统一标准,未来浏览器原生支持,且性能大大提升(据说理论上比现有原型设计提速23倍),未来支持更多的编程语言编译为wasm跑JavaScript引擎上。当然目前焦点是关注在C/C++上和开发一个polyfill library能让WebAssembly代码转译为JavaScript,随后将开发更多的工具,比如调试器这些,以及支持更多的语言,比如Rust, Go和C#...等等。团队也提及了一些应用场景,应用程序的某些部分比如动画、可视化、压缩等等领域可编译为WebAssembly模块,而用户接口/逻辑大部分用JavaScript写。没有什么谁取代谁的意味,喜欢和擅长原生JavaScript的人依旧会喜欢JavaScript,喜欢C/C++的,喜欢Python的、喜欢Go的、喜欢Rust的、喜欢C#的......也依旧如此,只不过现在和未来多了一种统一的目标格式能让你选择喜欢的语言去编码但又能够轻易的直接的跑在浏览器(或者其他支持的运行环境)上。“双赢”都不懂,应该跟歪脚步学习。如果浏览器都支持 .wasm,JS、PHP、Java、Python、Ruby 都支持生成 .wasm,用 JS 的会有多少?
引用来自“Neo”的评论4楼看样子完全没有了解过asm.js,asm.js都只是支持C/C++这样的静态类型语言asm.js只js的一个子集,将c/c++编译成js去跑。和wasm完全不是一回事。wasm是一个虚拟机,但又和jvm,.NET有区别。比如目前没有JIT,没有GC,支持AOT编译。所以带gc的语言,JIT编译的目前很难利用wasm,甚至包括js自己。但我为何还要说js前途无量呢?1. js已经被各大浏览器厂商支持(这个最关键),有着庞大的已有生态,并且快速的进化着;2.wasm显然会慢慢的支持JIT,添加GC等等,显然js必然会是优先支持的。3.表面看似有了wasm后,各种语言可以尽情的在web上驰骋了,web不再被js独占。但问题没有这么简单。比如:js本身进化的足够好了,为何还要再用其他语言?再一遍遍的造轮子。比如jvm上java是嫡出的,其他是庶出。我不是说其他语言没机会,我只是想说:目前js的机会最大,形势较好。@14楼,
FAQ的一段:Is WebAssembly only for C/C++ programmers?................................Beyond the MVP, 【another high-level goal is to improve support for languages other than C/C++】. 【This includes allowing WebAssembly code to allocate and access garbage-collected (JS, DOM, Web API) objects】. 【Even before GC support is added to WebAssembly】, it is possible to compile a language&s VM to WebAssembly (assuming it&s written in portable C/C++) and this has already been demonstrated (1, 2, 3)..............................
引用来自“Neo”的评论4楼看样子完全没有了解过asm.js,asm.js都只是支持C/C++这样的静态类型语言还是不知道他想表达什么……WebAssembly 一出,JS 万能?很明显是JS直接被扔到后方了吧……别的语言也能写 WebAssembly,谁要你那蹩脚的语法……
4楼看样子完全没有了解过asm.js,asm.js都只是支持C/C++这样的静态类型语言
呵呵。不知道我在说什么?好吧,那我就罗嗦几句。当初js,python,ruby,php都是动态语言,大家性能半斤八两,都是写写网页,写写脚本。后来,v8出现不断优化js性能,于是js火了,孕育出了node.js,接着出现了大量的优质框架,这些框架和应用直接蚕食了包括在前段、服务器端,web上面原本很多人会第一时间选择python,ruby,php的场景。node.js甚至在某些地方开始替代原本java的位置。这还没完:asm.js是让web平台像native app看齐的一次努力,但限制太多,如今又有了几乎所有厂商都支持,并且派主力开发人员参与其中的WASM,这什么意思?意思就是js不再仅仅是一个脚本语言了,不再仅仅是写写web,写写网页,写写脚本这么简单了。以后native语言能干的它都能干,它写的app还能跨平台,前途无可限量。再看看python,ruby,php这些在干吗?还在原地打转转,守着自己的一亩三分地,而且还不一定守的住。再说说语言层面和辅助工具层面:es6,es7这几年间要问世,js在剧烈的向前变化着,这个变化比java的变化和力度大的多了。dart,coffee,typescript可以看作是js进化的马前卒,将来它们中好的特性都会被js吸收,最终搞不好js会永生。同样的事情也发生在jvm平台上,各种语言都想替代java,但它们的特性会最终被java吸收进去。不过js的进化更快,力度更大。而python,ruby和php呢?python一个类型注释喊了多年终于通过了,ruby还不打算变,php相对形势比前两个好一些,毕竟有facebook这个干爹。但相比js这几年的进步。简直不可同日而语。微软将开源 Edge 浏览器的 JS 引擎 Chakra
微软官方博客,Microsoft
Edge浏览器使用的JavaScript引擎Chakra将开源,开源的版本称之为
ChakraCore,微软称它包含了Chakra所有的关键组件----解析器、解释器、JIT(just-in-time)编译器、垃圾收集器和API。
代码将于下一月发布到GitHub上。ChakraCore将是一个功能完整的、独立的JavaScript虚拟机,可嵌入到衍生产品中,驱动需要脚本功
能的产品如NoSQL数据库、生产力工具和游戏引擎。ChakraCore现阶段只支持Windows,但微软表示将类似.NET开源项目加入跨平台支持。&
转载自:& &&
转载请注明:文章转载自 开源中国社区
本文标题:微软将开源 Edge 浏览器的 JS 引擎 Chakra
本文地址:
你TM就一疯狗似的,.看来我也要被你咬了..
引用来自“wuyiw”的评论以前微软IE烂, 你喷, 微软闭源, 你喷.现在微软拥抱linux, 你还喷, 微软抛弃IE去做edge, 你还喷, 微软开源这个开源那个, 你还喷.爱的深沉, 男默女泪.引用来自“龙哥九号”的评论老是遭人喷说明是垃圾中的垃圾,要不是搞垄断获取市场,谁想去用。 引用来自“wuyiw”的评论关于&老是遭人喷说明是垃圾中的垃圾&, 我想邀请
用他使用的小米手机来回应.关于&老是遭人喷说明是垃圾中的垃圾&,我也想邀请@eechen 用他的windows xp +IE来回应
引用来自“young7”的评论不知道将来window平台上的node的js引擎会不会换成这个,呵呵引用来自“非仙”的评论现在就有一个微软改写的chakra引擎的node引用来自“young7”的评论卧槽,牛逼哄哄的引用来自“人生想绕几个圈”的评论一个js引擎就算浏览器核心?让渲染引擎情何以堪?还有js依赖V8是什么鬼?麻烦你弄清楚什么是node和v8再来评论,人家说东你说西,
引用来自“wuyiw”的评论以前微软IE烂, 你喷, 微软闭源, 你喷.现在微软拥抱linux, 你还喷, 微软抛弃IE去做edge, 你还喷, 微软开源这个开源那个, 你还喷.爱的深沉, 男默女泪.引用来自“龙哥九号”的评论老是遭人喷说明是垃圾中的垃圾,要不是搞垄断获取市场,谁想去用。 关于&老是遭人喷说明是垃圾中的垃圾&, 我想邀请
用他使用的小米手机来回应.
引用来自“wuyiw”的评论以前微软IE烂, 你喷, 微软闭源, 你喷.现在微软拥抱linux, 你还喷, 微软抛弃IE去做edge, 你还喷, 微软开源这个开源那个, 你还喷.爱的深沉, 男默女泪.老是遭人喷说明是垃圾中的垃圾,要不是搞垄断获取市场,谁想去用。
引用来自“wuyiw”的评论以前微软IE烂, 你喷, 微软闭源, 你喷.现在微软拥抱linux, 你还喷, 微软抛弃IE去做edge, 你还喷, 微软开源这个开源那个, 你还喷.爱的深沉, 男默女泪.引用来自“eechen”的评论拥抱Linux?我怎么看都是利用Linux吧。给Linux贡献代码,为了自家的Hyper-V虚拟化,甚至还在代码中留下大咪咪(big boobs)来羞辱Linux,这特么是真爱,你别逗好吗?http://www.solidot.org/story?sid=30580还有IE,就算你停止XP支持,怎么也把最好一波补丁推送IE8更新吧,但萎软偏偏不做,你说贱不贱。反倒是Win7总会自动给你升级到最新版IE。敢情除了微软, 所有其他公司包括apple/google都是大公无私的呀, 是么?大咪咪错在性别歧视, 而不是因为自身不雅. linux内核源码的脏词也不差它一个:http://www.vidarholen.net/contents/wordcount/谈何羞辱linux? 而且它也不是linux社区的唯一性别歧视:http://www.solidot.org/story?sid=45696其实性别歧视在IT界确实存在, 我说linux社区也有不意味着微软没错, 不过, 你会因为一次事件就全盘否定linux/微软吗?ie, ie6-&ie8的差别不是ie8-&ielatest的差别能比的, 可别以为有&兼容模式&就行, 很多小白你得把他们当瞎子看.
引用来自“young7”的评论不知道将来window平台上的node的js引擎会不会换成这个,呵呵引用来自“非仙”的评论现在就有一个微软改写的chakra引擎的node引用来自“young7”的评论卧槽,牛逼哄哄的微软的edge的webgl性能比chrome强很多,别的不清楚在图形学方面,微软真的独霸天下了
引用来自“wuyiw”的评论以前微软IE烂, 你喷, 微软闭源, 你喷.现在微软拥抱linux, 你还喷, 微软抛弃IE去做edge, 你还喷, 微软开源这个开源那个, 你还喷.爱的深沉, 男默女泪.拥抱Linux?我怎么看都是利用Linux吧。给Linux贡献代码,为了自家的Hyper-V虚拟化,甚至还在代码中留下大咪咪(big boobs)来羞辱Linux,这特么是真爱,你别逗好吗?http://www.solidot.org/story?sid=30580还有IE,就算你停止XP支持,怎么也把最好一波补丁推送IE8更新吧,但萎软偏偏不做,你说贱不贱。反倒是Win7总会自动给你升级到最新版IE。
以前微软IE烂, 你喷, 微软闭源, 你喷.现在微软拥抱linux, 你还喷, 微软抛弃IE去做edge, 你还喷, 微软开源这个开源那个, 你还喷.爱的深沉, 男默女泪.
引用来自“young7”的评论不知道将来window平台上的node的js引擎会不会换成这个,呵呵引用来自“非仙”的评论现在就有一个微软改写的chakra引擎的node引用来自“young7”的评论卧槽,牛逼哄哄的一个js引擎就算浏览器核心?让渲染引擎情何以堪?还有js依赖V8是什么鬼?
水果开得可比巨硬有诚意多了, OSX的开源内核darwin, 编译器LLVM, 浏览器核心webkit, 前阶段还有swift, 还同时提供了linux下面可以跑的binary snapshots和做了linux兼容(import Glibc), 选的开源协议都比巨硬的友好.
引用来自“霹雳贝贝”的评论看你吐槽已经不是一两天的时间了,挺佩服你的执着。不过为什么你总是喜欢拿别人的屁股壮你自己的脸呢?是爱好吗?某某XX是垃圾,XX某某非常?,关你毛事啊?你有东西吗?有吗?有的话拿出来和大家分享,也算是做点人事。别跟大家再提你那些帖子了,谁还没点经验呢?你喜欢linux,贡献呢?你喜欢php,贡献呢?你喜欢。。。你无非是无数的渺小而又贪婪的使用者之一。你就是个,小丑~引用来自“eechen”的评论回答问题算不算?写博客算不算?打包便携版Nginx/Apache/PHP方便Linux用户解压即用算不算?积分不多,segmentfault也有6k,OSC也有5k,反观你呢?你做了什么贡献,你有什么资格在这里趾高气扬地指指点点?到底谁才是小丑,呵呵.不对吧,你最大的贡献就是引战,灌水,填OSC数据库吧,误导IT新人,回答问题多数以敷衍、借题发挥,替PHP和ubuntu做广告。这你恐怕不敢承认是你做的吧,你博客中有贡献的信息不否定不批评,然而多数你到处灌水,并没有觉得有用,反而让人反感。
引用来自“霹雳贝贝”的评论看你吐槽已经不是一两天的时间了,挺佩服你的执着。不过为什么你总是喜欢拿别人的屁股壮你自己的脸呢?是爱好吗?某某XX是垃圾,XX某某非常?,关你毛事啊?你有东西吗?有吗?有的话拿出来和大家分享,也算是做点人事。别跟大家再提你那些帖子了,谁还没点经验呢?你喜欢linux,贡献呢?你喜欢php,贡献呢?你喜欢。。。你无非是无数的渺小而又贪婪的使用者之一。你就是个,小丑~回答问题算不算?写博客算不算?打包便携版Nginx/Apache/PHP方便Linux用户解压即用算不算?积分不多,segmentfault也有6k,OSC也有5k,反观你呢?你做了什么贡献,你有什么资格在这里趾高气扬地指指点点?到底谁才是小丑,呵呵.
说得好,我也想补充补充,有的不知道是不是情商低还是真傻,也或者不知道也懒得去看上下文的这类人越是纠正喷子的发言战争越激烈,让喷子一边玩蛋蛋好了,长久逛OSC以来发现“真喷子也就那么几个”。通常当你长期和喷子这类人处时间长了,你自己就会变得易烦躁,你变成喷子只是一个时间问题。就目前OSC上知名喷子来看,他很狡猾知道语言粗鲁不好使,但他就是喜欢用产品和技术的关键词和重复性刷屏来刺激你的情绪,然而不知道的人总是维护喷子,因为你眼见不一定为真,你只看到了当前所看到的。对付脑残、喷子不要和他讲什么道理,很难讲通,浪费的是你自己的时间,内心不强大的还会因此心情烦躁,如果你要和脑残、喷子讲道理,他会用他丰富的歪理,脑残经验引导你走向和他同一水平,偶尔还会附赠政治帽子给你,让你尝尝内伤的滋味,这样就轻而易举的获得了快感。
汗,人家这里说的是js引擎Chakra好不,如果Chakra比v8好说不定哪天Chromium放弃v8改用它也说不定,呵呵
引用来自“young7”的评论不知道将来window平台上的node的js引擎会不会换成这个,呵呵引用来自“非仙”的评论现在就有一个微软改写的chakra引擎的node卧槽,牛逼哄哄的

参考资料

 

随机推荐