IOS 第三方庫


原文  http://adad184.com/2015/07/08/my-favorite-libraries-and-plugins/

  

前言 

第三方庫是如今的程序員離不開的東西 不光是APP開發 基本上全部的商業項目 都會或多或少的使用到第三方庫 

Github上Star>100的開源庫數量以下 

能夠看到JS以絕對的優點排名第一 必定程度上也說明了JS在這幾年爲何發展得這麼迅速 不會點JS都很差意思說本身是碼農 不過如今JS圈的造輪子浪潮也是愈演愈烈了 本身不寫個框架都很差意思打招呼 

OC排名第四 相信這個排名還會上升 Swift暫時還擠不進前十 不過超過OC 也是指日可待(畢竟親兒子) 

Xcode基本是Mac/iOS程序員的必備工具(AppCode我沒用過 不知道有多少人用?) 可是能說有多好用..這就仁者見仁了(跟Visual Studio是沒得比了) 不過在用了插件之後 倒也能讓生產力提高一大截 

接下來我會介紹一些我本人經常使用的第三方庫和插件 也許很少 可是必定是久經考驗 用了必定不會錯 

介紹 

第三方庫 

CocoaPod

CocoaPod並非iOS上的第三方庫 而是大名鼎鼎的第三方庫的管理工具 

在CocoaPod沒有出現以前 第三方庫的管理是很是痛苦的 尤爲是一些大型的庫(好比nimbus) 每次對庫進行更新 均可能會很是的痛苦 

CocoaPod的出現解決了這些問題 以Framework的方式引入第三方庫 極大的節約了集成的時間 並且通吃Objective-C和Swift(Swift上的 Cathatage 我沒有實際用過 可是它的那種集成方式仍是比CocoaPod麻煩點) 

iCarousel

在iOS 4.x的時代(我也是從4.0開始接觸iOS開發的) Coverflow 的效果可謂是風靡一時 初出茅廬的我當年對如何實現幾乎是一籌莫展(當年全部的電影資訊類的APP 如布丁愛生活等 都須要實現Coverflow選片的效果 碰巧我也要作一個) iCarousel的出現替我解決了一個大的難題 

今後iCarousel成爲了我每一個項目的必備良藥(也是我最喜歡的庫) 無論是Coverflow仍是輪播廣告 都能輕描淡寫的搞定 其內置的十來種顯示類型 基本能夠解決90%的UI需求 而其強大的自定義功能 則能夠解決剩餘的10% :) 

不熟悉的朋友能夠嘗試一下其精美的demo( pod try iCarousel ) 全部的功能都在demo中盡收眼底 

做者 nicklockwood 也是一個高產的大神 同時維護着數量衆多且優質的開源庫(好比 iVersion iRate ) 你們不妨去看一看 淘一淘 

AFNetworking / Alamofire

HTTP框架的龍頭老大 當年在與 ASIHTTPRequest 的競爭中笑到了最後(固然也是由於ASIHTTPRequest的做者不維護了 不過國內不少公司 由於歷史緣由都在自行維護) 因爲及時維護和擁抱語言的新特性 迅速被你們所接受和喜好 

相信每一個人都用過 這裏就不贅述了 

MKNetworkKit

若是說AFNetworking是老大 那麼MKNetworkKit能夠說是小弟了 不過也由於比AFNetworking輕量的緣由 也得到了許多開發者的青睞 

當年由於ASIHTTPRequest中止維護了 在機緣巧合之下 我在AFNetworking和MKNetworkKit之間選擇了後者 並在不少項目中進行了使用 

不過也許是由於AFNetworking發展得更快更迅速 而做者本人是單兵做戰的緣由 做者也基本放棄了更新(版本號在停留在0.8x) 十分惋惜 

SDWebImage

圖片異步下載和緩存管理的集大成者 UITableView的黃金搭檔 其代碼被開發者研究分享過無數次 喵大 的 Kingfisher (能夠說是Swift版的SDWebImage)也是深受其影響 

異步下載AFNetworking和MKNetworkKit都有實現 數據緩存也有 FastImageCache 與 TMCache 等 可是將其融會貫通的 惟有SDWebImage了 

除了簡單的使用 sd_setImageWithURL 以外 SDImageCache 也是能夠獨立使用的 功能也至關之強大 

ZXingObjC

zxing 是Google出品的二維碼掃描組件 本來是Java編寫的 如今也有了各類語言的移植版 而ZXingObjC就是其中之一 

zxing支持各類主流的一維碼二維碼掃描 簡單易用 小廠若是要實現二維碼掃描這個功能 基本都會選擇zxing 

不過iOS7已內置了二維碼攝像頭掃描 而iOS8也已內置了二維碼靜態圖掃描 之後可能不再須要用到ZXing了 :( 

MBProgressHUD

簡單易用且穩定的HUD組件 半透明黑底白字的風格也經久不衰 loading提示的最佳選擇 

Masonry / SnapKit

最好用的Autolayout手寫庫( Cartography 也不錯啦 可是仍是用不慣) 幫助我輕易的跨越了Autolayout這道坎 

我也曾屢次在文章中提到過關於Masonry的使用方法 若是尚未用過的朋友 不妨看一看 

pop

Facebook的工程師一直是神通常的存在 對開源社區的 貢獻 也是巨大的 極大的推進了各類變成語言的發展 好比 HipHop之於PHP react 之於JavaScript pop之於Objective-C等等 

無論是 HipHop react Facebook的工程師老是抱着顛覆的態度來開源 pop也不例外 這點以前我也簡單介紹過 而以pop爲基礎的 paper 一發布就震驚整個APP屆 在這點上pop也是厥功甚偉 

pop對自定義動畫也支持得很好 我也以pop的自定義動畫爲基礎寫過 MMTweanAnimation

ReactiveCocoa

提及來慚愧 大名鼎鼎的RAC 我只使用了點皮毛(只拿來作輸入驗證了) 

暫時尚未進行深層次的使用 對RAC的理解也停留在表面階段 不過 這篇文章 介紹得很是詳細 值得一看 

GPUImage

若是你要作圖像(照片或者視頻)的相關處理 或者只是簡單的想作個像Camera360同樣的拍照濾鏡 那麼你必定要研究一下GPUImage如它的名字所述 GPUImage是基於GPU的圖像處理框架 咱們都知道 GPU是提高性能的關鍵 這也就是GPUImage如此重要 如此受歡迎的緣由 

Lumberjack

log系統是每一個項目都應該有的東西 而Lumberjack是log系統中的翹楚你能夠簡單的把它當成NSLog的替代品(簡單來講 Lumberjack比NSLog速度更快) 或者根據你的須要來打造一個更強大的日誌系統 

NSLogger

從名字能夠看出 NSLogger也是一個log系統 其特色是附帶了一個功能強大的 Desktop Viewer 可讓你方便的查看APP產生的日誌(支持分級篩選等等 甚至能夠直接log一張圖片) 

AwesomeMenu

當年橫空出世的Path 其優美的設計 精彩的動畫 不知讓多少人嘴巴都合不攏 而最讚的 就是它的彈出菜單 一時成爲了每一個APP爭相模仿的對象有了AwesomeMenu 你能夠輕易的實現它 

MMDrawerController

普通的側滑菜單 用MMDrawerController就搞定了 

realm

做爲數據存儲的一等公民 CoreData的地位不言而喻 不過也由於使用起來不夠方便 纔會出現 MagicalRecord 這種輔助類 甚至 fmdb 這種基於純sqlite的庫 

而realm以挑戰者的身份閃亮登場 不只讀取 性能更快 (聽說數倍於CoraData) 接口 簡單易用 (以對象的形式使用數據 這點和leancloud的思路很類似) 而且還 跨平臺 (iOS/Android都可使用 OC/Swift/Java都支持) 

若是你習慣使用 Mantle 之類的Modal轉換的話 Realm-JSON 確定能討你歡心 

做爲YCombinator的孵化項目 其質量仍是能得以保證的 至少我試用下來 確實給我以很大的驚喜 無論是API的設計 仍是數據對象的定義 就連數據庫的版本升級 都很是的方便) 

Xcode插件 

Alcatraz

與CocoaPod相似 Alcatraz是Xcode的插件管理器 可以讓你方便的管理Xcode的插件(不只能夠管理插件 還能夠管理主題等等) 

FuzzyAutocomplete

若是隻讓我選一個插件留下 那必須是FuzzyAutocomplete 強大的模糊匹配輸入 讓你寫代碼的時候不再用費腦子去記住名字那麼長的對象或者函數名了 好用到讓你想哭 

XAlign

做爲有潔癖的碼農 看到不對齊的代碼必定是不能忍的 XAlign能夠輕鬆解決你的煩惱 

VVDocumenter-Xcode

喵大的又一力做 可以識別當前函數的參數和返回類型 幫助你快速編寫符合規範的註釋(目前是以Javadoc爲標準) 

deriveddata-exterminator

若是你總是遇到Xcode抽風 提示你要由於某個緣由要刪除某個目錄下的文件 不然編譯不過 那你必定會被這個插件感動 由於說明了遇到這個事的人不僅你一個 

Xcode-Quick-Localization

多語言在iOS開發中一直不是很方便 有了它 你能夠省很多事 

Backlight-for-XCode

相關文章
相關標籤/搜索