27個iOS開源庫,讓你的開發(fā)坐上火箭吧

本文翻譯自Medium,原作者是Pawe? Bia?ecki,原文


27個iOS開源庫,讓你的開發(fā)坐上火箭吧

你不會想錯過他們,真的。

我愛開源。

并且我喜歡開發(fā)者們,把他們寶貴的私人時間用來創(chuàng)造神奇的東西,然后他們會和其他人分享并且不求回報。開源作者和貢獻者,你們是最帥的。感謝你們一直以來的工作。


所以,因為我是一個分類整理狂,這是我從iOS開源庫中選出的最喜歡的這些項目的順序都是隨機的,全部都很酷。

絕大部分庫是支持CocoaPods的,所以把它們添加到你的Xcode項目中輕而易舉。

文章的尾部你會看到一個太長不看的版本——一個簡單的列表,只有標題和到項目的鏈接。如果你發(fā)現(xiàn)這篇文章是有用的,把它和你的iOS開發(fā)者兄弟們分享。好東西需要被傳播。

DZNEmptyDataSet

這本應該是iOS中一個標準、內(nèi)置的解決空table和collection view的方式。默認的如果你的table view是空的,屏幕就是空的。但這不是你能提供的最好的用戶體驗。

用了這個庫,你只需要遵循一系列協(xié)議,iOS會優(yōu)雅地接管你的collection view并且會正確、好看地顯示給用戶信息。很明顯,每個iOS項目都應該采用。


這是完全可自定義的。

CocoaPods:

pod ‘DZNEmptyDataSet’

GitHub


2. PDTSimpleCalendar

你的app是否需要一個簡單、好看并且有效的日歷組件呢?

現(xiàn)在你有了——PDTSimpleCalendar很有可能是最棒的iOS日歷組件。有很多方式來自定義它,邏輯有效而且好看。


CocoaPods:

pod 'PDTSimpleCalendar'

GitHub


3. MagicalRecord

他們說,Core Data很簡單。他們說,它很好很簡單。哈哈,你是認真的嗎,蘋果?一頓陳詞濫調(diào)的代碼被添加到每個項目里,這真的不夠優(yōu)雅和簡單。更不用說添加、移除和更新很多實體,保存上下文,為不同的環(huán)境創(chuàng)建不同的Core Data棧,等等等等。我當然很喜歡Core Data,但是蘋果真的可以通過一個簡單的好方法來簡化它——MagicalRecord方法。

MagicalRecord的工作就像一個Core Data的包裝,并且向開發(fā)者隱藏了所有無關的東西。如果你曾經(jīng)用過活躍紀錄模式(例如Ruby on Rails),那你已經(jīng)掌握它了。如果你在app里用Core Data的話真的真心推薦這個庫。

CocoaPods:

pod 'MagicalRecord'

GitHub


4. Chameleon

如果你讀到了這一點,你是一個很好的程序員,而不是一個設計師。這就是為你準備的。


Chameleon是iOS的一個顏色框架。它用好看、摩登的扁平化顏色擴展了UIColor。它也給了我們能力來創(chuàng)建調(diào)色板,里面是我們自己定義的顏色。它可以做很多其他事,探索readme文件。如果你想要好看的應用程序,快把這個庫加到你的項目里吧。


Chameleon基礎扁平化顏色

CocoaPods:

pod 'ChameleonFramework'

GitHub


5. Alamofire

Alamofire是一個用Swift寫的優(yōu)雅的網(wǎng)絡庫。你曾經(jīng)用過AFNetworking嗎?ALamofire是它的弟弟。年輕也更有才華,當然啦(AFNetworking是用Objective-C寫的)。


需要做網(wǎng)絡相關比如下載、上傳、獲取JSON等等?Alamofire是為你準備的。GitHub上8000人的選擇不會錯。

CocoaPods:

pod 'MagicalRecord'

GitHub


6. TextFieldEffects

你不覺得標準的UITextField有一點無聊嗎?我也是——所以對TextFieldEffects說hello吧!我不會寫太多,我只會展示你一些這個庫可以做的例子:




是的,這些就是簡單的易用的控制器。你甚至可以用storyboard里的IBDesignable!

不幸的是這個庫不支持CocoaPods(如果你來自未來,而這在一些時間之前改變了的話,請在Twitter上讓我知道),但它支持Carthage。你也可以簡單的從GitHub下載項目,并且把它添加到你的workspace里。

Carthage:

github "raulriera/TextFieldEffects"

GitHub


7. GPUImage

你曾經(jīng)創(chuàng)建過一個攝像機app嗎?如果沒有,看完這個庫你就肯定會的。


GPUImage可能性

GPUImage提供我們一個GPU-accelerated攝像頭效果(圖像和視頻都可以),熊熊燃燒般的速度。App Store里有幾百個app使用這個庫——其中就有我的一個:


我的一個app中用的GPUImage

GitHub上8869個收藏并且還在持續(xù)增加。

CocoaPods:

pod 'GPUImage'

GitHub


8. iRate

在App Store獲得更多評價最好的方式是什么?我沒有明確的數(shù)據(jù)來回答這個問題,但如果要我來猜測的話,我會說只要簡單的詢問用戶就可以了。也許這是一個老套的方式——大部分開發(fā)者現(xiàn)在創(chuàng)建自定義的app內(nèi)置提醒——但如果你沒有時間或者不想所有事都從頭做起,用iRate比不用要好。并且這就是iRate——一個小庫,你包含在你的項目里并且忘記詢問用戶去評價了——iRate會自動替你完成,在合適的時間里。

CocoaPods:

pod 'iRate'

GitHub


9. GameCenterManager

喜歡或討厭一個人,在這種情況下管理Game Center非常簡單,只需要一點我們最著名的反模式的幫助(你的游戲里只有Game Center,對吧?)


誠實地說,在iOS里香草管理Game Center并不是那么困難,但用這個庫就是簡單和快速。更好的是好的敵人。


我的一個游戲里就用了它,真是一個愉悅的體驗。

CocoaPods:

pod 'GameCenterManager'

GitHub


10. PKRevealController 2

這是一個真正的精品,我最喜歡的iOS控件之一。PKRevealController是一個可滑動的側(cè)邊欄(向左、向右或者都可以),用你的手指來滑動(或者只通過點擊按鈕,但這樣就沒有滑動酷了)。


我使用過一些其它庫,提供這種控件,PKRevealController是最好的。設置起來很簡單,高度可自定義,手勢識別非常非常好。它真的足夠成為一個 iOS SDK 標準控件了。

CocoaPods:

pod 'PKRevealController'

GitHub


11. SlackTextViewController

你曾經(jīng)用過Slack iOS app嗎?如果你在一個更大的軟件公司工作的話,很有可能回答是。對于沒有這么回答的人——Slack很堅硬。Slack的iOS app也是,特別是對于很好的、自定義的文本輸入控件…就是你現(xiàn)在有的——你的app里可以用的代碼!

自增長文本域?對的。手勢識別,自動填充,多媒體粘貼?對的。簡單的易用的?對的。你還可能需要什么?

CocoaPods:

pod 'SlackTextViewController'

GitHub


12. RETableViewManager

RETableViewManager會幫助你動態(tài)創(chuàng)建和管理你的table view,都用代碼。它提供我們預先定義好的cell(布爾型、文本、日期等等。——看下面的截圖),你也可以創(chuàng)建你的自定義視圖,和默認的一起使用。


左側(cè)截圖好老套!

這些你都可以在storybard里做而不需要這個庫的幫忙,但有的時候代碼比可視化編輯器更簡單。

CocoaPods:

pod 'RETableViewManager'

GitHub


13. PermissionScope

有用的庫,通過在詢問用戶之前提示用戶需要系統(tǒng)許可帶來更好的用戶體驗。高度可接受程度->更多用戶活動使用app->更好的留存->更好的數(shù)據(jù)->更多的下載。被高度推薦的pod。


CocoaPods:

pod 'PermissionScope'

GitHub


14. SVProgressHUD

這個圖片正在被正確的加載,不會等很久也不需要刷新頁面。這就是SVProgressHUD在你的app里看起來的樣子。如果你需要自定義等待指示,這里就有一個(很有可能就是最好的)。


CocoaPods:

pod 'SVProgressHUD'

GitHub


15. FontAwesomeKit

Font Awesome很酷,用這個庫你可以輕松地添加字體到你的項目里,并且在多種方式里使用它。


CocoaPods:

pod 'FontAwesomeKit'

GitHub


16. SnapKit

喜歡auto layout?你應該!

至少在storyboard里創(chuàng)建的時候。

用代碼創(chuàng)建constraints是痛苦的,如果沒有幫助的話,但幸運的是SnapKit在這里,使用它你可以輕松寫你的constraints,聲明方式。看看吧。


CocoaPods:

pod 'SnapKit'

GitHub


17. MGSwipeTableCell

另一個UI組件,在很多app里都常見,蘋果應該考慮在iOS標準庫里加入類似的東西。可滑動的table cell,這是這個pod最好的描述。最好的一個。


這些只是3個動畫種類,還有很多。探索readme文件。

CocoaPods:

pod 'MGSwipeTableCell'

GitHub


18. Quick

Swift里的單元測試,給Swift(好吧,要給Objective-C),和Xcode融為一體。如果你是一個Objective-C粉,我會推薦你Specta而不是這個,但對于Swift Quick很有可能是最好的。


CocoaPods:

pod 'Quick'

GitHub


19. IAPHelper

app內(nèi)購帶給我們很多陳詞濫調(diào)的代碼,用這個庫就不需要了,把最有關交易金錢的普遍的任務從iOS用戶到你的(或者你的公司的)錢包簡單包裝起來。

CocoaPods:

pod 'IAPHelper'

GitHub


20. ReactiveCocoa

好吧,這里我們有一個小怪獸。


ReactiveCocoa并不是很小、易用的項目,就像這個列表里其它項目一樣。ReactiveCocoa帶給我們一種完全不同的編程方式/結(jié)構,基于值的信號和流。這是完全的頭腦風暴,首先你需要忘記你曾經(jīng)學習的來理解它是如何工作的。這不是一個簡單的任務,但是是有回報的。

這不是一個合適的地方來教你使用ReactiveCocoa,但我會給你一些好的資源,如果你感興趣的話。

Getting Started with ReactiveCocoa

ReactiveCocoa

ReactiveCocoa Tutorial - The Definitive Introduction: Part 1/2

CocoaPods:

pod 'ReactiveCocoa'

GitHub


21. SwiftyJSON

讓Swift里的JSON解析更簡單。

CocoaPods:

pod 'SwiftyJSON'

GitHub


22. Spring

做動畫更簡單、可鏈和聲明。


CocoaPods:

pod 'Spring'

GitHub


23. FontBlaster

在app里加載自定義字體更簡單。

CocoaPods:

pod 'FontBlaster'

GitHub


24. TAPromotee

交叉推銷你的app是最棒的銷售策略之一,你可以在它們中免費實現(xiàn)。用這個庫非常簡單,你不再能為自己辯解為什么不用它——增加TAPromotee到你的podfile,配置、然后免費享受更多下載。


CocoaPods:

pod 'TAPromotee'

GitHub


25. Concorde

在你的app加載很多JPEG嗎?用Concorde你可以加載地更好看。有進度的方式。


CocoaPods:

pod 'Concorde'

GitHub


26. KeychainAccess

管理鑰匙串權限的小幫手庫。


CocoaPods:

pod 'KeychainAccess'

GitHub


27. iOS-charts

最后但重要的——iOS圖表庫!很簡單和有效,我不會在這兒寫太多——滑動到下面去看在你的app用它可以干嘛。


是的,所有東西都是可用的,作為一個可放進去(好吧,也許是“可寫進去”)的組件。

不幸的是目前還沒有CocoaPods支持,所以你需要手動拖動項目到你的Xcode workspace中。

所有庫的太長不看列表,快速訪問:

1. DZNEmptyDataSet [UI, 空table view解決方案]

2. PDTSimpleCalendar [UI, 可放入日歷組件]

3. MagicalRecord [Core Data幫手實現(xiàn)活動記錄模式]

4. Chameleon [UI, 顏色框架]

5. Alamofire [Swift網(wǎng)絡]

6. TextFieldEffects [UI, 自定義外觀text fields]

7. GPUImage [快速圖像處理]

8. iRate [獲得用戶評價]

9. GameCenterManager [輕松管理Game Center]

10. PKRevealController [UI, 滑動邊欄]

11. SlackTextViewController [UI, 高度自定義text field]

12. RETableViewManager [用代碼動態(tài)創(chuàng)建table view]

13. PermissionScope [UI, 巧妙的提前問用戶要系統(tǒng)許可]

14. SVProgressHUD [UI, 自定義等待菊花]

15. FontAwesomeKit [輕松地添加酷字體到你的app中]

16. SnapKit [用代碼輕松auto layout]

17. MGSwipeTableCell [UI, 可滑動的table view cells]

18. Quick [Swift 單元測試框架]

19. IAPHelper [app內(nèi)購封裝幫手]

20. ReactiveCocoa [FRP框架]

21. SwiftyJSON [Swift JSON庫]

22. Spring [動畫框架]

23. FontBlaster [輕松在app中加載自定義字體]

24. TAPromotee [在你的app中交叉提示,置入界面]

25. Concorde [下載和解碼進度化JPEGs]

26. KeychainAccess [輕松管理鑰匙串]

27. iOS-charts [漂亮的圖表庫]


感謝閱讀,真是一個長列表!如果你認為創(chuàng)建是有價值的,請分享它,通過點擊文章下方的分享按鈕——更多人會從中受益。并且如果你是一個Meduim用戶,請點擊推薦按鈕——它會鼓舞我創(chuàng)建更多iOS開發(fā)文章!

One more thing——如果你在讀這篇文章,你很有可能是個iOS開發(fā)者。很多iOS開發(fā)者也是iPhone用戶——所以我有一些你可能感興趣的東西。

我運行著一個每周一次手選最好的iOS app和游戲——看看吧,我關注高質(zhì)量并且只挑選酷的app。連接也會很酷!


你也可以在推特上follow我,我最經(jīng)常討論iOS開發(fā)的地方。


推薦閱讀:


27 places to learn iOS development. Best ones.

52 people every iOS developer should follow on Twitter

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容