10大iOS開發人員最喜愛的類庫

來源:互聯網
上載者:User

標籤:android   blog   http   使用   os   strong   

該10大iOS開發人員最喜愛的庫由“iOS輔導團隊”成員Marcelo Fabri組織投票選舉而得,參與者包括開發人員團隊,iOS輔導團隊以及行業嘉賓。每個團隊都要根據以下規則選出五個最好的庫:1)不能投自己寫的庫;2)排除大的架構,比如遊戲類架構;3)排除不在裝置上啟動並執行庫,例如CocoaPods或者Rack::CoreData也排除在外。

最終評選出了如下10大iOS開發人員最喜愛的庫:

1)SSToolkit

Sam Soffes簡直就是一個Objective-C天才,SSToolkit就是個例子。作者將他在App中實現的各種各樣的UI效果做成個程式碼程式庫,方便其他人使用。

  • SSToolkit一些基礎的類包括SSCollectionView,SSGradientView
  • 從UI組件到便利的Foundation類別都經過精心設計並記錄在案,協助開發人員解決一些普遍問題,比如追蹤一款裝置是否有視網膜顯示屏或者是否能剪裁圖片

2)GPUImage

GPUImage一個功能十分強大又十分易用的影像處理庫

  • 提供各種各樣的影像處理濾鏡,並且支援照相機和攝像機的即時濾鏡
  • 是基於GPU的映像加速,影像處理速度超快,並且能夠自訂映像濾鏡
  • 支援ARC

不過現在還缺少一些Core Image擁有的一些先進功能,比如面部探測。

濾鏡

3)SocketRocket

SocketRocket是一個WebSocket用戶端(WebSocket是適用於Web應用的下一代全雙工系統通訊協議,被稱為“Web的TCP”,它實現了瀏覽器與伺服器的雙向通訊),採用Object-C編寫。超級穩固又簡單易用,簡直就是即時應用的最佳拍檔。

  • SocketRocket遵循最新的WebSocket規範RFC 6455
  • 只有部分比較新的瀏覽器比如Chrome支援這個庫
  • 支援TLS (wss),iOS 4.x系統
  • 使用NSStream/CFNetworking(可免費享用)、使用ARC
  • 採用並行架構
  • 大部分的工作由後端的工作完成、基於委託編程。無任何UI包依賴。

因為Square,才有了SocketRocket

4)HockeyKit

HockeyKit是一個iOS Ad-Hoc自動更新架構。所有的蘋果店中的App都可以使用它,它能顯著提高整個Beta測試過程,分為兩部分:伺服器和用戶端架構。服務端組件不需要用戶端庫就能單獨工作。

  • 只需在伺服器上安裝一次服務端,就可以處理bundle identifier不同的多個應用程式(有開發人員強烈建議對Debug、AdHocBeta和AppStore發布版使用不同的Bundle identifier)
  • 預設當App啟動或喚醒時,用戶端會從伺服器檢測更新,使用者可以在設定對話方塊中修改這個設定:一天一次或手動檢測更新
  • 除了支援iOS,HokeyKit也支援Android平台,不過Android版還處在Alpha階段,支援OTA及應用內更新
  • 為HockeyKit使用者提供伺服器託管服務

Beta測試示範

5)JSONKit

JSONKit是Objective C平台上比較常用的JSON資料存取工具。

  • JSONKit能在啟動並執行情況下與libz.dylib自動連接而無須人工串連
  • 在解析期間,如果檢測到有gzip檔案,JSONKit能自動解壓
  • 速度超快,支援之前的iOS版本(但要注意一點,從iOS 5開始,iOS就已經有本地JSON解析工具了)
  • JSONKit的效能遠優於JSON-Framework(即SBJSON),JSONKit使用起來也非常簡單,表現效能比蘋果iOS 5.0中的NSJSONSerialization還要好,速度比NSJSONSerialization快上25% to 40%,已經是非常大的一個差距了

Benchmark測試結果圖

6)MagicalRecord

使用Core Data時會用到許多引用代碼,讓工作變得很複雜,讓人有種挫敗感,MagicalRecord的出現就是解決這些問題的。

  • 不但能清理Core Data代碼,還可在必要的時候進行NSFetchRequest修改
  • 需要iOS 5.0及以上版本,Mac OS 10.7及以上版本
  • 使用ARC
  • 能利用iCloud同步Core Data商店

7)RestKit

Restkit是一個開源的Objective-C架構。

  • 可在iOS和Mac OS X的Objective-C中與RESTful Web服務進行簡單互動
  • 包含簡單的HTTP request/response API
  • 帶有強大的對象映射系統,用於減少代碼長度
  • RestKit可降低JSON/XML的處理的資源消耗,支援通過SBJSON和YAJL進行JSON解析

當你的應用需要與一個REST遠程API整合的時候,RestKit就會派上用場,幫你減少工作量(教程指導)。

添加Restkit

8)TestFlight

要想輕鬆發送並公測應用?用TestFlight吧,無須通過iTunes,有人曾經整理出了它的三大殺手鐧:

  • 輕鬆採集測試使用者的UDID和iOS 版本、硬體版本,並發送給開發人員。在接收到開發人員的TestFlight邀請之後,使用者只需拿自己的iPhone即可開啟邀請中的連結,註冊帳號,註冊硬體
  • 有了測試包以後,不用一個個發郵件,只需要將IPA上傳到TestFlight網站,然後勾選合適的測試使用者,點擊確認,你就完事了,使用者會馬上收到TestFlight的更新通知,然後只需在他的iPhone上登入TestFlight網站,TestFlight就會自動將測試IPA安裝到他的iPhone上
  • 不用擔心使用者沒有成功安裝,Testfligh能夠給你即時反饋最新統計資料

現在還推出了案頭App,用起來更快更方便了。

9)MBProgressHUD

蘋果的應用程式一般都會用一種半透明的進度顯示效果,不過這個API是不公開的,因此你要是用了,很可能被踢出AppStore。而MBProgressHUD提供了一個替代方案,實現的效果根本看不出和官方程式有什麼差別。

  • 同時還提供了其他附加功能,比如虛擬進展指示符,以及完成提示資訊
  • 你也可以安裝其他東西,比如需要顯示的文本,動畫,x及y設定等等,有許多iOS輔導員都在用它,一般用來作在應用程式內購買
  • MBProgressHUD適用於任何iOS版本,需要LLVM 3.0及以上編譯器架構,相容ARC及非ARC項目,這得取決於蘋果的以下架構:
  1. Foundation.架構
  2. UIKit.架構
  3. CoreGraphics.架構

透明進度效果

10)AFNetworking

AFNetworking是一個輕量級的iOS網路服務類庫。它建立在NSURLConnection和NSOperation等類庫的基礎上,讓很多網路通訊功能的實現變得十分簡單。

  • 支援HTTP請求和基於REST的網路服務(包括GET、POST、 PUT、DELETE等)
  • 支援ARC
  • 要求iOS 5.0及以上版本
  • 有一些外掛程式擴充已有的功能,還有一個功能齊全的API
  • 從URL中擷取JSON特別簡單,簡單到什麼程度?看下面幾行代碼
  1. NSURL*url=[NSURLURLWithString:@"https://alpha-api.app.net/stream/0/posts/stream/global"];
  2. NSURLRequest*request=[NSURLRequestrequestWithURL:url];
  3. AFJSONRequestOperation*operation=[AFJSONRequestOperationJSONRequestOperationWithRequest:requestsuccess:^(NSURLRequest*request,NSHTTPURLResponse*response,idJSON){
  4. NSLog(@"App.netGlobalStream:%@",JSON);
  5. }failure:nil];
  6. [operationstart];

在這10大庫中,AFNetworking是最大贏家,現在是GitHub上第三大Objetive-C庫,iPhone,iPad上很多著名應用都使用這個類庫,是很多人的最愛。

這裡把好用的庫整理出來介紹給大家,希望真正能幫到開發人員,讓你們的生活變得更簡單。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.