查看原文
其他

27 款 iOS 开源库,让你的开发溜到飞起

2017-02-27 程序猿

来自:开源中国

链接:https://www.oschina.net/translate/27-ios-open-source-libraries-to-skyrocket-your-development(点击尾部阅读原文前往)

原文:https://medium.com/app-coder-io/27-ios-open-source-libraries-to-skyrocket-your-development-301b67d3124c#.fvlh0oidk

翻译: Tocy, Viyi, leoxu, xufuji456, 爱不爱吃鱼, 无若, vickyday, Lohanry


我在处理自己的 App 的日常工作中,收藏了一些 iOS 开源库,本文我只从中选择了一部分。这些项目的排序是随机的,但是它们都很棒。


多数库支持 CocoaPods,所以很容易把它们加到你的 XCode 项目中。


1、DZNEmptyDataSet


这是 iOS 内建的标准,用于处理空表和集合视图。默认情况下,如果你的表视图是空的,屏幕上什么也不会显示。它给予的用户体验还不算最佳。


使用这个库,你只需要一些协议,iOS 就会很好地处理集合视图,然后合理美观地显示出用户信息。你不需要为每一个 iOS 项目费心。

CocoaPods:

pod 'DZNEmptyDataSet'


2、PDTSimpleCalendar


你的应用需要一个好看的日历组件吗?现在你有了 — PDTSimpleCalendar 可以说是最好的 iOS 日历组件。你可以通过许多方法定义它,包括工作逻辑和视觉效果。

CocoaPods:

pod 'PDTSimpleCalendar'


3、MagicalRecord


有人说 Core Data 简单。也有人说它不仅简单而且美观。这说的是苹果吗?巨多的封装代码被添加到工程里面并不会非常优雅和简单的,更别提要添加、删除和更新如此多的实体、保存上下文,为不同的环境创建不同的 Core Data 栈等等等等这些事情了。我当然也很喜欢 Core Data, 但苹果公司真应该用更好的方式把它简化一下了 — MagicalRecord 的方式就可以。


MagicalRecord 就像是针对 Core Data 的一个封装,隐藏了所有跟开发者无关的东西。如果你用过动态记录模式(例如, Ruby on Rails 就有用到)的话, 那这个非你莫属。如果你的应用里面也使用到了 Core Data,那我真的非常非常推荐这个库。


CocoaPods:

pod 'MagicalRecord'


4、Chameleon


如果你正读到这个,那么比起设计师,你可能会是一个更好的程序员。而这个就是为你准备的。

Chameleon 是一个 iOS 的颜色框架。它扩展了 UIColor,加入了漂亮的、现代扁平化风格的颜色。它也让我们可以从由我们自己定义的颜色创建出调色板。通过阅读 readme,你会发现它还能做很多其它的事情。如果你想要的是一个漂亮的应用程序,绝对要把这个库添加到代码工程里面。

CocoaPods:

pod 'ChameleonFramework'


5、Alamofire


Alamofire 是一个写在 Swift 上的十分美观的网络文库。你有使用过 AFNetwork 吗?Alamofire 就是它的姐妹版,但 Alamofire 更新颖,更有型,当然(AFNetwork 是写在 Objective-C 上的)。

是否还需要做一些网络的东西,例如下载,上传,获取 JSON 等等呢?Alamofire 已经为你准备好了。GitHub 上 8000 人的选择肯定不会错。

CocoaPods:

pod 'Alamofire'


6、TextFieldEffects


你是不是感觉标准的 UIT 文本域有点无聊?我也有这样的感觉——让我们来跟 TextFieldEffects 打个招呼吧! 我不会写太多,只是为你展示一些这个文库可以做到的事例:

是的,这些是简单的下拉插入键。你甚至可以利用脚本里的 IBDesignables!


CocoaPods:

pod 'TextFieldEffects'

Carthage:

github "raulriera/TextFieldEffects"


7、GPUImage


你是否有创建过相机 App 的经历?如果没有,你一定会在不久之后遇到这个库的。

GPUImage 为我们提供了由 GPU 加速的相机预览效果(包括图像和视频),速度极快。 在 App Store 有数百个 App 已经使用这个库——我其中的一个也使用了:

我的一个使用 GPUImage 的 App,在 GitHub 上有8869 颗星,并且还在不断增加中。


CocoaPods:

pod 'GPUImage'


8、iRate


在 App Store 中获得更多评论的最好方法是什么? 我没有实际数据来回答这个问题,但如果我不得不猜测的话,我会说直接去问用户。也许这么做是一个很老式的方式——大多数开发人员现在创建自定义的 App 提示窗——但如果你没有时间或你不想一切从头开始,最好是使用 iRate 而不是不用。iRate 是这样的:一个你可以包含到你的工程中,并且不需要考虑要求用户评论的小型库——iRate 将会在合适的时机自动完成这个。


CocoaPods:

pod 'iRate'


9、GameCenterManager


不管你喜欢或讨厌单例子,在这里通过我们最熟悉的 anti-pattern (反模式)管理 Game Center 都是一件非常简单的事(你的游戏里只有一个 Game Center 在,不是吗?)

老实说,vanilla-managing 在 iOS 中管理 Game Center 并不是很难,但是使用这个库就更加简单和快捷了。

我正在我的一个游戏项目中使用它,它带给我愉快的体验。


CocoaPods:

pod 'GameCenterManager'


10、PKRevealController 2


这个是我最喜欢的 iOS 控件之一,它就像一个宝石。PKRevealController 是一个侧滑的菜单(左,右,或者同时),滑向哪边是看你的使用习惯(或者仅仅通过一个按钮,但是这样看起来并没有像滑动那样的 Cool)。

关于类似功能,我尝试过不少其他的库,但是 PKRevealController 给我的感觉是最好的,非常简单的设置,高度的自定义,手势的识别非常好。这个真的可以被包括在 iOS 的 SDK 中,作为一个标准库。

CocoaPods:

pod 'PKRevealController'


11、SlackTextViewController


你使用过 Slack iOS 的 App 吗?如果你在一个大型的软件公司工作,可能答案是肯定的。但也有一些人尚未接触 Slack。 Slack 的 iOS App 非常强大,尤其是它的自定义文本输入控件,这里有一段代码,你可在 App 中使用!


需要自动增长的文本区域?验证时候需要手势识别、自动完成、多媒体粘贴? 需要易于方案集成?你还可能需要什么其他功能呢?


CocoaPods:

pod 'SlackTextViewController'


12、RETableViewManager


RETableViewManager 将帮助您动态创建和管理表视图,自动生成控制代码。 它为我们提供了预定义的单元格(对于 bools,文本,日期等 - 请查看下面的屏幕截图),但你也可以创建自定义视图,并支持与默认的视图一起使用。

所有这些元素, 。但有时简单的代码比可视化编辑器更好。


CocoaPods:

pod 'RETableViewManager'


13、权限作用域


该库通过在请求用户之前通知用户有关所需的系统权限,以提供更好的用户体验。更高的接受率->更多活跃用户使用 app->更佳反馈->更好状态->更多下载量。鼎力推荐的 pod。

CocoaPods:

pod 'PermissionScope'


14、SVProgressHUD


这个图片展示的是正常下载,不用等到更长时间,也不用刷新页面。这就是 SVProgressHUD 在 app 中所呈现的。假如你需要自定义等待提示,这里有一个例子(可能是合适的)。

CocoaPods:

pod 'SVProgressHUD'


15、FontAwesomeKit


Font Awesome 是非常优秀的,使用这个库可以简单地添加字体到你的项目当中,另外还有很多其它方面的功能。

CocoaPods:

pod 'FontAwesomeKit'


16、SnapKit


喜欢自动布局(auto layout)?应该是!至少在 storyboards 中创建的时候是这样的。

在没有帮助的情况下,在代码上创建约束是痛苦的,幸运地是用 SnapKit 你可以很方便地通过声明的方式,来约束你的代码。来看看吧。

CocoaPods:

pod 'SnapKit'


17、MGSwipeTableCell


这是另一个在很多应用里经常看到的 UI 模块,Apple 也许应该考虑将之纳入标准的 iOS SDK 里。Swipeable table cell(可擦除式表格单元)——是关于这个产品最好的描述。最好的一个。

以上只是 3 种动画类型,还有更多动画类型,请查阅Readme。


CocoaPods:

pod 'MGSwipeTableCell'


18、Quick


Swift 里的单元测试,适用于 Swift(好吧,Objective-C 也能用),已与 Xcode 集成。如果你是 Objective-C 粉,我更推荐 Specta,但是对于 Swift 来说,Quick 应该是最棒的选择。

CocoaPods:

pod 'Quick'


19、IAPHelper


应用内置支付给我们带来大量的样板代码,这个库简单封装了大量常见的任务来摆脱那些样板代码。它封装功能都是关于如何将 iOS 用户的钱送到你(或者你的公司)的钱包。


CocoaPods:

pod 'IAPHelper'


20、ReactiveCocoa


这里有一个小怪物。

不像这个列表中的其它项,ReactiveCocoa 不小而且不会嵌入项目中。ReactiveCocoa 给我们带来不同的编程风格/架构,它基于信号和数据流。它令人感觉惊奇,不过你得先忘掉以前所学的内容才能理解它的工作原理。这不是一件容易的事情,但值得。


这里并不适合教你 ReactiveCocoa,但是如果你有兴趣,我会给你很好的资源。


CocoaPods:

pod 'ReactiveCocoa'


21、SwiftyJSON


使得在 Swift 中的 JSON 解析更加简便。


CocoaPods:

pod 'SwiftyJSON'


22、Spring


使制作动画变得容易、更具表达性,并且可链接。

CocoaPods:

pod 'Spring'


23、FontBlaster


简化自定义字体加载到 App 的实现。


CocoaPods:

pod 'FontBlaster'


24、TAPromotee


这是交替宣传 App 的最佳营销策略之一,它可在 App 中免费实现。有了这个库,一切操作都变得简单,你会忍不住想试一试的——添加 TAPromotee 到你的 podfile 中,配置后,就可以免费享受更多下载量了。

CocoaPods:

pod 'TAPromotee'


25、Concorde


你是否在 App 中加载了大量的 JPEG? Concorde 是一种渐进的加载方式,它可以让图片以更好看的方式加载出来。

CocoaPods:

pod 'Concorde'


26、KeychainAccess


这是一个小助手库,用于管理 Keychain 访问。

CocoaPods:

pod 'KeychainAccess'


27、iOS-charts


最后同样重要的是—— iOS 图表库!它非常实用,也非常优雅,因此我不用过于赘述——你只要滚动下页面,就能知道使用这个项目能为你的 app 做些什么。

一切都可以当成一个简单的(也许可称为「代码嵌入」)组件使用。

遗憾的是目前还没有支持 CocoaPods,所以你需要手工将项目拖动到你的 Xcode 工作区中。



TL;DR list of all these libraries for quick access:


1、DZNEmptyDataSet [UI, 解决空表显示]

2、PDTSimpleCalendar [UI, 下拉日历组件]

3、MagicalRecord [实现活动记录模式 的 Core Data 助手]

4、Chameleon [UI, 色彩框架]

5、Alamofire [Swift 网络化]

6、TextFieldEffects [UI, 自定义视觉的文本框]

7、GPUImage [快速图像处理]

8、iRate [获得用户对等级的投票]

9、GameCenterManager [易于管理的用户中心]

10、PKRevealController [UI, 侧滑菜单]

11、SlackTextViewController [UI, 高度可定制的文本框]

12、RETableViewManager [从代码动态创建表格视图]

13、PermissionScope [UI, 提前向用户请求系统权限]

14、SVProgressHUD [UI, 自定义等待图示]

15、FontAwesomeKit [把 Font Awesome 添到项目变得简单]

16、SnapKit [在代码中简单地自动布局]

17、MGSwipeTableCell [UI, 让表格视图的单元格可滑动]

18、Quick [Swift 单元测试框架]

19、IAPHelper [内购助手]

20、ReactiveCocoa [FRP 框架]

21、SwiftyJSON [Swift JSON 库]

22、Spring [动画框架]

23、FontBlaster [在应用中简单地加载自定义字体]

24、TAPromotee [通过下拉视图全方位推广你的应用]

25、Concorde [边下载边显示 JPEG 图像]

26、KeychainAccess [密码管理器]

27、iOS-charts [漂亮的图表库]


链接:https://www.oschina.net/translate/27-ios-open-source-libraries-to-skyrocket-your-development(点击尾部阅读原文前往)



●本文编号2249,以后想阅读这篇文章直接输入2249即可。

●本文分类“iOS开发”搜索分类名可以获得相关文章。

●输入m可以获取到文章目录

本文内容的相关公众号推荐

iOS开发↓↓↓

Linux学习↓↓↓


更多推荐15个技术类公众微信

涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维等。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存