2017年,Mozilla为Web做了哪些事情?

2017 对于 Mozilla 来说是非常重要的一年。我们发布了历史上最快的 Firefox,重新构建了 DevTools 开发者工具,见证了四个主流浏览器对 WebAssembly 的支持,启动了开源的虚拟现实和语音识别平台。我们的开发者关系团队也参与了全球 60 多场路演,见证了 MDN Web Docs 网站读者数量几乎增加了一倍。

虽然前进的脚步异常艰难,但是我们希望在 2018 年保持这种节奏。我们有大量非常好的即将发布的开源技术,包括所有我们将要在这里讲到的技术和 Mozilla Hacks 博客中涵盖的技术。感谢你们和我们一路前行,阅读我们在网络上发布的各种内容。没有全世界开发者社区的努力,我们不可能实现这一点。如果你希望在 2018 年参与其中,快来访问我们的社区网站吧。

Firefox Quantum

Firefox 在同一个引擎上运行了十多年,但在 2017 年初,Quantum 出现了。Firefox 需要加速,而 Mozilla 工程师们做到了。他们与 Servo 项目合作,使用新的核心技术重写了 Firefox 的引擎。首先是 Rust,一种全新的编程语言,可以有效利用最新的多核处理器。其次是 Servo,用 Rust 构建的并行引擎。还有 Stylo(Quantum CSS),它也有效利用了多核处理器。将这些放在一起,你就得到了一个远超之前版本无数光年的浏览器,并且在特定任务上能够超越其它浏览器。这花费了许多年的时间,很多工程师团队参与其中,包含了四百多万行新代码。

想要深入研究它是如何工作的,可以查看 Mozilla 工程师 Lin Clark 在 Mozilla Hacks 上的博客:

https://hacks.mozilla.org/2017/11/a-super-stable-webvr-user-experience-thanks-to-firefox-quantum/

WebAssembly

在 Web 上运行大型复杂 App 一直是开发者的梦想。想象一下,在浏览器中不需要插件,就可以编辑图片、在 3D 世界中游戏或者编辑视频。不幸的是,Web 事实上并没有实现其中任何一项。Web 基于简单的布局和样式语言(HTML/CSS)以及 JavaScript,虽然 JavaScript 非常神奇,但是它的性能并不能优化得像原生的语言(例如 C++ 等)一样好。

然而,在世纪之交,Mozilla 工程师们认为这可以实现。工程师 Alon Zakai 写了一个 App,可以将 C++ 代码翻译成 JavaScript 代码,并且首席研究员和工程师 Luke Wagner 也和他的团队一起努力来优化这个结果。在这个过程中,他们创造了 WebAssembly,这是一种新的语言,可以让大型程序(例如游戏)在浏览器中运行得像在本地运行那样快。到 2017 年底,所有主流浏览器都支持 WebAssembly,让 Web 变得更快更健壮,让所有人得到更好的体验。

Wagner 为 IEEE Spectrum 杂志写过一篇深入介绍 WebAssembly 历史的文章:

https://spectrum.ieee.org/computing/software/webassembly-will-finally-let-you-run-highperformance-applications-in-your-browser

在那篇文章中,他讲述了如何在 Firefox 中使用 WebAssembly 来运行游戏引擎 Unity 和 Unreal。

A-Frame 和 WebVR

Web 上的虚拟现实代表着未来的说法已经提了差不多 25 年了,但是那些梦想直到 2017 年都没有变成现实。今年,VR 标准和框架向前迈出了一大步,让创建 VR 体验和在各种设备上(从头戴设备到智能手机和浏览器)分享它们变得前所未有的简单。

Mozilla 帮助促进了 2 个主流虚拟现实 Web 平台:A-FrameWebVR。现在主流浏览器都支持这些标准,意味着开发者可以随意创建运行在几乎任何电脑或设备上的身临其境般的拟真体验。

而且,由于它们是基于标准的,所以使用起来非常方便。事实上,我们团队的一名成员用了不到一天的时间就创建了一个虚拟现实体验并将过程分享在这里:

https://hacks.mozilla.org/2017/09/i-built-something-with-a-frame-in-2-days-and-you-can-too/

随着 Firefox Quantum 的引进,虚拟现实在 Web 上成为了一个现实。Mozilla 工程师 Salva 为 Mozilla Hacks 写了一篇精彩的文章,解释了它都是怎么工作的:

https://hacks.mozilla.org/2017/11/a-super-stable-webvr-user-experience-thanks-to-firefox-quantum/

Common Voice 项目

Siri、Cortana、Echo 以及 Google Home,虚拟助手代表了未来。但是它们使用的语音识别数据大部分是有专利的。这就是为什么 Mozilla 要在 2017 年发起开放语音倡议,努力让这个平台更加开放自由。

Common Voice 是一个对所有人开源的语音识别项目。它是这样工作的:贡献者向 Common Voice 网站大声朗读句子来帮助 AI 学习如何理解口语。他们还可以校验 Common Voice 的译稿来确保 AI 朝着正确的方向进步。所有研究人员都可以免费获取所有这些数据来构建语音应用。

目前这个网站是英文的,但是其它语言也即将推出。Mozilla 首席研究员 Sean White 为 Mozilla 博客主站写了一篇关于 Common Voice 的文章:

https://blog.mozilla.org/blog/2017/11/29/announcing-the-initial-release-of-mozillas-open-source-speech-recognition-model-and-voice-dataset/

前往 Common Voice 网站来贡献你的声音吧。

Firefox DevTools

看看全新的 Mozilla DevTools Playground:

https://mozilladevelopers.github.io/playground/

Firefox DevTools 团队在 2017 年也非常忙。他们重写了许多 DevTools 的底层代码,并且为 CSS Grid 和 JavaScript 调试创建了全新的工具。它们是开源的,并且是基于 HTML、CSS 和 JavaScript 等 Web 标准构建的,因此开发者可以任意贡献、合并和重新构建 DevTools。

Debugger.html 目前放在 GitHub 上,开发者随时可以 fork 和贡献分支。我们 DevTools 的所有面板也都全面地重新进行了设计,变得更加易用和好看。它们采用了我们新的流线型的 Photon UI,完全改变了 Firefox 的观感。

我们也发布了 Mozilla DevTools Playground,一个深入介绍如何学习 CSS Grid 和 JavaScript 调试的网站。去那里看看,它是免费的并且开放给每一个人。你还可以看一看 Mozilla 开发拥护者 Jen Simmons 的 CSS Grid Lab,在上面学习布局系统。

开发者路演

Mozilla 开发人员在 2017 年满世界来回奔波,促进包括 WebVR、A-Frame 与 WebAssembly 等开放标准和新技术的发展。他们参与了全世界的 60 多场开发者路演。

MDN - Web 开发文档

在 2017 年,超过 8,000 名开发者向 Mozilla 开发者网络(Mozilla Developer Network,MDN)上的 80,000 多个网页贡献了内容。Mozilla 也联合 Micosoft、Google 和其它行业的领袖来极大地扩展 MDN web 文档的范围。这是一次史无前例的合作,我们都希望这能让开发者和用户的 Web 世界变得更美好。

因此,Mozilla 下一步打算做什么?我们将继续让 Firefox 更快并且功能更强大,这意味着需要优化 WebAssembly 和其它核心技术。我们希望帮助 WebVR 和 A-Frame 成为 Web 上的富内容标准。我们将继续捍卫开源语音和机器学习项目。总之,我们将继续努力来保证 Web 的开放性,让每一个人都可以访问。

关于作者

Dustin Driver 是 Mozilla 一名老辣的技术作家,旨在保持网络开放和健康,让每一个人都可以访问。

查看英文原文:

https://medium.com/mozilla-tech/mozilla-made-the-web-better-for-developers-in-2017-3e4cf9224776

前端之巅

活动推荐:

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180131G1211X00?refer=cp_1026

扫码关注云+社区