切中要点

发布于 作者

我们很高兴地宣布 Pointer Events 规范 已成为 W3C 推荐标准!正如 我们之前所说,我们喜欢 Pointer Events,因为它支持当今所有常见的输入设备——鼠标、笔/手写笔和手指——但它的设计方式也使得未来设备可以轻松添加,并且现有代码将自动支持新设备。虽然达到推荐状态是一个重要的时刻,但仍有许多工作要做。

Pointer Events 在开发者所支持的所有浏览器中可用后,才能成为可行的解决方案。虽然这一天可能看起来还很遥远,但 jQuery 基金会致力于尽快将可用的 Pointer Events 投入到每位开发者的手中。我们正在开发 PEP,我们的 Pointer Events polyfill,Google 从 Polymer 项目将其转移到 jQuery 基金会。PEP 将被集成到 jQuery UI、jQuery Mobile 和 Dojo 等项目中。我们希望在未来几周内发布我们的第一个版本。如果您有兴趣提供帮助,请告诉我们

微软已经在 IE11 中发布了 Pointer Events 的完整实现,并且在 IE10 中有一个几乎完整的、带有前缀的实现。Mozilla 也在 Windows Metro 上的 Firefox 中拥有完整的实现,但目前尚未启用。这两个实现都 通过了 W3C Pointer Events 测试套件的 100%。您可以在 https://wiki.mozilla.org/Gecko/Touch 上跟踪 Mozilla 在所有支持的平台上的进展。

当然,世界并非尽善尽美。苹果似乎永远不会实现 Pointer Events。因此,Google 决定不在 Blink 中发布 Pointer Events,而是尝试 扩展 Touch Events 以拥有 Pointer Events 的功能。扩展 Touch Events 的工作正在 Touch Events Community Group 中进行,以确保互操作性和标准化。然而,人们合理地担心,向 Touch Events 添加多个扩展只会导致更加碎片化的格局,最终会恶化情况而不是改善它。即使 Apple 也不一定会实现所有这些功能,并且添加对悬停的支持由于 Touch Events 中已有的逻辑,将需要笨拙的 API。即使将 Pointer Events 的功能添加到 Touch Events 中,笨拙的事件接口也远不如 Mouse Events 那么好或容易从 Mouse Events 过渡。

尽管 Google 目前的立场是这样,但他们愿意不断重新评估发布 Pointer Events 是否有助于推动 Web 的发展。我们希望 Google 在未来能够扭转他们的决定,并且一旦 Safari 是唯一没有支持的的主要浏览器,Apple 最终将被迫实现 Pointer Events。 Chromium 中实现 Pointer Events 的问题 已经达到了所有问题(已打开和已关闭)的前 99% 百分位数,基于星标数量。

作为一个社区,我们现在就可以塑造 Web 的未来。我们需要停止让 Apple 扼杀浏览器厂商和标准机构的工作。太多次了,我们看到拥有最佳意图的浏览器厂商成为了 Apple 不愿意与标准机构合作以及 WebKit 在移动设备上占据主导地位的受害者。我们不能让这种情况继续发生。jQuery 基金会致力于推动标准,例如 Pointer Events,以改善开发人员体验,从而使 Web 成为一个更好、更易于访问的地方。 我们可以一起推动 Web 的发展,让标准和更好的 API 获胜。 我们可以选择 Pointer Events 而不是 Touch Events。 并且我们可以立即通过 PEP 来做到这一点。

jQuery 基金会 2014 年年度报告

发布于 作者

jQuery 基金会旨在支持 Web 开发者创建基于开放标准、可供所有用户访问的 Web 内容。我们通过开发和支持开源软件,以及与开发社区合作来实现这一目标。该基金会托管着对这一愿景至关重要的开源项目。

我们所取得的成就

我们一直以我们的同名项目及其出色的文档而闻名。在过去的一年中,jQuery 基金会继续努力确保 Web 开发者拥有完成工作所需的工具和信息,而不仅仅是 jQuery、jQuery UI 和 jQuery Mobile。

特别是过去几个月,我们取得了令人难以置信的进展。在 10 月,我们采用了 jQuery Mousewheel 插件。在 12 月,Google 将指针事件填充 (PEP) 的所有权转让给了 jQuery 基金会。最后,在 1 月,我们宣布采用 Esprima 项目,这是一个被数十个开发者工具使用的 JavaScript 解析器。我们正在努力促进所有这些项目的持续发展,并欢迎社区的贡献。

2014 年,我们开始着手 Chassis 项目,旨在为 CSS 库创建一个开放标准。我们与 Topcoat、Zurb Foundation、Filament Group、Cardinal、Famo.us、Yandex、WordPress、Automattic、10up、960grid、Unsemantic、jQuery Mobile、jQuery UI、Intel App Framework、Cascade CSS、Portland Webworks、Adobe、Hulu 和 Bootstrap 的开发者进行了讨论。我们正在寻找更多的贡献者和社区的意见,了解您希望 CSS 框架具备哪些功能。

我们年度数据

今天,jQuery 基金会在 GitHub 上托管着 45 个开源仓库。这些包括代码和文档。

如果您需要证据证明 jQuery 基金会项目被广泛使用,那么只需看看由 MaxCDN 提供支持的内容分发网络 (CDN) 即可。2014 年的 2900 亿 次请求传输了近 11 PB 的数据。当然,这不包括对 jQuery 本地托管副本以及对 Google、Microsoft 或 CDNJS 等其他 CDN 的请求。毫无疑问,总请求量将达到数万亿。

即使是最好的代码项目,如果没有良好的文档也无法使用。Web 开发者不仅告诉我们我们的文档很好,而且告诉我们它非常出色。2014 年,jQuery 基金会文档的页面浏览量达到 1.49 亿 次,来自 230 个国家/地区。我们所有的文档站点都可在 GitHub 上使用,以便开发者可以打开 issue 并提交 pull request 来改进它们。开源不仅仅适用于代码,它同样适用于文档!

在过去的一年中,jQuery 基金会还举办、授权并参与了全球 10 个活动,包括在圣地亚哥、芝加哥、奥地利维也纳、加拿大多伦多和英国牛津举办的 jQuery 会议。这些活动始终涵盖各种主题,而不仅仅是 jQuery 基金会托管的项目。所有会议的共同点是,它们涵盖了 Web 开发者为了做好工作应该学习的主题。

未来计划

今年,我们将继续根据 Web 开发者的需求推动标准的发展。我们参与 EcmaScript TC39 和 W3C 等组织,使 Web 开发者能够参与到这个过程,而此前这个过程主要由大型营利性公司和浏览器制造商控制。我们还计划加大对 Unicode Consortium 的参与,因为我们正在加大对 Globalize 的投资,以便开发者可以轻松地使他们的软件在全球范围内可用。

我们最近采用 Esprima 突出了另一个 Web 开发者可能需要更多帮助的领域:开发工具。处理 JavaScript、CSS 和 HTML 的工具格局非常分散。存在多种用于编写、创建、模块化和使用 JavaScript 的流程,其中没有一种流程确立为标准。有十多个包管理器,每个包管理器都有其独特的优点和缺点。我们希望与开发者合作,确定更少数量的选项,从而减轻 JavaScript 库的生产者和消费者的负担。

2014 年财务信息

感谢会员和赞助商的慷慨捐助,我们能够资助各种回馈开源事业的活动。我们的大部分投资都用于促进 jQuery 基金会项目的开发,并通过活动和教育机会进一步推广这些项目的使用。

2014 Revenue Chart2014 Expenses Chart

致谢

我们为 jQuery 基金会的成就感到自豪,所有这些成就都归功于我们的团队成员的持续努力。我们还要感谢那些花时间报告问题、修复文档或贡献代码补丁的 Web 开发者。通过改进 jQuery 基金会项目,您改善了所有人的 Web 开发。

我们还感谢我们的 jQuery 基金会会员及其支持。在过去的一年中,IBM 和 Famo.us 等公司加入了并提供了资源,使我们能够完成我们的使命。让我们在 2015 年再接再厉!

Esprima 2.0 发布

发布于 作者

上周,jQuery 基金会 宣布采用 Esprima 项目,该项目是广泛使用的 JavaScript 解析器,为许多代码分析工具提供支持。今天我们很高兴地宣布发布版本 2.0,现在可在 npm 上获取

到目前为止,Esprima 的官方版本仅解析 ECMAScript 5 标准语法。但是,实验性的“harmony”分支一直在添加 ECMAScript 2015(也称为 ES6)功能已经有一段时间了。其中很多工作都是由 Facebook 推动的。现在,许多 ES6 功能的语法已经稳定,甚至在某些浏览器上发布,因此需要支持新语法的工具。

Esprima 2.0 引入了 许多稳定的 ES6 功能,这些功能来自 harmony 分支,并且一直非常可靠。Esprima 的新基线使得代码覆盖率分析、风格检查器和 linter 等工具可以开始处理新的 ES6 语法。

由于 ES5 可能还会与我们同在很长一段时间,因此目前将继续维护 Esprima 1.x,以便提供仅 ES5 解析。当前使用 Esprima 1.x 的工具可以继续这样做,直到它们准备好并能够处理 ES6 结构为止。

Esprima 的 2.1 版本应该会很快随之而来,基于对 2.0 版本稳定性的反馈。这意味着 Esprima 团队需要来自基于 Esprima 的工具的制造商的反馈,以了解是否存在任何问题。如果您构建了一个基于 Esprima 的工具并且遇到了此版本的问题,请 报告它们。(请注意,该项目现在使用 GitHub 来处理问题,而不是 Google Code。)

我们很高兴看到 Esprima 的下一步发展!