分享

当浏览器与APP勾搭在一起……

 昵称15592316 2015-06-23

来源:Cnet,本文由 TECH2IPO/创见 孙朝编译

创见干货:Mozilla 和 Google 的浏览器团队倾力合作,推出了全新的浏览器标准——WebAssembly。这项项目获得了微软和苹果的支持。在未来,程序员不论使用任何一种编程语言编写基于浏览器的应用程序,都能够在任何一台设备上流畅的运行;而且用户使用网页的速度也会提高不少。

在闭关「修炼」了几个月之后,由微软支持的 Mozilla 火狐浏览器团队和 Google 的 Chrome 浏览器团队的工程师们公布了他们的合作项目——WebAssembly。工程师们希望通过这个项目,将触手可及的浏览器与系统原生运行的软件的速度结合起来,不仅使用户获得更快的网页浏览速度,而且在加载诸如 Google Photos 这类网页软件时更加流畅。

两大团队的联合听上去只有「码农」们才关心,但事实上这与每一个人息息相关。WebAssembly 或许能够重建计算机行业的基础,它为程序开发者提供了代替 JavaScript 的高性能编程语言,使当今 Web 的编程语言。借助这一语言,程序员可以开发基于网页的新型软件,比如高性能的游戏、视屏编辑软件,以及虚拟现实探索。

基于网页的照片编辑软件联合创始人 Yevgeniy Shpika 表示:「WebAssembly 真是太赞了,这至少是我们节约 20% 的预算。」

合作方式

通常,一家浏览器开发商发起的新的 Web 标准,必须说服其他的浏览器制造商支持这一标准,直白一点就是需要获得开发者的支持。WebAssembly 将会获得 4 大主流浏览器开发商的支持:微软、Google、Mozilla 以及苹果。

就当下而言,WebAssembly 意味着更快的网页应用程序;从长远角度来看,它可能意味着整个计算机行业将变得更具合作精神。

如今,在平板电脑、手机、或个人计算机上允许有处理器直接处理的原生应用程序已经不是什么新鲜事了,比如 Adobe 推出的照片编辑软件 Lightroom。但是运行基于浏览器的软件——比如 Pics,却有着先天的优势。就拿程序员来说,他只要开发一款基于浏览器运行的应用程序,就可以在任何操作系统上允许。因为这里面起关键作用的就是浏览器本身。

重写互联网

Mozilla 和 Google 的付出,以及他们联合推出的 WebAssembly 都意味着程序员必须打破传统,放弃使用了 20 多年的编程语言 JavaScript,才能够为如今的互联网编写程序。程序员将从静态的文档转换称动态的设计,就像 Google 题图的缩放,以及 Facebook 的时间流一样随着新信息发布而不断刷新。目前开来,JavaScript 应用程序在使用时非常简单——你需要做的仅仅使打开网页。这比到处寻找连接,下载病安装新的应用程序方便的多。不得不说,JavaScript 已经取得了巨大的成功。

但是 JavaScript 的缓慢严重拖后的互联网的速度。这也是为什么 Google 开始开发自家的 Native Client 项目,以及后来进行的 Portable Native Client,能够广泛应用于当今的电脑设备。PNaCl 是专门为使用 C 或 C++语言编写程序的程序员设计的,使他们转换游戏以及其他应用程序,并且使这些应用程序和游戏能够在 Chrome 中运行。

但是 Mozilla 并不喜欢这一想法,他们推出了 asm.js。这一方法能够使浏览器快速运行低层次的 JavaScript 命令,而且这一做法赢得了微软的支持。Mozilla 还推出了另外一个叫做 Emscripten 的项目,程序员可以借助 Asm.js 和 Emscripten,将 C 语言和 C++语言编写的代码转换称可兼容的语言。

现如今,在这两项项目均未获得普遍认同的时候,这两只队伍的成员又坐在一起,重新开始。

在一篇博客中,项目组的领队之一 Luke Wagner 写到:「我非常高地新告诉大家,我们 Mozilla 的工程师已经开始和 Chromium,Edge,以及 WebKit 的工程师坐在一起,共同编写新的标准。Chromium 使 Google 旗下浏览器 Chrome 的开源基础,WebKit 是苹果自家 Safari 的内核,Edge 是微软研发的代替 IE 浏览器的 Spartan 的内核。

在最底层,WebAssembly 提供了一种不同的方式,允许浏览器运行由 C 语言,C++语言,或其他编程语言编写的软件。为了运行这些软件,它们必须首先转化成电脑能够识别和工作的 0 和 1 代码。

当下,浏览器的 JavaScript 会将这些指令转化成计算机代码。但如果有了 WebAssembly,程序员的将在前期进行许多工作,编写出一种处于计算机语言和计算机代码之间的程序。这将是浏览器免于许多转换计算机代码的工作,这将使任何设备——不论其本身的硬件配置——都能够流畅的运行软件。

这种中间状态也意味着程序员可以以任何一种语言开始,并不知限定于 JavaScript。

广泛参与

微软的 Mike Holman 在一篇博客中表示:「我们认为,这将是一个激动人心的工程,使 non-JavaScript 代码快速的、和谐地在其他网页上运行。」

Google 的程序员 Ben Titzer 正在进行一项过程,使 Google 的 Chrome V8 JavaScript 引擎解码 WebAssembly 的指令。

Apple 的 WebKit 开发者 Filip Pizlo 表示将在 Safari 浏览器中支持 WebAssembly。他表示:「这项标准获得了广泛的支持,我们应当继续协作,将它变得更强大。」

JavaScript 之父,Mozilla 任期最短的首席执行官 Brendan Eich 或许会为 JavaScripti 辩护。但不巧的是他也是 WebAssembly 的粉丝。

Eich 在一篇博客中表示:「使 Google 的 PNaCl 和 V8 团队,以及微软的关键人物,以及 Mozilla 的 asm.js 和 Emscripten 的大师们一起合作,这使每个人看到了希望,受到了鼓舞。

招聘:快来和 TECH2IPO 一起拯救沉闷无趣的科技媒体

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多