你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> 直接拿來用!Facebook移動開源項目大合集

直接拿來用!Facebook移動開源項目大合集

編輯:關於IOS

隨著iOS依賴管理工具CocoaPods和大量第三方開源庫成熟起來,業界積累了大量的優秀開源項目。不久之前,Facebook推出了旗下移動新聞閱讀應用Paper,便動用了將近100個第三方開源庫,極大地簡化了自己的應用開發任務。

移動開發生態圈日益完善,基礎的開源組件也越來越豐富,而Facebook不僅取之開源,更不斷地開源其內部項目,將成果反饋給開源社區,與開發者共享。接下來,就讓我們一起來看看那些年Facebook在移動開發方面所推出的眾多開源項目。

1. KVOController

KVOController是Facebook開源的一款簡單安全的KVO(Key-Value Observing,鍵值觀察,Objective-C中定義的一個通知機制)工具,用於iOS和Mac OS X應用開發中。KVOController基於Cocoa經過時間考驗的KVO實現開發而成,它提供了一個簡潔方便、線程安全的API。

主要特性:

  • 使用Blocks、自定義Actions或NSKeyValueObserving回調進行通知;
  • 觀測者移除時無異常;
  • 控制器dealloc時移除隱式觀測者;
  • 提升使用NSKeyValueObservingInitial的性能;
  • 為恢復觀測者提供特殊防護的線程安全。

相關鏈接:KVOController的GitHub托管地址、mobilehub主頁

2. Shimmer

Shimmer是一款開源的加載效果工具,能夠非常簡單地向應用中的任何視圖添加閃閃發光的字體效果,並且不會顯得突兀。Shimmer最初是Facebook於今年1月所推出的Paper的開發過程中所使用到的工具,後被Facebook基於BSD許可協議開源,支持iOS 6及其以上系統。

直接拿來用!Facebook移動開源項目大合集

相關鏈接:Shimmer的GitHub托管地址、mobilehub主頁

3. Rebound

Rebound是Facebook推出的一款Android的物理和動畫庫,於2013年10月在Mobile@Scale大會上正式發布,旨在解決笨重、緩慢的傳統移動網絡界面。Rebound基於BSD許可協議,兼容HTML5和Node.js。

直接拿來用!Facebook移動開源項目大合集

Rebound不是一款通用物理庫,但其彈簧模型在應用程序中引入了現實世界的物理,易於集成,創建的動畫能夠讓人感覺到非常自然,可用於滾動條、切換開關、呼叫等場景下。

相關鏈接:Rebound官網、GitHub托管地址、mobilehub主頁

4. Buck

Buck是Facebook開發的一款開源Android Build工具,基於Apache License 2.0協議發布,可以通過獨立構建並行來發揮多核的性能,加速開發者的Android應用構建流程。Buck基於單一的庫構建,能夠以最小的資源集重建,非常適用於Android項目組織與管理。

直接拿來用!Facebook移動開源項目大合集

主要特性:

  • 加速Android構建。充分發揮多核處理器的優勢,並行構建獨立模塊。通過追蹤沒有變化的源文件,減少增量構建實踐,最少化需要重建的資源。
  • 對於不支持開箱即用的Android Ant編譯腳本,引進ad-doc構建系統。
  • 在構建系統裡保持生成構建的邏輯,無需另外的系統生成構建文件。
  • 基於構建規則生成一個Intellij項目,能同時匹配本地IDE以及無頭文件編譯開發。
  • 支持單元測試,選用最均衡的方式獲得代碼覆蓋率。

相關鏈接:Buck官網、Github托管地址、mobilehub主頁

5. xctool

xctool是Facebook推出的另一款開源的應用構建工具,基於Apache License 2.0協議發布,用於取代蘋果的xcodebuild,來簡化iOS和Mac項目的構建和測試。xctool對於持續集成可謂大有裨益,其最大的好處就是可以直接從命令行構建和運行單元測試。

直接拿來用!Facebook移動開源項目大合集

xctool在xcodebuild的基礎上還添加了一些額外的功能,比如支持將構建和測試結果結構化輸出;界面友好,支持ANSI彩色輸出;速度更快,支持進行並行測試,使得運行速度提升2~3倍等。xctool支持Xcode 5+,並且,在使用xctool時必須安裝Xcode命令行工具。

主要特性:

  • 作為Xcode.app運行相同的測試;
  • 構建輸出和測試結果均為JSON格式,無需解析輸出;
  • xctool只有在發現錯誤的時候才打印消息,而xcodebuild對每個源文件都會打印。

相關鏈接:xctool的GitHub托管地址mobilehub主頁 

 

6. Conceal

Conceal是一套用於Android平台上進行文件加密和鑒權的Java API,專為速度設計,小巧而高速。它使用了OpenSSL算法的子集和一些預先定義的選項,能夠讓庫保持在較小的體積。通過它,開發者可以實現對手機、平板電腦SD卡中的數據以及大型文件進行加密和存儲。

相關鏈接:Conceal官網、GitHub托管地址、mobilehub主頁

7. Origami

在界面和交互設計上頗讓人驚喜的Paper讓Facebook的大量開源工具從幕後走向了台前,Origami即為其中之一。這個被盛贊為“交互神器”的設計師新寵,是Facebook設計團隊花費了9個月時間開發的一款基於Quartz Composer的插件,能夠讓設計師無需編程,快速構建移動應用交互原型。

直接拿來用!Facebook移動開源項目大合集

Origami為設計師提供了開關、滾動、彈性動畫等一系列自定義控件,並對Quartz Composer進行了改善,比如支持Retina顯示器、重新設計工具欄圖標等,以幫助設計師更為輕便地實現應用原型交互。

相關鏈接:Origami官網、GitHub托管地址、mobilehub主頁

8. Bolts(iOS / Android)

Bolts是一個面向iOS和Android的底層庫集合,分別為Bolts-iOS和Bolts-Android,由Facebook和Parse共同設計完成,於2014年1月基於BSD許可協議開源,其所有源碼均托管到GitHub上。Bolts能夠讓移動應用開發變得更加簡單,其組件與Parse及Facebook服務完全無關,因此,開發者無需擁有Parse或Facebook開發者賬戶即可直接使用。

相關鏈接:Bolts的Github托管地址、mobilehub主頁

9. Facebook SDK(iOS / Android)

Facebook SDK for iOS(Android)是Facebook官方為iOS(Android)平台提供的Facebook API的SDK,允許開發者將Facebook集成到所開發的iOS(Android)應用中。

直接拿來用!Facebook移動開源項目大合集

相關鏈接:Facebook SDK的GitHub托管地址(iOS / Android)、mobilehub主頁(iOS /Android)

10. fishhook

最後,再來介紹一款專門用於iOS安全攻防的開源庫。fishhook是Facebook推出的一款能夠直接在iOS模擬器及設備上動態修改鏈接Mach-O符號表的工具。fishhook通過改變間接符號表的偏移量,提供一個假的nlist結構體,從而達到hook的目的,其功能很類似於在OS X上使用DYLD_INTERPOSE。

相關鏈接:fishhook的GitHub托管地址、mobilehub主頁

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved