共计 2284 个字符,预计需要花费 6 分钟才能阅读完成。
分享近期 GitHub 上比较流行的 22 个和 iOS 开发相关的开源项目。
包括开发辅助工具,异步编程库,JSON 解析,移动端数据库,图像视频处理,网络请求,UI 框架、组件,算法、数据结构等内容。
- Accio
使用 Swift 编写的 iOS/tvOS/watchOS/macOS 依赖管理工具。
在当前 iOS 生态环境中,CocoaPods 和 Carthage 是最成熟的依赖管理器。
如果你不喜欢使用 Ruby 编写的 CocoaPods,或者更偏爱 Carthage 的非侵入方式,可以尝试下 Accio. Accio 改进了 Carthage 的一些问题,同时它的核心尽可能使用 SwiftPM,这样未来 Xcode 对 SwiftPM 支持更成熟时,可以很方便地迁移到 SwiftPM。
顺便提一下,Accio 读作 AH-kee-oh.
- SwiftLint
检查 Swift 代码风格、惯例。基于 Clang 和 SourceKit 提供的 AST 表示,因此可以提供更精准的分析结果。
- idb
顾名思义,iOS 版本的 adb
。这款 Facebook 开发的命令行工具可助你自动化在模拟器和真机上的调试流程。
- InAppViewDebugger
供内嵌于应用的视图调试器。类似 Xcode 视图调试器,但可以在 iPad 和 iPhone 上调试视图。
- MTHawkeye
美图秀秀开源的 iOS 调试优化辅助工具集。
内置插件有 LivingObjectSniffer(跟踪对象)、Allocations(跟踪实时分配内存)、UITimeProfiler(主线程耗时任务调优)、ANRTrace(捕获卡顿事件)、FPSTrace(跟踪界面 FPS 及 OpenGL 刷新绘制 FPS)、CPUTrace(跟踪 CPU 持续高使用率)、NetworkMonitor(监听记录应用内 HTTP(S) 网络请求各阶段耗时)、NetworkInspect(基于 Network Monitor 推荐可优化项,支持自定义规则)、OpengGLTrace(跟踪 OpenGL 资源内存占用)、DirectoryWatcher(跟踪沙盒文件夹大小)、FLEX(沙盒文件 AirDrop)。
开发者可基于基础框架 API 开发自己的调试辅助插件。
- RxSwift
在 Swift 中使用 Reactive 编程范式。
- PromiseKit
给 Swift 和 Objective-C 带来了 Promise 异步编程模式。
- IkigaJSON
用 Swift 编写的高性能 JSON 解析库。
- Realm
移动端数据库,Core Data & SQLite 替代品。
提供直观的对象接口,无需 ORM。在提供众多丰富特性的情况下,常用操作仍有超越原生 SQLite 的性能。
支持 iOS、macOS、tvOS、watchOS。同时提供 Objective-C 和 Swift 版本。
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的 iOS 交流群:519832104 不管你是小白还是大牛欢迎入驻,分享经验,讨论技术,大家一起交流学习成长!
另附上一份各好友收集的大厂面试题,需要 iOS 开发学习资料、面试真题,可以添加 iOS 开发进阶交流群,进群可自行下载!
- BBMetalImage
使用 Swift 编写的高性能图像视频处理库,基于 GPU 加速。
内置超过 60 种过滤器,支持链式调用,支持自定义过滤器。
- Alamofire
使用 Swift 编写的 HTTP 网络库,支持 iOS、macOS、tvOS、watchOS。特性包括链式调用,URL、JSON、plist 参数编码,上传文件、数据,下载文件(支持续传),URLCredential 认证,HTTP 响应校验,上传、下载进度,curl 命令输出,动态适配、重试请求等。
- SDWebImage
高性能异步图像下载,特性包括缓存(自动处理缓存过期)、后台图像解压缩、定制图像转换、定制图像加载器等。
在 UIImage 支持的格式(JPEG、PNG、GIF 等)之外,还支持 WebP 格式(包括 WebP 动画)。并可通过插件支持更多图像格式,例如 APNG、BPG、HFIF、SVG。
- IGListKit
UICollectionView 框架,创建高速、灵活的列表。
提供可复用的单元格、组件和易于扩展的 API,支持多种数据类型。diff 算法解耦,可定制 diff 行为。使用 Objective-C 编写,同时提供完整的 Swift 互操作支持。
- Charts
iOS/tvOS/macOS 图表绘制库。在 Android 开发者间很流行的图表绘制库 MPAndroidChart 的 Swift 移植版。
- SnapKit
iOS 和 macOS 自动布局 DSL。
- Blueprint
Square 最近开源的声明式 iOS UI 框架。使用 Swift 编写。该框架尚处于试验阶段,但已应用于 Square 生产环境应用。
- QMUI
腾讯开源的 iOS UI 解决方案。
- IQKeyboardManager
自动防止弹出键盘遮盖 UITextField/UITextView
。
- TORoundedButton
基于 UIControl
类实现的圆角矩形按钮控件。在提供众多定制样式的选项的同时仍保持尽可能高的图形性能。
使用 Objective-C 编写,不过完全兼容 Swift(Swift 下的类名为 RoundedButton
)。
- Swift Algorithm Club
算法和数据结构,除了 Swift 代码,还配有详尽的解释!
- LeetCode by Swift
LeetCode 问题的 Swift 解答。
- Open-Source iOS Apps
开源 iOS 应用列表,可供观摩借鉴。
你有什么可以补充进上面这个列表的项目吗?欢迎留言分享你的发现和创造!