Facebook 相信开源的巨大力量。当整个社区能够共同致力于编码工作时,所产生的益处是不可估量的。人们会用新的眼光指出我们的问题,让我们能够更快地找出解决方案。我们将一起克服所面对的挑战、加速创新过程。社区的力量能够让我们冲破现有技术的种种限制。
当然,成功的开源项目离不开一个健壮的、通力协作的社区。在年终即将来临之际,我们将按照社区的活跃度与影响力排名,选出 Facebook 在 2015 年的 5 大开源项目。
HipHop 虚拟机(HHVM)
HHVM 是我们开发的一套虚拟机与 web 服务器系统,并于 2013 年实现了开源,它是基于我们在 2010 年发布的 HPHPc 编译器开发的。仅在过去一年间,代码提交次数就上升了 29%,而 fork 的数量则上升了 30%。
HHVM 最常见的用途是作为单台服务器使用,它的目标是取代 Apache 与 mod_php,运行由 Hack 和 PHP 编写的程序。通过 JIT 编译方式,HHVM 能够实现更好的性能,同时保留了 PHP 开发者已习惯的各种灵活性。我们在今年实现了几个重要的里程碑:
- 新的 Async 特性默认可用,包括对 AsyncMySQL 与 MCRouter (memcached)的支持。
- 当 PHP 7 语言本身于 12 月推出的同时,我们就宣布了对 PHP 7 所有主要特性的支持,并且发布了新一版的用户文档。
- Box宣布将使用 HHVM 作为运行其 PHP 代码的唯一引擎。
- Etsy 在 4 月份将业务迁移至 HHVM 平台,帮助该公司克服了在创建大规模移动产品时所遇到的各种挑战。
React
Facebook 在 2013 年 5 月开源了 React,而在过去一年间,我们仍然获得了来自社区的极大支持,代码提交的数量提高了 75%,而 fork 的数量更是提高了 198%。React 是由 Facebook 所设计的一种用于构建用户界面的 JavaScript 库,目前已在许多公司得到应用。React 使用了一种全新的方式构建应用:它允许开发者将应用分解为相互解耦的组件,因此每个组件都可进行独立的维护与迭代。
今年,我们为 React 推出了两个重要的发布:一是 React Native,二是新的开发者工具。我们也看到越来越多的公司开始使用React 构建他们的产品,包括 Netflix 与 WordPress 。
Presto
Presto 是由我们设计的新型分布式 SQL 引擎,它能够对各种大小(从 GB 级至 PB 级)的数据源进行交互式的分析查询。我们设计 Presto 的目标是帮助我们更快地进行数据分析,以配合我们不断增长的数据量与持续加速的产品周期。
自从我们于 2013 年 11 月开源了 Presto 之后,它的发展、接受度以及对它的支持都得到了全面的提高。在去年一年的时间内,它的代码提交数量提高了 48%,而 fork 的数量则提高了 99%。 Airbnb 、 Dropbox 以及 Netflix 等各大公司都开始使用 Presto 作为他们的交互式查询引擎。Presto 在全球范围内的接受度也在逐步提高,包括来自日本的社交媒体游戏开发公司 Gree ,以及来自中国的电子商务公司京东 JD.com 。
同样在今年,Teradata 也宣布了加入Presto 社区的计划,专注于企业级特性的改善并提供相应的支持。这也展现了整个社区对于Presto 成为数据基础设施方面一个重要组成部分的信心。此外,Amazon Web Services(AWS)也在其 EMR 服务中将 Presto 作为一线功能提供支持,已有诸多用户在生产环境中使用该功能,包括 Nasdaq。而在业界处于领先地位的商业智能工具开发商 MicroStrategy 也在其旗舰产品 MicroStrategy 10 中提供了对 Presto 的支持。
RocksDB
我们在 2013 年 11 月开源了 RocksDB,这是一个嵌入式的持久化键值数据库,支持高速的数据存储。在过去一年间,该项目的代码提交数量提高了 52%,而 fork 的数量则提高了 57%。除了这些令人印象深刻的数据之外,该项目引起了整个社区强烈共鸣的原因在于该嵌入式数据库能够为由网络延迟引起的响应缓慢问题提供一种临时方案,并且它提供了充分的灵活性,可通过自定义的方式应对不断发展的硬件趋势。
RocksDB 为 LinkedIn 与 Yahoo 等公司提供了各种关键性的服务。我们今年的主要目标之一是将 RocksDB 这个存储引擎的特性迁移至通用目的的数据库上,以 MongoDB 作为起点。与 Teradata 宣布提供对 Presto 的商业性支持类似,RocksDB 今年的另一个里程碑是来自 Percona 的数据性能专家宣布将为其提供企业级的支持。
React Native
React Native 是我们最新推出的开源项目之一,它在今年 3 月实现了开源。React Native 让工程师能够使用与 React 相同的方法与工具为移动设备快速地创建原生应用。Facebook 不仅在内部持续开发这些工具,并且致力于通过与开源社区的协作改善全球开发者的体验。在 React Native 诞生的第一个年头,它就在 Facebook 的开源项目流行度排名中攀升到第二的位置,在 GitHub 上已有超过 23000 位关注者。Facebook Ads 的 iOS 与 Android 应用内部正是使用 React Native 所开发的,对于那些以 JavaScript 为核心能力的开发者来说,代码的重用率达到了 85%。React Native 为移动开发的观念带来了重要的改变,这也是我们本年度最关键的成就之一。
总的来说,我们仍有许多要完善的地方,但作为整个社区的一份子,我们对于目前的成就深感自豪。对于那些在百忙之中仍乐于为这些项目贡献力量、使我们在这一年中达成如此成就的人们,我们深表谢意!
感谢李建盛对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论