查看原文
其他

33 款主宰 2017 iOS 开发的开源库

2017-06-16 OSC-协作翻译 开源中国


协作翻译

原文: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



推荐阅读

2017 年最佳开源网络监控工具

2017 十大最佳用于隐私和安全保护的 Linux 发行版

大公司利用开源作品申请专利,谁伤了开源软件作者的心?

NGINX 开发指南(Part 3)

倾力推荐,学习 Kotlin 的 20 个实用资源

“放码过来”邀您亮“项”,一不小心就火了!

点击“阅读原文”查看更多精彩内容

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

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