2015年,Facebook 排名前 5 的开源项目 - 开源中国社区
2015年,Facebook 排名前 5 的开源项目
oschina 2016年01月17日

2015年,Facebook 排名前 5 的开源项目

oschina oschina 发布于2016年01月17日 收藏 94 评论 12

腾讯云 十分钟定制你的第一个小程序>>>  

Facebook坚信开源的力量。当社区集合起来编写代码时,其好处是不可估量的。有人能指出问题所在,同时解决方案也会很快跟进。借助于社区的力 量,大家可以一同解决所面临的挑战,这也会不断加速创新的过程,同时社区会突破既有技术的限制。当然了,成功的项目依赖于强大且富有合作精神的社区。在新 的一年开始之际,我们一起来盘点一下Facebook在2015年排名前5的开源项目,度量指标则是根据社区活跃度与影响力来决定的。

HipHop Virtual Machine(HHVM)

HHVM是虚拟机与Web服务器,它于2013年开源,其基础则是2010年所发布的HPHPc编译器。在过去的一年当中,我们看到了该项目的提交 量增加了29%,派生数量增加了30%。HHVM常常用作独立的服务器,用于替代Apache与mod_php,旨在执行使用Hack与PHP所编写的程 序。它使用了即时编译方法来实现超高的性能,同时又保持了PHP开发者所习惯的灵活性。在过去的一年中,HHVM项目取得了长足的进步:

  • 默认情况下可以使用新的Async特性,包括AsyncMySQL与MCRouter(memcached)支持

  • 12月份在PHP 7发布时宣布对所有主要的PHP 7特性提供支持,同时又发布了用户文档

  • Box宣布将HHVM作为其PHP代码基的执行引擎

  • Etsy在4月份迁移到了HHVM,这有助于帮助公司解决构建移动产品时所面临的各种挑战

React

Facebook在2013年5月开源了React,在过去的一年中,社区的协作关系变得越来越强大了,提交量增加了75%,派生数增加了 198%。React是Facebook开发的用于构建用户界面的JavaScript库,现已为很多公司所用,因为它采用了一种不同的方式来构建应用: 借助于React,我们可以将应用分解为彼此解耦的独立组件,这样就可以独立维护并迭代各种组件了。2015年,React有两个主要的发布,同时还发布 了React Native,并且发布了新的开发者工具。现在已经有越来越多的公司(包括Netflix与WordPress)开始使用React构建自己的产品了。

Presto

Presto是我们开发的一款分布式SQL引擎,主要用于针对各种大小的数据源(从GB到PB)来运行交互式分析查询。我们创建Presto的主要 目的在于帮助我们更快地分析数据,因为我们的数据量一直在持续增长,产品周期的节奏也变得越来越快。自从2013年11月开源了Presto后,我们看到 它呈现出爆发性增长,使用它的人也越来越多。在过去的一年中,其提交数增加了48%,派生数增加了99%。诸如Airbnb、Dropbox以及 Netflix等公司都将Presto作为自己的交互式查询引擎。我们还看到了Presto的使用量在全球范围内的持续增长,这包括来自于日本的社交媒体 游戏开发公司Gree,以及来自于中国的电子商务公司京东。

2015年,Teradata宣布了加入Presto社区的计划,将专注于增强其企业级特性并为之提供支持。这也从一个侧面说明了社区相信 Presto有能力成为数据基础设施栈的一个重要组成部分。此外,Amazon Web Services(AWS)在其EMR服务中对Presto提供了一流的支持,很多产品用户,包括Nasdaq与领先的商业智能工具厂商 MicroStrategy都开始支持Presto,其中MicroStrategy还在其旗舰产品MicroStrategy 10中对其提供了支持。

RocksDB

我们在2013年11月开源了RocksDB,这是一款嵌入式、持久化的键值存储,能够实现快速的存储。过去一年中,除了令人印象深刻的52%的提 交数增加与57%的派生数增加外,这个项目在开源社区如此流行的原因在于这款嵌入式数据库能够对由于网络延迟等原因造成的慢查询响应时间起到消除的作用, 它非常灵活,完全可以针对各种新兴的硬件发展趋势进行定制。RocksDB在LinkedIn与Yahoo等公司中承担了关键的服务。对于我们来说,这一 年的主要关注点在于将RocksDB存储引擎带到通用数据库领域当中,从MongoDB开始。类似于Teradata对Presto的商业支持,这一年 RocksDB的另一个里程碑是Percona的数据性能专家宣布对其提供企业级支持。

React Native

React Native是我们最新的一个开源项目,并且于2015年3月开源。借助于React Native,工程师可以使用与React相同的方式和工具来快速构建针对于移动设备的原生应用。除了在内部开发这些工具外,Facebook还联合了开 源社区一同改进开发者的体验。2015年,React Native成为了Facebook第2个最为流行的开源项目,其在GitHub上有超过23,000个粉丝。它在Facebook内部用于构建iOS与 Android平台的Facebook Ads App,结果就是85%的代码得到了重用,其核心竞争力则是JavaScript。React Native为移动开发所带来的范式转移使得它成为了年度的一个最大亮点。

值得一提的是,约有3,400名开发者为Facebook开源的那些项目贡献出了自己的力量,他们当中的大多数人都不是Facebook员工。一个 开源项目的外部贡献者数量是衡量这个开源社区流行度的一个重要指标,Facebook创造了最为流行的开源代码。2015年,约有2,500名外部开发者 为Facebook的开源项目贡献了力量,这个数字在2014年则是1,000。开源软件正变得越来越重要,这不仅在互联网巨头和初创企业中是这样,在传 统企业中亦如此。诸如Walmart、Target与Booz Allen Hamilton等公司都有官方的GitHub账号,上面有很多仓库以及活跃的贡献者团队。参与开源社区不仅需要更加关注于问题或是免费获取代码(得到免 费的开源代码是很容易的事情,但要想将其为特定的场景所用则不是那么轻松的事情),而且还是一种行之有效的人才遴选方式。Facebook现在在 GitHub上有330多个开源项目仓库。社区的成长与参与度是非常重要的。2015年,Facebook的公开项目得到了50,000多次提 交,2014年这个数字则是28,000。总的星数为318,000,2014年这个数字则是135,000,超过了一倍多。与之类似,2015年总的派 生数是53,000,相比于2014年来说增加了127%。

总体来说,我们依然还有很多工作要做,不过我们对以社区方式来完成所有这些工作感到由衷的自豪。这里也感谢在这些项目上花费了巨大心力的每一个人, 正是你们的帮助才有了我们璀璨的一年!2016年,我们还会继续同其他开发者协作来全力支持这些项目,我们也期待能与社区有着更为紧密的合作关系。

转载自:infoq.com/cn

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:2015年,Facebook 排名前 5 的开源项目
分享
评论(12)
最新评论
0
mark
0
如果按照watch、star、fork来看,我们的开源项目CoreThink也逐渐受到了大家的欢迎,希望将来也能做出一款世界知名的开源产品。前些天我们刚刚登上了OC首页的官方推荐,官方网址为:http://www.corethink.cn,OC下载地址为:http://git.oschina.net/jry/corethink 。CoreThink是一套轻量级互联网产品开发框架,追求简单、高效、卓越。可轻松实现移动互联网时代支持多终端的轻量级互联网产品快速开发。系统功能采用模块化开发,内置丰富的模块,便于用户灵活扩展和二次开发。
0

引用来自“eechen”的评论

因为没有缓存hhbc的时候,HHVM在ab压测中被PHP7吊打,所以HHVM有一个hhvm.repo.central.path配置用于启动时载入hhbc缓存,以为这样就很牛逼.不过PHP7马上添加了opcache.file_cache配置项进行还击,可以导出PHP页面对应的opcode到文件系统,启动时载入到内存,这样就无需解析原来的脚本,一定程序上还可以用来保护源代码:
http://my.oschina.net/eechen/blog/539995
不过需要注意的是,这些导出的opcode是平台相关的,也就是Linux版PHP7导出的opcode无法放到Mac上PHP7运行,更别提不伦不类的瘟斗士了.

引用来自“HYUO”的评论

有asp.net mvc,Win上有拍黄片何用20ee神真是自作多情13
eechen为啥总要引起争议 总想让别人和他吵 或者 网友之间吵。。是不是太基于炒作自己了?
0
赞一个
0
。。
合适的语言做合适的事,至今不明白语言之争有什么意义
0
@3322 移动领域的瘟斗士还有互联网的大毒瘤IE已然成为过去式,难道不是么?现在还有有人闲得蛋疼去构建一个Windows Mobile用的PHP么?在Android上构建PHP的项目倒有不少,什么DroidPHP呀,KSWeb呀,国人的Anmpp呀.
0

引用来自“eechen”的评论

@HYUO 等有一天PHP没有在瘟斗士上存在的价值的时候,微软可就惨了,说明瘟斗士已经成为过去,哈哈.
windows过去的时候你还写得动程序吗?还能够跟年轻人拼?
0

引用来自“eechen”的评论

@HYUO 等有一天PHP没有在瘟斗士上存在的价值的时候,微软可就惨了,说明瘟斗士已经成为过去,哈哈.
2333啊,拍黄片不愧是最好的语言13
0
@HYUO 等有一天PHP没有在瘟斗士上存在的价值的时候,微软可就惨了,说明瘟斗士已经成为过去,哈哈.
0

引用来自“eechen”的评论

因为没有缓存hhbc的时候,HHVM在ab压测中被PHP7吊打,所以HHVM有一个hhvm.repo.central.path配置用于启动时载入hhbc缓存,以为这样就很牛逼.不过PHP7马上添加了opcache.file_cache配置项进行还击,可以导出PHP页面对应的opcode到文件系统,启动时载入到内存,这样就无需解析原来的脚本,一定程序上还可以用来保护源代码:
http://my.oschina.net/eechen/blog/539995
不过需要注意的是,这些导出的opcode是平台相关的,也就是Linux版PHP7导出的opcode无法放到Mac上PHP7运行,更别提不伦不类的瘟斗士了.
有asp.net mvc,Win上有拍黄片何用20ee神真是自作多情13
0
因为没有缓存hhbc的时候,HHVM在ab压测中被PHP7吊打,所以HHVM有一个hhvm.repo.central.path配置用于启动时载入hhbc缓存,以为这样就很牛逼.不过PHP7马上添加了opcache.file_cache配置项进行还击,可以导出PHP页面对应的opcode到文件系统,启动时载入到内存,这样就无需解析原来的脚本,一定程序上还可以用来保护源代码:
http://my.oschina.net/eechen/blog/539995
不过需要注意的是,这些导出的opcode是平台相关的,也就是Linux版PHP7导出的opcode无法放到Mac上PHP7运行,更别提不伦不类的瘟斗士了.
0
Facebook的HHVM精英们,这次终于不敢说HHVM性能是PHP的N倍了吧,呵呵,被鸟哥一众打造的PHP7强行打了脸,真的好疼.

PHP7性能大幅提升,对于I/O密集型为主的Web应用,已经足够高效了.
比如PHP7(ZendOpcache)驱动的WordPress的速度接近静态页的速度(0.028s):
http://static.oschina.net/uploads/space/2015/0729/011656_TwPy_561214.png
改进的zval结构体,opcache缓存,PCRE JIT,这些都能有效提升真实应用的性能.

Xubuntu(i5-3230M)上,简单的time curl WordPress首页测试,PHP7 Beta2比HHVM 3.8.1快32%!PHP7和HHVM均进行了热身,PHP7缓存有opcode,HHVM缓存有bytecode(hhbc即hiphop bytecode).
http://static.oschina.net/uploads/space/2015/0802/154304_lP6z_561214.png
如果对测试数据存在质疑,欢迎下载我在Ubuntu上打包的适用于64位的Linux的PHP7 Beta2 with Swoole和HHVM 3.8.1自行测试:
http://my.oschina.net/eechen/blog/411534

测试了下6月6日下载编译的PHP7和HHVM最新的3.7.1.
ab -c100 -n1000 http://www.example.com/app/wordpress/
100并发完成1000个请求,PHP7(开启opcache,5个PHP-FPM工作进程)每秒处理117个请求,HHVM则是每秒126个,性能差距很小.值得一提的是,HHVM没有热身时(第一次压测),每秒只能处理56个请求,而PHP7仍能处理117个请求.
顶部