27个iOS开源库,让你的开发坐上火箭吧
本文翻译自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文件。如果你想要好看的应用程序,快把这个库加到你的项目里吧。
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提供我们一个GPU-accelerated摄像头效果(图像和视频都可以),熊熊燃烧般的速度。App Store里有几百个app使用这个库——其中就有我的一个:
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开源库,让你的开发坐上火箭吧相关推荐
- ios开发——27个iOS开源库,让你的开发坐上火箭吧
本文翻译自Medium,原作者是Paweł Białecki,原文 27个iOS开源库,让你的开发坐上火箭吧 你不会想错过他们,真的. 我爱开源. 并且我喜欢开发者们,把他们宝贵的私人时间用来创造神奇 ...
- iOS开发——27个开源库,让你的开发坐上火箭吧
27个iOS开源库,让你的开发坐上火箭吧 你不会想错过他们,真的. 我爱开源. 并且我喜欢开发者们,把他们宝贵的私人时间用来创造神奇的东西,然后他们会和其他人分享并且不求回报.开源作者和贡献者,你们是 ...
- 33个2017年必须了解的iOS开源库
原文 本文翻译自Medium,原作者为 Paweł Białecki 照片版权:(Unsplash/Markus Pe) 你好,iOS 开发者们!我的名字叫 Paweł,我是一个独立 iOS 开发者, ...
- 33 个 2017 年必须了解的 iOS 开源库
你好,iOS 开发者们!我的名字叫 Paweł,我是一个独立 iOS 开发者,并且是 Enter Universe 的作者. 接近两年前我发布了 27 个iOS开源库,让你的开发坐上火箭吧.这是我在这 ...
- fir.im Weekly - 2017 年必须了解的 iOS 开源库
放假的脚步临近,每个人都在期待一个愉悦的春节假期.最近,@张嘉夫 分享了一篇 Medium 上的文章<33 个 2017 年必须了解的 iOS 开源库>,总结了 2016 年最棒的 iOS ...
- 基于第三方开源库的OPC服务器开发指南(2)——LightOPC的编译及部署
基于第三方开源库的OPC服务器开发指南(2)--LightOPC的编译及部署 前文已经说过,OPC基于微软的DCOM技术,所以开发OPC服务器我们要做的事情就是开发一个基于DCOM的EXE文件.一个代 ...
- 基于腾讯 x5 开源库,提高 webView 开发效率,大概要节约你百分之六十的时间成本。该案例支持处理 js 的交互逻辑且无耦合、同时暴露进度条加载进度、可以监听异常 error 状态、支持视频播放
YCWebView 项目地址:yangchong211/YCWebView 简介: 基于腾讯 x5 开源库,提高 webView 开发效率,大概要节约你百分之六十的时间成本.该案例支持处理 js 的交 ...
- 基于腾讯x5开源库,提高webView开发效率
基于腾讯x5开源库,提高webView开发效率 文章目录 基于腾讯x5开源库,提高webView开发效率 01.前沿说明 1.1 案例展示效果 1.2 该库功能和优势 1.3 相关类介绍说明 02.如 ...
- 27个提升效率的iOS开源库推荐
2019独角兽企业重金招聘Python工程师标准>>> 我热爱开源,更喜爱那些花费宝贵的业余时间来创造奇迹的开发者们,感谢他们将自己辛苦劳动的成果无偿分享给大家.开源作者和贡献者们, ...
最新文章
- 详解SQL Server连接(内连接、外连接、交叉连接)
- 编辑器制作的一些资源
- mysql建表必须使用主键吗
- 开发者论坛一周精粹(第二十期) :晒往期云栖大会的照片或感想,赢2017杭州云栖大会门票...
- oracle数据库dblink创建语句_「运维实验」——达梦数据库DBlink连接Oracle配置
- javax.comm的API
- 图谱论(Spectral Graph Theory)基础
- 计算机硬件格式,排版格式要求_计算机硬件及应用_IT/计算机_资料
- kancloud mysql内核_锁 · Mysql · 看云
- 最佳的75个安全工具工具
- [Python]学生成绩分析, 可视化以及建模--在线教育行业分析案例连载3
- 解决微信支付商户平台安全控件无法启用(Mac/windows)
- 黑苹果睡眠问题(仅适用自己的配置)
- Codeforces Round #363 (Div. 2) B. One Bomb (水题)
- Excel 解决高次方程求解的方法
- 编码器的集电极输出、电压输出、互补输出和线性驱动输出
- DreamweaverCS6 - BUG(2) —— 编辑浏览器列表无法添加浏览器
- 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 5
- 亿道丨三防平板丨加固平板丨三防加固平板丨改善资产管理
- Android6.0 源码修改之Settings音量调节界面增加通话音量调节