Facebook 2013年的9个开源项目

简介: Facebook是全球最大的社交网站,它的成长背后离不开开源力量。其开源项目负责人James Pearce介绍说,Facebook从写下自己的第一行PHP代码开始,第一次使用MySQL INSERT语句开始,开源就已经融入到公司的工程师文化里面了。

Facebook是全球最大的社交网站,它的成长背后离不开开源力量。其开源项目负责人James Pearce介绍说,Facebook从写下自己的第一行PHP代码开始,第一次使用MySQL INSERT语句开始,开源就已经融入到公司的工程师文化里面了。

Facebook不仅取之开源,更是不断开源其内部项目,将内部成果反馈给开源社区,可以说,这才是一个伟大公司应有的态度。通过不断开源自己的产品项目,Facebook吸引了大量优秀开发者为其工作。可以通过文章 《后起之秀Facebook凭什么挑战互联网霸主Google?》详细了解Facebook背后的开源力量。 

当然,开源的项目不全是高大上,还有一些小型项目值得一看。下面我们一起了解下2013年Facebook的那些小型开源项目。 

1. xctool 

一款Apple xcodebuild的替代工具,可以让构建和测试iOS和Mac项目变得更加简单,尤其适合持续集成(Continuous integration)式的开发实践。 

xctool并是简简单单地进行替代,它还增加了一些新功能,如: 

  • 支持将构建&测试结果结构化输出
  • 界面友好,支持ANSI彩色输出
  • 速度更快,支持进行并行测试,使得运行速度提升2~3倍

开源协议:Apache License 2.0 


2. Buck 

一款Android、Java构建工具,该项目的一个主要点就是放在了“提速Android构建过程”上。主要通过利用多核并行运行,保持跟踪无变化模块以减少重新构建时间等方式来达到减少总体构建时间的目的,具体可了解《Buck: What Makes Buck so Fast》。 

开源协议:Apache License 2.0 

3. Rebound 

一个Java动画库,Rebound的弹簧模型(spring model)在应用程序中引入了现实世界的物理,创建的动画让人感觉很自然,可以用在滚动条、切换开关等场景下,可在项目主页中的Demo里面观察效果。 

开源协议:BSD License 


4. React 

用于构建用户界面的JavaScript库,非常灵活,可与目前流行的库和框架一起使用,目前已经在Instagram及Facebook等网站进行了应用。 

开源协议:Apache License 2.0 


5. Regenerator 

在Node.js中使用 generator ,最终会产生一堆无法在客户端执行的代码。所以,Facebook团队开发出了Regenerator,以替代Node.js中的原生generator,让开发者写出更加干净、功能强大的代码。 

开源协议:BSD License 


6. Huxley 

Web应用程序UI测试工具,开发语言为Python。Huxley可以监控内容变化、进行屏幕截图,之后反馈给我们哪些地方进行了改动,对响应式设计测试也是可以的。 

开源协议:Apache License 2.0 

7. Presto 

Facebook的分布式SQL查询引擎,可用来进行高速、实时的交互式数据查询与分析。Presto在CPU的性能和主要的查询性能上比Hive/MapReduce要好7~10倍以上。每天,会有1000名Facebook员工使用Presto对PB级的数据进行扫描,运行查询30000次以上。除Facebook公司外,Airbnb和Dropbox也都已经采用了Presto。 

更多内容,可以参考CSDN文章 《比Hive高效7倍,Facebook推新一代查询引擎Presto》。 

开源协议:Apache License 2.0 


8. RocksDB 

RocksDB基于 LevelDB的嵌入式key-value存储类库,但提高了扩展性,可以运行在多核处理器上、有效使用快速存储,支持IO绑定、内存和一次写负荷。可查看 极客头条的部分介绍。 

开源协议:BSD License 


9. Origami 

无需编程即可通过Origami轻松创建交互设计原型。提示:Quartz Composer是Mac下一款图形编程工具,专门用来生成各种动态视觉效果,包括可交互的界面原型。 

该工具提供的查看器支持Retina、支持原生全屏,当拖动图片时也会自动添加一个图层。同时,官方也给出了很多 范例,帮助使用者学习该工具的使用。 

开源协议 内容 


原文: Venturebeat / 编译:王殿进

目录
相关文章
|
存储 Java Android开发
Facebook开源项目:我们为什么要用Fresco框架?
(Facebook开源项目)Fresco:一个新的Android图像处理类库    在Facebook的Android客户端上快速高效的显示图片是非常重要的。然而多年来,我们遇到了很多如何高效存储图片的问题。
1217 0
|
机器学习/深度学习 算法 决策智能
【重磅开源】Facebook开源 Nevergrad:一种用于无梯度优化的开源工具
【重磅开源】Facebook开源 Nevergrad:一种用于无梯度优化的开源工具
203 0
|
缓存 数据可视化 测试技术
开源多年后,Facebook这个调试工具,再登Github热门榜
让许多工程师合作开发大型应用大多会面临一个挑战,通常没有一个人知道每个模块是如何工作的,这种技能会让开发新功能、调查Bug或优化性能变得困难,为了解决这个问题,Facebook创建并开源了Flipper,一个可扩展的跨平台的调试工具,用来调试 iOS 和 Android 应用。近日又双叒登上了Github热榜。
|
前端开发 JavaScript 测试技术
Facebook 开源可扩展文本编辑器 Lexical
Meta(原 Facebook)近日开源可扩展文本编辑器 Lexical,源代码托管在 GitHub 上采用 MIT 许可证。
547 0
Facebook 开源可扩展文本编辑器 Lexical