總結分享十大iOS開發者最喜好的庫

該10大iOS開發者最喜好的庫由「iOS輔導團隊」成員Marcelo Fabri組織投票選舉而得,參與者包括開發者團隊,iOS輔導團隊以及行業嘉賓。每一個團隊都要根據如下規則選出五個最好的庫:1)不能投本身寫的庫;2)排除大的架構,好比遊戲類架構;3)排除不在設備上運行的庫,例如CocoaPods或者Rack::CoreData也排除在外。html

  最終評選出了以下10大iOS開發者最喜好的庫:編程

  1)SSToolkit後端

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

  SSToolkit一些基礎的類包括SSCollectionView,SSGradientView瀏覽器

  從UI部件到便利的Foundation類別都通過精心設計並記錄在案,幫助開發者解決一些廣泛問題,好比追蹤一款設備是否有視網膜顯示屏或者是否能剪裁圖片服務器

  2)GPUImage網絡

  GPUImage一個功能十分強大又十分易用的圖像處理庫。架構

  提供各類各樣的圖像處理濾鏡,而且支持照相機和攝像機的實時濾鏡併發

  是基於GPU的圖像加速,圖像處理速度超快,而且可以自定義圖像濾鏡app

  支持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項目,這得取決於蘋果的如下架構:

  Foundation.架構

  UIKit.架構

  CoreGraphics.架構

  透明進度效果

  10)AFNetworking

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

  支持HTTP請求和基於REST的網絡服務(包括GET、POST、 PUT、DELETE等)

  支持ARC

  要求iOS 5.0及以上版本

  有一些插件擴展已有的功能,還有一個功能齊全的API

  從URL中獲取JSON特別簡單,簡單到什麼程度?看下面幾行代碼

  NSURL *url = [NSURL URLWithString:@"https://alpha-api.app.net/stream/0/posts/stream/global"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { NSLog(@"App.net Global Stream: %@", JSON); } failure:nil]; [operation start];

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

  這裏把好用的庫整理出來介紹給你們,但願真正能幫到開發者,讓大家的生活變得更簡單。

--開源中國

相關文章
相關標籤/搜索