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

开源 iOS开发   2017-06-16 08:33:55 发布
您的评价:
     
5.0
收藏     2收藏
文件夹
标签
(多个标签用逗号分隔)

你好, iOS 开发者们 !我的名字是 Pawel,是一名 iOS 独立开发者,也是    Enter Universe 的作者。

大概在两年前,我发布了 27个iOS开源库提升你的开发 。这篇文章是我的一个最佳纪录(用户好评数):

因为有 15.5万人 关注过这个话题,为了找到最好的 iOS 开源库, 我又要发文了

查看 我的 GitHub 资料 可以看到,从那时起,我又发现了180多个新的已加星标的库,所以现在是更新我的“Medium”内容的绝佳时机。

按需排列 33 个库,提升你在 2017 年的开发。开始燃烧吧。

1. IGListKit

由 Instagram 开发人员制作,IGListKit 是用于构建快速灵活列表的数据驱动型的 UICollectionView 框架。此外,它可以帮助你在应用程序中避免大量使用视图控制器的情况。查看 Ray Wenderlich 关于在你的项目中实现该库的教程,或者从  Rodrigo Cavalcante 中看看关于将现有的 UITableView 迁移到 IGListCollectionView 的方法。

2. Realm

Realm 是一种移动数据库,可直接运行在手机、平板电脑和可穿戴设备中,不仅适用于 iOS。如果你想尝试与 Core Data 不同的东西,请尝试使用 Realm 。 许多人说,它是一种现代化的、高效率的用于原生苹果解决方案的替代物 。

3. Moya

Moya 是你的应用程序所缺少的网络层。不用思考将你的网络请求放到哪里(以及如何),Moya 会为你处理这些问题。

4. SwiftyJSON

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

Valet 可以帮助你实现将数据安全地存储在 iOS 或 OS X Keychain 中,而无需了解任何 Keychain 相关的工作原理。它支持在单个设备上的多个应用程序(同一开发者)之间共享数据,并在具有 iCloud 的设备上的实现跨设备的数据共享。支持 Touch ID 吗?完全没问题。

6. Firebase Analytics

它(由 Google 出品)可能是 iOS 上最好的免费分析解决方案。包括跟踪应用程序使用情况、用户参与度和事件; 设置用户属性; 创建自定义受众; 和一些其他功能。

7. AsyncDisplayKit

Facebook 为他们的应用程序 Paper 构建了这个异步 UI 的 SDK 。如果你对每秒60帧渲染应用感兴趣,请务必查看此库。 点此 可以了解下 Facebook Buffer 小组的历史。

8. DZNEmptyDataSet

通常用户安装一个 APP 后,会看到一个空的 UITableView 。DZNEmptyDataSet 可以通过提供默认的 Empty Data Set Pattern 的实现来回避这个问题。

9. Chameleon

Chameleon 是一个轻量却功能强大的 iOS 颜色框架软件。它基于的理念是:软件应用程序应该可以不费力气且同时维护多个漂亮的界面。

使用 Chameleon ,你不再需要调配 RGB 值,不用浪费时间去找你的 APP 合适的颜色组合,也不用担心你 APP 的文字是否能在不同背景色上可读。

10. PermissionScope

PermissionScope 是一个用于智能请求用户权限的 Swift 框架。 它不仅包含一个简单的用户界面来请求权限,还包含一个统一的许可 API ,可以告诉你任何指定的系统权限的状态或轻松地对它们发起请求。

11. FileKit

FileKit 是一个 Swift 框架,提供简单而富有表现力的文件管理。 点此查看使用示例

12. SwiftyUserDefaults

SwiftyUserDefaults 让 user defaults 用起来很愉悦,通过结合极具表现力的 Swifty API 和静态输入的优势。在一个地方定义键,轻松地使用值类型,并免费获得额外的安全性和方便的编译时检查。

Kingfisher 是一款轻量级的纯 Swift 库,用于从 Web 上异步下载和缓存图像。

特性

  • 异步图像下载和缓存

  • 基于 URLSession 的网络。提供基本图像处理器和滤镜。

  • 用于内存和磁盘的多层缓存。

  • 可取消下载和任务处理以提高性能。

  • 组件独立。可按需分别使用下载器或缓存系统。

  • 预先获取图像并在必要时将其从缓存中显示出来。

  • 包含 UIImageView、NSImage和UIButton扩展,可直接从 URL 设置图像。

  • 设置图像时可内置过渡动画。

  • 可扩展的图像处理和图像格式支持。

14. Hero

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

15. Hedwig

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

特性

  • 支持通过普通、SSL 或 TLS(STARTTLS)端口连接到所有的 SMTP 服务器。

  • 支持使用 PLAIN、CRAM-MD5、LOGIN 或 XOAUTH2 进行认证。

  • 支持使用 HTML 正文和附件发送电子邮件。

  • 支持自定义验证方法和邮件标题,以跟踪你的邮件活动。

  • 支持邮件按序发送,甚至可以同时发送邮件。

  • 支持 Swift Package Manager。

  • 完善的测试和 文档

16. DeviceKit

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

特性

  • 设备识别

  • 设备系列检测

  • 设备组检测

  • 模拟器检测

  • 电池状态

  • 电池电量

  • Equatable

17. Charts

漂亮的曲线图, 饼状图, 柱状图, 散点图, 气泡图, 雷达图,更多的图形都在 charts 库里。

18. MGSwipeTableCell

一个易于使用的 UITableViewCell 子类,可展示多种过渡方式的可滑动按钮。

 

来自:https://www.oschina.net/translate/33-ios-open-source-libraries-that-will-dominate-2017

 

扩展阅读

iOS开发必读-GitHub 上Top100 的 Objective-C 项目
GitHub 上排名前 50 的 Objective-C 项目简介
GitHub 排名前 100 的安卓、iOS项目简介
iOS开发者必备:自己总结的iOS、mac开源项目及库
超全面!常用的 iOS 第三方资源

为您推荐

JavaScript模板引擎:tileTemplate
web安全实战
Node.js Web 爬虫:Node Osmosis
在Word文档里插入HTML或MarkDown的Python工具包
移动前端—图片压缩上传实践

更多

开源
iOS开发
相关文档  — 更多
相关经验  — 更多
相关讨论  — 更多