iOS 中 常用的第三方庫(轉)

weixin_34019929發表於2016-08-02

現在對於我們 iOS 開發來說,基本上說不可能不使用第三方輪子啦,畢竟沒那麼多時間,而且自己造的輪子往往想著成為上圖中的最後一個,結果卻成了上圖中第二個或第一個啦,當然大公司另當別論。下面以我用到的第三方輪子和看到不錯的輪子進行總結一下。

基本流程使用的第三方

784630-6eb5c06c14761204.png

基本流程使用的第三方

Reachability

Masonry

SnapKit

AFNetworking

Alamofire

YTKNetwork

YYModel

Mantle

JSONModel

SwiftyJSON

MBProgressHUD

SVProgressHUD

JGProgressHUD

FMDB

Realm

上述是有重複的,而如何選擇呢,這個我們可以看自己的專案情況來確定。

列表相關的輪子

784630-0e71ec3fc74ff9bb.png

列表相關的輪子

MJRefresh

EGOTableViewPullRefresh:(這個不更新了,但剛開始用就是它,有感情)

SVPullToRefresh

DZNEmptyDataSet

CHTCollectionViewWaterfallLayout

UICollectionViewLeftAlignedLayout

UITableView+FDTemplateLayoutCell

SWTableViewCell

圖片相關的輪子

784630-b933f6c17e819933.png

圖片相關的輪子

YYWebImage

SDWebImage

HUPhotoBrowser

MWPhotoBrowser

QBImagePicker

CTAssetsPickerController

此處Browser 和  Picker 功能是有些重複的,還是看個人需求的選擇吧。

其他可能常用的輪子

IQKeyboardManager:零行程式碼解決鍵盤上移的問題

PNChart:各種圖表的展示

MMDrawerController:側邊欄的 Controller

RESideMenu: QQ 側邊欄的效果

GPUImage:圖片過濾

CocoaAsyncSocket:非同步 socket 通訊類庫

Shimmer:具有閃爍效果的第三方控制元件

UUChatTableView:聊天對話的時候,可以參考

JSQMessagesViewController:也是聊天對話的,個人認為更適合

FXBlurView:對檢視進行模糊操作

SAMKeychain: 儲存keychain的

BabyBluetooth: 一個易使用的藍芽庫

DLSlieView:類似網易選擇上部導航的效果

HMSegmentedControl:選擇 (可以和DLSlieView比較一下)

SDCycleScrollView: 迴圈輪播圖片

TTTAttributedLabel: 富文字的Label

JSBadgeView:類似系統的 Badge,購物車時常用

JVFloatLabeledTextField: 特殊效果的textField

VBFPopFlatButton: 各種稀奇古怪的動畫button

不一定常用,但很有意思的一些動畫輪子

CBStoreHouseRefreshControl:重新整理時,不一樣的動畫

LTMorphingLabel:很cool 的文字展示

ZLSwipeableView: 不一樣的翻頁效果

animated-tab-bar: 有動畫的tabBar

hamburger-button: 變換的 Button,個人比較喜歡

folding-cell:點選Cell 時,有摺疊的動畫效果,很贊

另外一些第三方庫

JSPatch:熱修復,為專案動態新增模組,或替換專案原生程式碼動態修復 bug

ReactiveCocoa: 函式響應式程式設計,使用 MVVM 搭

BlocksKit: blocks 包,喜歡用 block的非常適合,學習 block 的好庫。

JKCategories:iOS 中常用到的 Category ,可以好好學習

YYKit:龐大、豐富的 iOS 元件,也是學習的好地方。

暫時大部分記錄的還是 Objective-C 相關的, 說真的 github 上還有好多優秀的輪子等待我們挖掘,當然有好的輪子也希望可以多互相分享,此處持續新增中······。

話又說回來,我個人還是一向遵循儘量用蘋果本身提供的 API的原則,雖說與上面有矛盾。畢竟引入一個第三方庫有時還是有一些不確定的因素的,如果可能,儘量自己開發和實現相應的功能,第三方庫儘量只作為參考。 (當然一切以開發速度為第一的情況下,那就先用吧)

PS: 備註下面連結中還有一些我們可能會用到的:

http://www.jianshu.com/p/6a3da27f61c2

http://www.cocoachina.com/ios/20160121/14988.html


相關文章