本文翻译自Medium,原作者是Paweł Białecki,原文


27个iOS开源库,让你的开发坐上火箭吧

你不会想错过他们,真的。

我爱开源。

并且我喜欢开发者们,把他们宝贵的私人时间用来创造神奇的东西,然后他们会和其他人分享并且不求回报。开源作者和贡献者,你们是最帅的。感谢你们一直以来的工作。


所以,因为我是一个分类整理狂,这是我从iOS开源库中选出的最喜欢的。这些项目的顺序都是随机的,全部都很酷。

绝大部分库是支持CocoaPods的,所以把它们添加到你的Xcode项目中轻而易举。

文章的尾部你会看到一个太长不看的版本——一个简单的列表,只有标题和到项目的链接。如果你发现这篇文章是有用的,把它和你的iOS开发者兄弟们分享。好东西需要被传播。

DZNEmptyDataSet

这本应该是iOS中一个标准、内置的解决空table和collection view的方式。默认的如果你的table view是空的,屏幕就是空的。但这不是你能提供的最好的用户体验。

用了这个库,你只需要遵循一系列协议,iOS会优雅地接管你的collection view并且会正确、好看地显示给用户信息。很明显,每个iOS项目都应该采用。

这是完全可自定义的。

CocoaPods:

pod ‘DZNEmptyDataSet’

GitHub

2. PDTSimpleCalendar

你的app是否需要一个简单、好看并且有效的日历组件呢?

现在你有了——PDTSimpleCalendar很有可能是最棒的iOS日历组件。有很多方式来自定义它,逻辑有效而且好看。

CocoaPods:

pod 'PDTSimpleCalendar'

GitHub

3. MagicalRecord

他们说,Core Data很简单。他们说,它很好很简单。哈哈,你是认真的吗,苹果?一顿陈词滥调的代码被添加到每个项目里,这真的不够优雅和简单。更不用说添加、移除和更新很多实体,保存上下文,为不同的环境创建不同的Core Data栈,等等等等。我当然很喜欢Core Data,但是苹果真的可以通过一个简单的好方法来简化它——MagicalRecord方法。

MagicalRecord的工作就像一个Core Data的包装,并且向开发者隐藏了所有无关的东西。如果你曾经用过活跃纪录模式(例如Ruby on Rails),那你已经掌握它了。如果你在app里用Core Data的话真的真心推荐这个库。

CocoaPods:

pod 'MagicalRecord'

GitHub

4. Chameleon

如果你读到了这一点,你是一个很好的程序员,而不是一个设计师。这就是为你准备的。

Chameleon是iOS的一个颜色框架。它用好看、摩登的扁平化颜色扩展了UIColor。它也给了我们能力来创建调色板,里面是我们自己定义的颜色。它可以做很多其他事,探索readme文件。如果你想要好看的应用程序,快把这个库加到你的项目里吧。

Chameleon基础扁平化颜色

CocoaPods:

pod 'ChameleonFramework'

GitHub

5. Alamofire

Alamofire是一个用Swift写的优雅的网络库。你曾经用过AFNetworking吗?ALamofire是它的弟弟。年轻也更有才华,当然啦(AFNetworking是用Objective-C写的)。

需要做网络相关比如下载、上传、获取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

你曾经创建过一个摄像机app吗?如果没有,看完这个库你就肯定会的。


GPUImage可能性

GPUImage提供我们一个GPU-accelerated摄像头效果(图像和视频都可以),熊熊燃烧般的速度。App Store里有几百个app使用这个库——其中就有我的一个:

我的一个app中用的GPUImage

GitHub上8869个收藏并且还在持续增加。

CocoaPods:

pod 'GPUImage'

GitHub

8. iRate

在App Store获得更多评价最好的方式是什么?我没有明确的数据来回答这个问题,但如果要我来猜测的话,我会说只要简单的询问用户就可以了。也许这是一个老套的方式——大部分开发者现在创建自定义的app内置提醒——但如果你没有时间或者不想所有事都从头做起,用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是一个可滑动的侧边栏(向左、向右或者都可以),用你的手指来滑动(或者只通过点击按钮,但这样就没有滑动酷了)。

我使用过一些其它库,提供这种空间,PKRevealController是最好的。设置起来很简单,高度可自定义,手势识别非常非常好。它可以在iOS SDK中包含作为一个标准空间,真的。

CocoaPods:

pod 'PKRevealController'

GitHub

11. SlackTextViewController

你曾经用过Slack iOS app吗?如果你在一个更大的软件公司工作的话,很有可能回答是。对于没有这么回答的人——Slack很坚硬。Slack的iOS app也是,特别是对于很好的、自定义的文本输入控件…就是你现在有的——你的app里可以用的代码!

自增长文本域?对的。手势识别,自动填充,多媒体粘贴?对的。简单的易用的?对的。你还可能需要什么?

CocoaPods:

pod 'SlackTextViewController'

GitHub


12. RETableViewManager

RETableViewManager会帮助你动态创建和管理你的table view,都用代码。它提供我们预先定义好的cell(布尔型、文本、日期等等。——看下面的截图),你也可以创建你的自定义视图,和默认的一起使用。



左侧截图好老套!

这些你都可以在storybard里做而不需要这个库的帮忙,但有的时候代码比可视化编辑器更简单。

CocoaPods:

pod 'RETableViewManager'

GitHub

13. PermissionScope

有用的库,通过在询问用户之前提示用户需要系统许可带来更好的用户体验。高度可接受程度->更多用户活动使用app->更好的留存->更好的数据->更多的下载。被高度推荐的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里创建的时候。

用代码创建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内购带给我们很多陈词滥调的代码,用这个库就不需要了,把最有关交易金钱的普遍的任务从iOS用户到你的(或者你的公司的)钱包简单包装起来。

CocoaPods:

pod 'IAPHelper'

GitHub

20. ReactiveCocoa

好吧,这里我们有一个小怪兽。

ReactiveCocoa并不是很小、易用的项目,就像这个列表里其它项目一样。ReactiveCocoa带给我们一种完全不同的编程方式/结构,基于值的信号和流。这是完全的头脑风暴,首先你需要忘记你曾经学习的来理解它是如何工作的。这不是一个简单的任务,但是是有回报的。

这不是一个合适的地方来教你使用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是最棒的销售策略之一,你可以在它们中免费实现。用这个库非常简单,你不再能为自己辩解为什么不用它——增加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帮手实现活动记录模式]

4. Chameleon [UI, 颜色框架]

5. Alamofire [Swift网络]

6. TextFieldEffects [UI, 自定义外观text fields]

7. GPUImage [快速图像处理]

8. iRate [获得用户评价]

9. GameCenterManager [轻松管理Game Center]

10. PKRevealController [UI, 滑动边栏]

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

12. RETableViewManager [用代码动态创建table view]

13. PermissionScope [UI, 巧妙的提前问用户要系统许可]

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

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

16. SnapKit [用代码轻松auto layout]

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

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

19. IAPHelper [app内购封装帮手]

20. ReactiveCocoa [FRP框架]

21. SwiftyJSON [Swift JSON库]

22. Spring [动画框架]

23. FontBlaster [轻松在app中加载自定义字体]

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

25. Concorde [下载和解码进度化JPEGs]

26. KeychainAccess [轻松管理钥匙串]

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


感谢阅读,真是一个长列表!如果你认为创建是有价值的,请分享它,通过点击文章下方的分享按钮——更多人会从中受益。并且如果你是一个Meduim用户,请点击推荐按钮——它会鼓舞我创建更多iOS开发文章!

One more thing——如果你在读这篇文章,你很有可能是个iOS开发者。很多iOS开发者也是iPhone用户——所以我有一些你可能感兴趣的东西。

我运行着一个每周一次手选最好的iOS app和游戏——看看吧,我关注高质量并且只挑选酷的app。连接也会很酷!

你也可以在推特上follow我,我最经常讨论iOS开发的地方。

推荐阅读:

27 places to learn iOS development. Best ones.

52 people every iOS developer should follow on Twitter

27个iOS开源库,让你的开发坐上火箭吧相关推荐

  1. ios开发——27个iOS开源库,让你的开发坐上火箭吧

    本文翻译自Medium,原作者是Paweł Białecki,原文 27个iOS开源库,让你的开发坐上火箭吧 你不会想错过他们,真的. 我爱开源. 并且我喜欢开发者们,把他们宝贵的私人时间用来创造神奇 ...

  2. iOS开发——27个开源库,让你的开发坐上火箭吧

    27个iOS开源库,让你的开发坐上火箭吧 你不会想错过他们,真的. 我爱开源. 并且我喜欢开发者们,把他们宝贵的私人时间用来创造神奇的东西,然后他们会和其他人分享并且不求回报.开源作者和贡献者,你们是 ...

  3. 33个2017年必须了解的iOS开源库

    原文 本文翻译自Medium,原作者为 Paweł Białecki 照片版权:(Unsplash/Markus Pe) 你好,iOS 开发者们!我的名字叫 Paweł,我是一个独立 iOS 开发者, ...

  4. 33 个 2017 年必须了解的 iOS 开源库

    你好,iOS 开发者们!我的名字叫 Paweł,我是一个独立 iOS 开发者,并且是 Enter Universe 的作者. 接近两年前我发布了 27 个iOS开源库,让你的开发坐上火箭吧.这是我在这 ...

  5. fir.im Weekly - 2017 年必须了解的 iOS 开源库

    放假的脚步临近,每个人都在期待一个愉悦的春节假期.最近,@张嘉夫 分享了一篇 Medium 上的文章<33 个 2017 年必须了解的 iOS 开源库>,总结了 2016 年最棒的 iOS ...

  6. 基于第三方开源库的OPC服务器开发指南(2)——LightOPC的编译及部署

    基于第三方开源库的OPC服务器开发指南(2)--LightOPC的编译及部署 前文已经说过,OPC基于微软的DCOM技术,所以开发OPC服务器我们要做的事情就是开发一个基于DCOM的EXE文件.一个代 ...

  7. 基于腾讯 x5 开源库,提高 webView 开发效率,大概要节约你百分之六十的时间成本。该案例支持处理 js 的交互逻辑且无耦合、同时暴露进度条加载进度、可以监听异常 error 状态、支持视频播放

    YCWebView 项目地址:yangchong211/YCWebView 简介: 基于腾讯 x5 开源库,提高 webView 开发效率,大概要节约你百分之六十的时间成本.该案例支持处理 js 的交 ...

  8. 基于腾讯x5开源库,提高webView开发效率

    基于腾讯x5开源库,提高webView开发效率 文章目录 基于腾讯x5开源库,提高webView开发效率 01.前沿说明 1.1 案例展示效果 1.2 该库功能和优势 1.3 相关类介绍说明 02.如 ...

  9. 27个提升效率的iOS开源库推荐

    2019独角兽企业重金招聘Python工程师标准>>> 我热爱开源,更喜爱那些花费宝贵的业余时间来创造奇迹的开发者们,感谢他们将自己辛苦劳动的成果无偿分享给大家.开源作者和贡献者们, ...

最新文章

  1. 详解SQL Server连接(内连接、外连接、交叉连接)
  2. 编辑器制作的一些资源
  3. mysql建表必须使用主键吗
  4. 开发者论坛一周精粹(第二十期) :晒往期云栖大会的照片或感想,赢2017杭州云栖大会门票...
  5. oracle数据库dblink创建语句_「运维实验」——达梦数据库DBlink连接Oracle配置
  6. javax.comm的API
  7. 图谱论(Spectral Graph Theory)基础
  8. 计算机硬件格式,排版格式要求_计算机硬件及应用_IT/计算机_资料
  9. kancloud mysql内核_锁 · Mysql · 看云
  10. 最佳的75个安全工具工具
  11. [Python]学生成绩分析, 可视化以及建模--在线教育行业分析案例连载3
  12. 解决微信支付商户平台安全控件无法启用(Mac/windows)
  13. 黑苹果睡眠问题(仅适用自己的配置)
  14. Codeforces Round #363 (Div. 2) B. One Bomb (水题)
  15. Excel 解决高次方程求解的方法
  16. 编码器的集电极输出、电压输出、互补输出和线性驱动输出
  17. DreamweaverCS6 - BUG(2) —— 编辑浏览器列表无法添加浏览器
  18. 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 5
  19. 亿道丨三防平板丨加固平板丨三防加固平板丨改善资产管理
  20. Android6.0 源码修改之Settings音量调节界面增加通话音量调节

热门文章

  1. java一个等号_java中等号的涵义
  2. 张勋说:棒磨机断棒的几个可能原因
  3. 分布式消息队列RocketMQ与Kafka的18项差异之“拨乱反正”
  4. 《模拟电子技术基础》课程笔记(六)——场效应管
  5. 朱有鹏 socket编程接口介绍(3)
  6. 小学英语阅读促进学生思维品质发展及其策略应用的综述
  7. 学习日记day38 字体设计排版
  8. 云主机上手教程:轻量应用服务器体验
  9. firefox_config
  10. 手把手教你用Python分析豆瓣电影——以《我不是药神》《邪不压正》为例