iOS開發庫整理

jopen 10年前發布 | 45K 次閱讀 IOS iOS開發 移動開發

圖像:

1.圖片瀏覽控件MWPhotoBrowser 
      實現了一個照片瀏覽器類似 iOS 自帶的相冊應用,可顯示來自手機的圖片或者是網絡圖片,可自動從網絡下載圖片并進行緩存。可對圖片進行縮放等操作。
      下載:https://github.com/mwaterfall/MWPhotoBrowser

目前比較活躍的社區仍舊是Github,除此以外也有一些不錯的庫散落在Google Code、SourceForge等地方。由于Github社區太過主流,這里主要介紹一下Github里面流行的iOS庫。
 
首先整理了一份Github上排名靠前的iOS庫(大概600個repos)
 
除了逛一下每日/每月流行之外,也可以到這里來看一下整個iOS Repos的排名。
 
下面是一些比較流行的第三方庫:
 
HTTP
相比較之下,AFNetworking是目前最優秀的一個了:輕量、易用、使用者多、開發者有在積極維護。在AFN出現之前,這個角色是由ASIHTTPRequest扮演的,只是到現在年久失修了。關于AFN和ASI的對比,這里有一篇不錯的文章http://www.infoq.com/cn/articles/afn_vs_asi。除此之外,MKNetworkKitRestKit也有一定的使用者。
 
Socket
CocoaAsyncSocket無疑是目前封裝得最完善的Socket庫了:支持異步TCP/UDP,支持GCD,Objective-C接口封裝。。目前沒有發現可以與之相比的同類產品。。
 
JSON
JSONKit算是第三方中最優秀的一個了:性能很高,文件少。在JSONKit之前,SBJson非常非常流行,但是SBJson性能夠差,只是由于歷史原因仍然存在在某些工程里面。如果工程只需要支持iOS5以上的系統,那就可以放棄那些第三方Json庫了,直接用系統提供的NSJSONSerialization,性能比第三方的好,又是官方API。。
 
XMPP
現在做個實時聊天,XMPP協議算是很成熟的方案了。XMPPFramework一個很不錯的選擇,可以直接和OpenFire服務器打交道。項目不大人手不多的話,可以看看這個。
 
基礎工具類
SSToolkit算是一個不錯的工具包,提供各種比如編碼、加密、字符串處理等等東西,還提供了一些不錯的自定義控件,并且文檔非常齊全。
 
框架
過去有很多人再用three20,這個東西太大太重,文檔又少,到頭來連非死book都停止維護了。作為替代品nimbus現在流行了開來,關鍵在于它文檔齊全。國內有個MVC框架叫BeeFramework,號稱是頂級框架并且功能超過nimbus,有興趣的可以看一下。 ReactiveCocoa把響應式編程這種上流的東西帶了過來,值得試一試。。
 
數據存儲
還是挺多人(比如我)喜歡直接跟SQLite打交道的,這方面fmdb封裝的很不錯。如果用CoreData來做存儲的,可以用一下MagicalRecord
 
圖像處理
GPUImage無疑是這方面的集大成者了。用OpenGL ES2.0來實時處理圖片和視頻流,性能和功能都是頂尖的。
 
開發和調試工具
PonyDebugger看上去是一個不錯的調試工具,可以在電腦瀏覽器上遠程調試iOS程序、查看試圖層次、網絡等等。CocoaLumberjack是個Log工具,號稱是可以提供企業級Log,使用者也挺多。
 
為了了解一下目前第三方庫的普及程度,下面列舉一些知名App對第三方庫的依賴。
 
網易新聞
 
Garageband
MurmurHash
libpng
zlib
SBJson (json-framework)
 
iWork三套件
 
Pinterest
 
多看閱讀
 
淘寶
 
微信
 
QQ
ASIHTTPRequest
FMDB
CocoaAsyncSocket
JSONKit
MBProgressHUD
OpenUDID
SBJson
SVPullToRefresh
 
百度地圖
 
微博
 
人人
可以看到,這些大型的App的依賴都很混亂,所以稍微解釋一下。這些大公司都有一個iOS團隊來協同開發,團隊成員的水平也參差不齊。有時由于歷史原因,例如某個App的某個組件依賴了ASIHttpRequest,但之后的新人改用了AFNetworking,就造成上面這種比較混亂的庫依賴關系。這就造成難以維護、代碼冗余等問題了。所以,引入一個第三方庫一定要慎重考慮,如果可能,盡量自己開發和實現相應的功能,第三方庫盡量只作為參考。 小團隊或者個人開發者可以不必過多考慮,開發速度優先。
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!