2013 年 Facebook 的 9 個開源項目匯總
Facebook 是全球最大的社交網(wǎng)站,它的成長背后離不開開源力量。其開源項目負(fù)責(zé)人 James Pearce 介紹說,F(xiàn)acebook 從寫下自己的第一行 PHP 代碼開始,第一次使用 MySQL INSERT 聲明語句開始,開源就已經(jīng)融入到公司的工程師文化里面了。
Facebook 不僅取之開源,更是不斷開源其內(nèi)部項目,將內(nèi)部成果反饋給開源社區(qū),可以說,這才是一個偉大公司應(yīng)有的態(tài)度。通過不斷開源自己的產(chǎn)品項目,F(xiàn)acebook 吸引了大量優(yōu)秀開發(fā)者為其工作??梢酝ㄟ^文章《后起之秀 Facebook 憑什么挑戰(zhàn)互聯(lián)網(wǎng)霸主 Google?》詳細(xì)了解 Facebook 背后的開源力量。
當(dāng)然,開源的項目不全是高大上,還有一些小型項目值得一看。下面我們一起了解下 2013 年 Facebook 的那些小型開源項目。
1. xctool
一款 Apple xcodebuild 的替代工具,可以讓構(gòu)建和測試 iOS 和 Mac 項目變得更加簡單,尤其適合持續(xù)集成(Continuous integration)式的開發(fā)實踐。
xctool 并是簡簡單單地進(jìn)行替代,它還增加了一些新功能,如:
- 支持將構(gòu)建&測試結(jié)果結(jié)構(gòu)化輸出
- 界面友好,支持 ANSI 彩色輸出
- 速度更快,支持進(jìn)行并行測試,使得運行速度提升2~3 倍
開源協(xié)議:Apache License 2.0
2. Buck
一款 Android、Java 構(gòu)建工具,該項目的一個主要點就是放在了“提速 Android 構(gòu)建過程”上。主要通過利用多核并行運行,保持跟蹤無變化模塊以減少重新構(gòu)建時間等方式來達(dá)到減少總體構(gòu)建時間的目的,具體可了解。
開源協(xié)議:Apache License 2.0
3. Rebound
一個 Java 動畫庫,Rebound 的彈簧模型(spring model)在應(yīng)用程序中引入了現(xiàn)實世界的物理,創(chuàng)建的動畫讓人感覺很自然,可以用在滾動條、切換開關(guān)等場景下,可在項目主頁中的 Demo 里面觀察效果。
開源協(xié)議:BSD License
4. React
用于構(gòu)建用戶界面的 JavaScript 庫,非常靈活,可與目前流行的庫和框架一起使用,目前已經(jīng)在 Instagram 及 Facebook 等網(wǎng)站進(jìn)行了應(yīng)用。
開源協(xié)議:Apache License 2.0
5. Regenerator
在 Node.js 中使用 generator ,最終會產(chǎn)生一堆無法在客戶端執(zhí)行的代碼。所以,F(xiàn)acebook 團(tuán)隊開發(fā)出了 Regenerator,以替代 Node.js 中的原生 generator,讓開發(fā)者寫出更加干凈、功能強大的代碼。
開源協(xié)議:BSD License
6. Huxley
Web 應(yīng)用程序 UI 測試工具,開發(fā)語言為 Python。Huxley 可以監(jiān)控內(nèi)容變化、進(jìn)行屏幕截圖,之后反饋給我們哪些地方進(jìn)行了改動,對響應(yīng)式設(shè)計測試也是可以的。
開源協(xié)議:Apache License 2.0
7. Presto
Facebook 的分布式 SQL 查詢引擎,可用來進(jìn)行高速、實時的交互式數(shù)據(jù)查詢與分析。Presto 在 CPU 的性能和主要的查詢性能上比 Hive/MapReduce 要好7~10 倍以上。每天,會有 1000 名 Facebook 員工使用 Presto 對 PB 級的數(shù)據(jù)進(jìn)行掃描,運行查詢 30000 次以上。除 Facebook 公司外,Airbnb 和 Dropbox 也都已經(jīng)采用了 Presto。
開源協(xié)議:Apache License 2.0
8. RocksDB
RocksDB 基于 LevelDB 的嵌入式 key-value 存儲類庫,但提高了擴(kuò)展性,可以運行在多核處理器上、有效使用快速存儲,支持 IO 綁定、內(nèi)存和一次寫負(fù)荷??刹榭?a target="_blank">極客頭條的部分介紹。
開源協(xié)議:BSD License
9. Origami
無需編程即可通過 Origami 輕松創(chuàng)建交互設(shè)計原型。提示:Quartz Composer 是 Mac 下一款圖形編程工具,專門用來生成各種動態(tài)視覺效果,包括可交互的界面原型。
該工具提供的查看器支持 Retina、支持原生全屏,當(dāng)拖動圖片時也會自動添加一個圖層。同時,官方也給出了很多范例,幫助使用者學(xué)習(xí)該工具的使用。
開源協(xié)議:內(nèi)容
原文鏈接:http://venturebeat.com/2013/12/20/here-are-facebooks-9-top-open-source-projects-from-2013/
譯文鏈接:http://www.iteye.com/news/28603-facebooks-9-top-open-source-projects-from-2013