2020-06-13

22个iOS开发常用开源项目

22个iOS开发常用开源项目


分享近期 GitHub 上比较流行的 22 个和 iOS 开发相关的开源项目。

包括开发辅助工具,异步编程库,JSON 解析,移动端数据库,图像视频处理,网络请求,UI 框架、组件,算法、数据结构等内容。

  1. Accio 使用 Swift 编写的 iOS/tvOS/watchOS/macOS 依赖管理工具。

在当前 iOS 生态环境中,CocoaPods 和 Carthage 是最成熟的依赖管理器。

如果你不喜欢使用 Ruby 编写的 CocoaPods,或者更偏爱 Carthage 的非侵入方式,可以尝试下 Accio. Accio 改进了 Carthage 的一些问题,同时它的核心尽可能使用 SwiftPM,这样未来 Xcode 对 SwiftPM 支持更成熟时,可以很方便地迁移到 SwiftPM。顺便提一下,Accio 读作 AH-kee-oh.

  1. SwiftLint 检查 Swift 代码风格、惯例。基于 Clang 和 SourceKit 提供的 AST 表示,因此可以提供更精准的分析结果。

  2. idb 顾名思义,iOS 版本的 adb。这款 Facebook 开发的命令行工具可助你自动化在模拟器和真机上的调试流程。

  3. InAppViewDebugger 供内嵌于应用的视图调试器。类似 Xcode 视图调试器,但可以在 iPad 和 iPhone 上调试视图。

  4. MTHawkeye 美图秀秀开源的 iOS 调试优化辅助工具集。内置插件有 LivingObjectSniffer (跟踪对象)、Allocations(跟踪实时分配内存)、UITimeProfiler(主线程耗时任务调优)、ANRTrace(捕获卡顿事件)、FPSTrace(跟踪界面 FPS 及 OpenGL 刷新绘制 FPS)、CPUTrace(跟踪 CPU 持续高使用率)、NetworkMonitor(监听记录应用内 HTTP(S) 网络请求各阶段耗时)、NetworkInspect(基于 Network Monitor 推荐可优化项,支持自定义规则)、OpengGLTrace(跟踪 OpenGL 资源内存占用)、DirectoryWatcher(跟踪沙盒文件夹大小)、FLEX(沙盒文件 AirDrop)。开发者可基于基础框架 API 开发自己的调试辅助插件。

  5. RxSwift 在 Swift 中使用 Reactive 编程范式。

  6. PromiseKit 给 Swift 和 Objective-C 带来了 Promise 异步编程模式。

  7. IkigaJSON 用 Swift 编写的高性能 JSON 解析库。

  8. Realm 移动端数据库,Core Data & SQLite 替代品。提供直观的对象接口,无需 ORM。在提供众多丰富特性的情况下,常用操作仍有超越原生 SQLite 的性能。支持 iOS、macOS、tvOS、watchOS。同时提供 Objective-C 和 Swift 版本。

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交
流群:519832104 不管你是小白还
是大牛欢迎入驻,分享经验,讨论技术,大家一起交流学习成长!
另附上一份各好友收集的大厂面试题,需要iOS开发学习资料、面试真题,可以添加
iOS开发进阶交流群,进群可自行下载!

  1. BBMetalImage 使用 Swift 编写的高性能图像视频处理库,基于 GPU 加速。内置超过 60 种过滤器,支持链式调用,支持自定义过滤器。

  2. Alamofire 使用 Swift 编写的 HTTP 网络库,支持 iOS、macOS、tvOS、watchOS。特性包括链式调用,URL、JSON、plist 参数编码,上传文件、数据,下载文件(支持续传),URLCredential 认证,HTTP 响应校验,上传、下载进度,curl 命令输出,动态适配、重试请求等。

  3. SDWebImage 高性能异步图像下载,特性包括缓存(自动处理缓存过期)、后台图像解压缩、定制图像转换、定制图像加载器等。在 UIImage 支持的格式(JPEG、PNG、GIF 等)之外,还支持 WebP 格式(包括 WebP 动画)。并可通过插件支持更多图像格式,例如 APNG、BPG、HFIF、SVG。

  4. IGListKit UICollectionView 框架,创建高速、灵活的列表。提供可复用的单元格、组件和易于扩展的 API,支持多种数据类型。diff 算法解耦,可定制 diff 行为。使用 Objective-C 编写,同时提供完整的 Swift 互操作支持。

  5. Charts iOS/tvOS/macOS 图表绘制库。在 Android 开发者间很流行的图表绘制库 MPAndroidChart 的 Swift 移植版。

  6. SnapKit iOS 和 macOS 自动布局 DSL。

  7. Blueprint Square 最近开源的声明式 iOS UI 框架。使用 Swift 编写。该框架尚处于试验阶段,但已应用于 Square 生产环境应用。

  8. QMUI 腾讯开源的 iOS UI 解决方案。

  9. IQKeyboardManager 自动防止弹出键盘遮盖 UITextField/UITextView

  10. TORoundedButton 基于 UIControl 类实现的圆角矩形按钮控件。在提供众多定制样式的选项的同时仍保持尽可能高的图形性能。使用 Objective-C 编写,不过完全兼容 Swift(Swift 下的类名为 RoundedButton)。

  11. Swift Algorithm Club 算法和数据结构,除了 Swift 代码,还配有详尽的解释!

  12. LeetCode by Swift LeetCode 问题的 Swift 解答。

  13. Open-Source iOS Apps 开源 iOS 应用列表,可供观摩借鉴。

你有什么可以补充进上面这个列表的项目吗?欢迎留言分享你的发现和创造!


No comments:

Post a Comment