博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
33 个 2017 年必须了解的 iOS 开源库
阅读量:4108 次
发布时间:2019-05-25

本文共 4850 字,大约阅读时间需要 16 分钟。

转自

http://www.jianshu.com/p/d75a9a8d13b5?utm_campaign=maleskine&utm_content=note&utm_medium=writer_share&utm_source=weibo&url_type=39&object_type=webpage&pos=1

本文翻译自,原作者为 



照片版权:(Unsplash/Markus Pe)

你好,iOS 开发者们!我的名字叫 Paweł,我是一个独立 iOS 开发者,并且是  的作者。

接近两年前我发布了 。这是我在这里最棒的文章了(根据 Medium 用户的反馈来看):


如果有 15.5 万人 很担心能否跨越网络上连山排海般的文字找到最棒的 iOS 开源库,那我来传递

可以看一下,在这篇文章之后又星了超过 180 个 repositories,所以是时候更新我的 Medium 了。

跟 33 个 pod 打个招呼,它们会让你 2017 年的开发坐上火箭。点火发射啦。


照片版权:(NASA/Joel Kowsky)

在文章的底部你会找到 TL;DR 即总结列表,列出了所有这些库,并且有相应的链接以及 CocoaPods 名字(如果有的话)。阅读过程中不需要记笔记。现在开始谈正事。

1.  作者是 



Instagram 程序员做的,IGListKit 是数据驱动的 UICollectionView 框架,为了构建快速和可扩展的列表。另外,它有助于你在 app 结束对于大量视图控制器的使用。看看这篇来自 ,关于如何在项目中实现这个库,或者读读这篇 ,关于迁移现有的 UITableView 到 IGListCollectionView。

2.  作者是 



 是一个直接运行在手机、平板和可穿戴设备内部的移动端数据库,不只是 iOS。如果你想试一点和 Core Data 不一样的,就用 Realm。许多人说它是一个现代化的、产品已经可以替代苹果原生的解决方案。

3.  作者是 



Moya 是你的 app 中缺失的网络层。不用再去想在哪儿(或者如何)安放网络请求,Moya 替你管理。



4.  作者是 

Swift 界 JSON 解析之王。
把这段代码:

if let statusesArray = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]],    let user = statusesArray[0]["user"] as? [String: Any],    let username = user["name"] as? String {    // Finally we got the username}

变成了这段:

let json = JSON(data: dataFromNetworking)if let userName = json[0]["user"]["name"].string {  // Now you got your value}

自动替你完成了可选值的拆包。

5.  作者是 

Valet 允许你安全的在 iOS 或 OS X 钥匙链中存储数据,而不需要掌握任何钥匙链如何工作的知识。它支持在一台设备的多个应用(同一个开发者)间分享数据,以及在一个应用中在多个设备间利用 iCloud 进行分享。支持 Touch ID?没问题。

6.  作者是 



由谷歌制作(好吧,收购),应该是 iOS 最好的免费分析解决方案。追踪 app 使用量、用户活跃度、以及事件;设置用户属性;创建自定义受众;还有更多。

7. 



Facebook 为他们的 app Paper 创造了这个异步 UI SDK。如果你想让你的 app 总是每秒用 60 帧的速度来渲染,一定要看看这个库。这儿有一篇来自 Buffer 团队的故事:

8. 

用户安装了你的 app 之后,就会看见一个空白的 UITableView。
DZNEmptyDataSet 帮助你避免这个情况,它提供了  的默认实现。



9.  作者是 



Chameleon 是一个轻量、又强大的 iOS 颜色框架。它基于“软件应用程序应该轻松地实现功能,同时保持漂亮的界面”这个想法而创建。
有了 Chameleon,你就不再需要捣鼓 RGB 值、浪费时间搞明白 app 里正确的颜色组合、以及为文本能否在 app 里不同的背景下可以被看见而烦恼。




10.  作者是 



PermissionScope 是一个 Swift 框架,为了向用户巧妙地请求权限。它不只包含简单的权限请求 UI,还有统一的权限 API 可以告诉你任意给定的系统权限的状态,当然也可以轻松地请求它们。



11.  作者是 



FileKit 是一个 Swift 框架,提供了简单和富有表现力的文件管理。

12.  作者是 

SwiftyUserDefaults 让 user defaults 用起来很愉悦,通过结合意味深长的 Swifty API 和静态输入的益处。在一个地方定义键,轻松地使用值类型,获得额外的安全性和方便的编译时检查,这些都是免费的。

13.  作者是



Kingfisher 是一个轻量、纯 Swift 的库,可以从网络中异步下载和缓存图片。

14.  作者是 



Hero 是为了构建 iOS 试图控制器过渡动画的库。它在 UIKit 繁琐的过渡动画 API 之上提供了一个层,使得自定义过渡动画对于开发人员来说是一个轻松的任务。

15.  作者是



Hedwig 是一个 Swift 包,提供了一组高级 API,可以让你轻松地发送电子邮件到SMTP服务器。如果你打算在下一个神奇的 Swift 服务器 app里发送 email,Hedwig 可能是一个好的选择。

16.  作者是

DeviceKit 是 UIDevice 的值类型替换。轻松获取设备信息和电池电量。

17. 



漂亮的线图、饼图、条形图、分布图、气泡图、雷达图还有更多种类,这是一个图表库。



18. 

一个易于使用的UITableViewCell子类,允许显示带有多种转换的可滑动按钮。



19.  作者是 



简单易用的随机数据生成。

20. 



ResponseDetective 是一个非嵌入式框架,用于拦截应用程序和服务器之间的任何传出请求和传入响应以用于调试目的。

21. 

只需几行代码,即可轻松创建漂亮,引人入胜的用户指导页体验。



22.  +  作者是 



Quick是 Swift 和 Objective-C 的BDD测试框架,和匹配器框架 Nimble 配合使用。


23.  作者是 

Natalie 生成基于 storyboard 文件的 Swift 代码,使 storyboard 和 segue 更容易使用。生成的文件减少了用字符串作为 Segue 或 Storyboard 的标识符的情况。

24.  作者是 



对Swift中的 reactive 编程感兴趣?这里是RxSwift。

25.  作者是 






GDPerformanceView在状态栏上方显示 FPS,CPU 使用情况,app 和 iOS 版本,并通过 delegate 报告 FPS 和 CPU 使用情况。

26. 



Alamofire 是用 Swift 写的 HTTP 网络库。


27.  作者是 



SwiftyStoreKit 是一个轻量的 app 内购框架,支持 iOS 8.0+,tvOS 9.0+和macOS 10.10+。

28.  作者是 

Swift 里直观的日期处理。

29.  作者是 

Swift 里加密相关的帮助函数实现。

30. 



完全自定义的 iOS 日历库,兼容 Objective-C 和 Swift。




31.  作者是 

模仿 Twitter 的图片浏览器。

32. 



PromiseKit 是对于任意有 swiftc 的平台的周到和完整的 promises 实现,它有优秀的 Objective-C 桥接和赏心悦目的 iOS、macOS、tvOS 和 watchOS 专业化。

33.  作者是 



Ensembles 是一个 Objective-C 框架——也支持 Swift —— 它扩展了Apple的Core Data框架,为Mac OS和iOS添加了点对点同步。多个 SQLite persistent store 可以通过文件同步平台(如iCloud或Dropbox)耦合在一起。该框架可以容易地扩展以支持能够在设备之间移动文件的任何服务,包括自定义服务器。


这些库的 TL;DR 列表,供快速查询:

  1.  [UICollectionView 框架] -> pod 'IGListKit', '~> 2.0.0
  2.  [移动端数据库] -> pod 'RealmSwift’
  3.  [抽象网络层] -> pod 'Moya', ‘8.0.0’
  4.  [JSON 解析] -> pod 'SwiftyJSON’
  5.  [钥匙串帮手] -> pod 'Valet’
  6.  [分析] -> pod 'Firebase/Core’
  7.  [异步 UI SDK] -> pod 'AsyncDisplayKit’
  8.  [空状态模式] -> pod 'DZNEmptyDataSet’
  9.  [扁平化颜色框架] -> pod 'ChameleonFramework/Swift', :git => 'https://github.com/ViccAlexander/Chameleon.git'
  10.  [iOS 权限框架] -> pod 'PermissionScope’
  11.  [文件管理] -> pod 'FileKit', '~> 4.0.0’
  12.  [user defaults 帮手] -> pod 'SwiftyUserDefaults’
  13.  [下载图片] -> pod 'Kingfisher', '~> 3.0’
  14.  [自定义试图控制器过渡动画] -> pod 'Hero’
  15.  [发送 email]
  16.  [设备信息] -> pod 'DeviceKit', '~> 1.0’
  17.  [图表] -> pod 'Charts’
  18.  [可以滑动的 table cells] -> pod 'MGSwipeTableCell’
  19.  [随机生成数字] -> pod 'RandomKit', '~> 3.0.0’
  20.  [调适网络请求] -> pod 'ResponseDetective’
  21.  [用户指导页] -> pod 'Onboard’
  22.  +  [BDD 测试] -> pod 'Quick’
    pod 'Nimble’
  23.  [从 storyboard 生成代码]
  24.  [reactive 编程] -> pod 'RxSwift', '~> 3.0’
  25.  [实时 FPS and CPU 用量] -> pod 'GDPerformanceView-Swift', '~> 1.1.0’
  26.  [网络] -> pod 'Alamofire', '~> 4.3’
  27.  [app 内购] -> pod 'SwiftyStoreKit’
  28.  [date 帮手] -> pod 'Timepiece’
  29.  [加密] -> pod 'CryptoSwift’
  30.  [日历] -> pod 'FSCalendar’
  31.  [模仿 Twitter 的图片查看器] -> pod 'ImageViewer’
  32.  [promises] -> pod 'PromiseKit', '~> 4.0’
  33.  [Core Data 同步] -> pod 'Ensembles’

感谢阅读,这不是你在 Medium 上可以读到的最短的文章!如果你喜欢这篇文章,点击下面的 ❤️ 来把它分享给你的朋友,这样更多的人会发现这些非常棒的库。你也可以 ,那儿我发的基本都是 iOS 开发。谢谢!

转载地址:http://rqpsi.baihongyu.com/

你可能感兴趣的文章
collect2: ld returned 1 exit status
查看>>
C#入门
查看>>
查找最大值最小值
查看>>
杨辉三角
查看>>
冒泡排序法
查看>>
C#中ColorDialog需点两次确定才会退出的问题
查看>>
16、Memento 备忘录模式
查看>>
Java基础篇(一)
查看>>
数据库
查看>>
mysql update与group by
查看>>
nginx反代 499 502 bad gateway 和timeout
查看>>
linux虚拟机安装tar.gz版jdk步骤详解
查看>>
python猜拳游戏
查看>>
python实现100以内自然数之和,偶数之和
查看>>
python数字逆序输出及多个print输出在同一行
查看>>
ESP8266 WIFI数传 Pixhaw折腾笔记
查看>>
苏宁产品经理面经
查看>>
百度产品经理群面
查看>>
去哪儿一面+平安科技二面+hr面+贝贝一面+二面产品面经
查看>>
element ui 弹窗在IE11中关闭时闪现问题修复
查看>>