33 款主宰 2017 iOS 开发的开源库
协作翻译
原文:33 iOS open source libraries that will dominate 2017
链接:https://medium.com/app-coder-io/33-ios-open-source-libraries-that-will-dominate-2017-4762cf3ce449
译者:Tocy, 王练, 无若, 总长, 君影文华
按需排列 33 个库,提升你在 2017 年的开发。开始燃烧吧。
请输入标题 bcdef
你好,iOS 开发者们!我的名字是 Pawel,是一名 iOS 独立开发者,也是 Enter Universe 的作者。
大概在两年前,我发布了 提升开发的 27 个 iOS 开源库。这篇文章是我的一个最佳纪录(用户好评数):
因为有15.5万人关注过这个话题,为了帮大家找到最好的 iOS 开源库,我又要发文了。
查看我的 GitHub 资料可以看到,距离上次发文,我又发现了180多个新的已加星标的库,所以现在是更新我的内容的绝佳时机。
按需排列 33 个库,提升你在 2017 年的开发。开始燃烧吧。
请输入标题 abcdefg
IGListKit
https://github.com/Instagram/IGListKit
请输入标题 bcdef
由 Instagram 开发人员制作,IGListKit 是用于构建快速灵活列表的数据驱动型的 UICollectionView 框架。
此外,它可以帮助你在应用程序中避免大量使用视图控制器的情况。可查看 Ray Wenderlich 上的关于在你的项目中实现该库的教程,或者从 Rodrigo Cavalcante 中看看关于将现有的 UITableView 迁移到 IGListCollectionView 的方法。
请输入标题 abcdefg
Realm
https://github.com/realm/realm-cocoa
请输入标题 bcdef
Realm 是一款移动数据库,可直接运行在手机、平板电脑和可穿戴设备中,它不仅适用于 iOS。
如果你想尝试与 Core Data 不同的东西,可以试试使用 Realm 。许多人说,它是一种现代化的、高效率的用于原生苹果解决方案的替代物。
请输入标题 abcdefg
Moya
https://github.com/Moya/Moya
请输入标题 bcdef
Moya 是你的应用程序所缺少的网络层。你不用思考将网络请求放到哪里(以及如何放),Moya 会帮你处理这些问题。
请输入标题 abcdefg
SwiftyJSON
https://github.com/SwiftyJSON/SwiftyJSON
请输入标题 bcdef
Swift 中的 JSON 解析之王。
将下面内容:
转换为这种格式:
可选封装会自动为你完成。
请输入标题 abcdefg
Valet
https://github.com/square/Valet
请输入标题 bcdef
Valet 可以帮助你实现将数据安全地存储在 iOS 或 OS X Keychain 中,而无需了解任何 Keychain 相关的工作原理。它支持在单个设备上的多个应用程序(同一开发者)之间共享数据,并在具有 iCloud 的设备上的实现跨设备的数据共享。它还支持 Touch ID。
请输入标题 abcdefg
Firebase Analytics
https://firebase.google.com/docs/analytics/ios/start
请输入标题 bcdef
它(由 Google 出品)可能是 iOS 上最好的免费分析解决方案。包括跟踪应用程序使用量、用户活跃度,以及事件;设置用户属性;创建自定义受众;和一些其他功能。
请输入标题 abcdefg
AsyncDisplayKit
https://github.com/facebook/AsyncDisplayKit
请输入标题 bcdef
Facebook 为他们的 app Paper创造了这个异步 UI SDK。如果你想让你的 app 总是每秒用 60 帧的速度来渲染,一定要看看这个库。 这儿有一篇来自 Buffer 团队的故事。
请输入标题 abcdefg
DZNEmptyDataSet
https://github.com/dzenbot/DZNEmptyDataSet
请输入标题 bcdef
通常用户安装一个 APP 后,会看到一个空的 UITableView 。DZNEmptyDataSet 可以通过提供默认的 Empty Data Set Pattern 的实现来回避这个问题。
请输入标题 abcdefg
Chameleon
https://github.com/ViccAlexander/Chameleon
请输入标题 bcdef
Chameleon 是一个轻量却功能强大的 iOS 颜色框架软件。它基于的理念是:软件应用程序应该可以不费力气且同时保持多个漂亮的界面。
使用 Chameleon ,你不再需要调配 RGB 值,不用浪费时间去找你的 APP 合适的颜色组合,也不用担心你 APP 的文字是否能在不同背景色上可读。
请输入标题 abcdefg
PermissionScope
https://github.com/nickoneill/PermissionScope
请输入标题 bcdef
PermissionScope 是一个用于智能请求用户权限的 Swift 框架。 它不仅包含一个简单的用户界面来请求权限,还包含一个统一的许可 API ,可以告诉你任何指定的系统权限的状态或轻松地对它们发起请求。
请输入标题 abcdefg
FileKit
https://github.com/nvzqz/FileKit
请输入标题 bcdef
FileKit 是一个 Swift 框架,提供简单而富有表现力的文件管理。使用示例:http://github.com/nvzqz/FileKit#paths
请输入标题 abcdefg
SwiftyUserDefaults
https://github.com/radex/SwiftyUserDefaults
请输入标题 bcdef
SwiftyUserDefaults 让 user defaults 用起来很愉悦,通过结合极具表现力的 Swifty API 和静态输入的优势。在一个地方定义键,轻松地使用值类型,并免费获得额外的安全性和方便的编译时检查。
请输入标题 abcdefg
Kingfisher
https://github.com/onevcat/Kingfisher
请输入标题 bcdef
Kingfisher 是一款轻量级的纯 Swift 库,用于从 Web 上异步下载和缓存图像。
特性
- 异步图像下载和缓存
- 基于 URLSession 的网络。提供基本图像处理器和滤镜。
- 用于内存和磁盘的多层缓存。
- 可取消下载和任务处理以提高性能。
- 组件独立。可按需分别使用下载器或缓存系统。
- 预先获取图像并在必要时将其从缓存中显示出来。
- 包含 UIImageView、NSImage和UIButton扩展,可直接从 URL 设置图像。
- 设置图像时可内置过渡动画。
- 可扩展的图像处理和图像格式支持。
请输入标题 abcdefg
Hero
https://github.com/lkzhao/Hero
请输入标题 bcdef
Hero 是构建 iOS 视图控制器过渡动画的库。它在 UIKit 繁琐的过渡动画 API 之上提供了一个层,使得自定义过渡动画对于开发人员来说是一个轻松的任务。
请输入标题 abcdefg
Hedwig
https://github.com/onevcat/Hedwig
请输入标题 bcdef
Hedwig 是一个 Swift 包,提供一组高级 API,可以让你轻松地发送电子邮件到 SMTP 服务器。如果你打算在下一个神奇的 Swift 服务器应用里发送电子邮件,Hedwig 可能是一个不错的选择。
特性
- 支持通过普通、SSL 或 TLS(STARTTLS)端口连接到所有的 SMTP 服务器。
- 支持使用 PLAIN、CRAM-MD5、LOGIN 或 XOAUTH2 进行认证。
- 支持使用 HTML 正文和附件发送电子邮件。
- 支持自定义验证方法和邮件标题,以跟踪你的邮件活动。
- 支持邮件按序发送,甚至可以同时发送邮件。
- 支持 Swift Package Manager。
- 完善的测试和文档。
请输入标题 abcdefg
DeviceKit
https://github.com/dennisweissmann/DeviceKit
请输入标题 bcdef
DeviceKit 是 UIDevice 的值类型替换。可轻松获取设备的信息和电池电量。
特性
- 设备识别
- 设备系列检测
- 设备组检测
- 模拟器检测
- 电池状态
- 电池电量
- Equatable
请输入标题 abcdefg
Charts
https://github.com/danielgindi/Charts
请输入标题 bcdef
漂亮的曲线图、饼状图、柱状图、散点图、气泡图、雷达图,更多的图形都在 charts 库里。
请输入标题 abcdefg
MGSwipeTableCell
https://github.com/MortimerGoro/MGSwipeTableCell
请输入标题 bcdef
一个易于使用的 UITableViewCell 子类,可展示多种过渡方式的可滑动按钮。
请输入标题 abcdefg
RandomKit
https://github.com/nvzqz/RandomKit
请输入标题 bcdef
简单易用的随机数据生成器。
请输入标题 abcdefg
ResponseDetective
https://github.com/netguru/ResponseDetective
请输入标题 bcdef
ResponseDetective 是一个非侵入式框架,在调试时用于拦截应用程序和服务器之间的任何的传出请求和传入响应,以进行调试。
请输入标题 abcdefg
Onboard
https://github.com/mamaral/Onboard
请输入标题 bcdef
仅需添加几行代码,即可轻松创建一个美丽和吸引人的载入体验。
请输入标题 abcdefg
Quick + Nimble
https://github.com/Quick/Nimble
请输入标题 bcdef
Quick 是一款专门用于 iOS 应用开发的开源行为驱动开发(BDD)测试框架,支持 Swift 和 Objective-C ,一般配合匹配框架 Nimble 使用。
请输入标题 abcdefg
Natalie
https://github.com/krzyzanowskim/Natalie
请输入标题 bcdef
Natalie 生成基于 Storyboard 文件的 Swift 代码,使 Storyboard 和 Segue 更容易使用。生成的文件减少了用字符串作为 Segue 或 Storyboard 的标识符的情况。
请输入标题 abcdefg
RxSwift
https://github.com/ReactiveX/RxSwift
请输入标题 bcdef
对 Swift 的响应式编程感兴趣? 那不妨试试 RxSwift 。
示例
指定 GitHub 存储库的搜索 ...
... 然后将结果绑定到你的视图表
请输入标题 abcdefg
GDPerformanceView
https://github.com/dani-gavrilov/GDPerformanceView-Swift
请输入标题 bcdef
GDPerformanceView 可以在状态栏上方显示 FPS、CPU 使用情况以及应用版本和 iOS 版本,并通过 delegate 报告 FPS 和 CPU 使用情况。
请输入标题 abcdefg
Alamofire
https://github.com/Alamofire/Alamofire
请输入标题 bcdef
Alamofire 是一个用 Swift 编写的 HTTP 网络库。
特性
- 链式的请求/响应方法
- URL / JSON / plist 参数编码
- 上传类型支持:文件(File )、数据(Data )、流(Stream)以及 MultipartFormData
- 支持文件下载,下载支持断点续传
- 支持使用 NSURLCredential进 行身份验证
- 支持 HTTP 响应验证
- 上传和下载进度可随进程关闭
- 支持 cURL 命令输出
- 支持动态修改和重试请求
- 支持 TLS Certificate 和 Public Key Pinning
- 网络可达性
- 文档完善
请输入标题 abcdefg
SwiftyStoreKit
https://github.com/bizz84/SwiftyStoreKit
请输入标题 bcdef
SwiftyStoreKit 是一个轻量级的 App 内购框架,支持 iOS 8.0+、tvOS 9.0+ 和 macOS 10.10+ 。
请输入标题 abcdefg
Timepiece
https://github.com/naoty/Timepiece
请输入标题 bcdef
直观的 Swift 日期处理库。
特征:
- 直观: Timepiece 提供了一系列辅助函数,使得日期处理更简单。
- 准确: 精确依赖于 Foundation API , - Timepiece 可以在无需深入了解的前提下辅助计算日期。
- 小: Timepiece 只有4个文件,你可以很简单的阅读其内部结构。
请输入标题 abcdefg
CryptoSwift
https://github.com/krzyzanowskim/CryptoSwift
请输入标题 bcdef
用 Swift 实现的且用于 Swift 中的加密相关函数和辅助结构。
特点
- 易用
- 对于字符串和数据方便扩展
- 支持增量更新(流式更新)
- 支持 iOS、 macOS、AppleTV、watchOS、Linux 等系统
请输入标题 abcdefg
FSCalendar
https://github.com/WenchaoD/FSCalendar
请输入标题 bcdef
完全可定制的 iOS 日历库,兼容 Objective-C 和 Swift 。
请输入标题 abcdefg
ImageViewer
https://github.com/MailOnline/ImageViewer
请输入标题 bcdef
一个类似 Twitter 的图像查看器。
请输入标题 abcdefg
PromiseKit
https://github.com/mxcl/PromiseKit
请输入标题 bcdef
PromiseKit 是对任意有 swiftc 的平台的恰当而又完整的 promises 实现,它具有卓越的 Objective-C 桥接和专门为 iOS、macOS、tvOS 以及 watchOS 的特殊化处理。
请输入标题 abcdefg
Ensembles
https://github.com/drewmccormack/ensembles
请输入标题 bcdef
Ensemble 是一个 Objective-C 框架,支持 Swift ,扩展了 Apple 的 Core Data 框架,为 Mac OS 和 iOS 添加了点对点的同步功能。
多个 SQLite 持久存储可以通过像 iCloud 或 Dropbox 这样的文件同步平台整合在一起。该框架易于扩展,可支持任何需要在不同设备之间传输文件的服务,包括定制服务器。
请输入标题 abcdefg