https://github.com/xiaomingx/awesome-swiftui
🌮 Awesome resources, articles, libraries about SwiftUI
https://github.com/xiaomingx/awesome-swiftui
List: awesome-swiftui
Last synced: 2 months ago
JSON representation
🌮 Awesome resources, articles, libraries about SwiftUI
- Host: GitHub
- URL: https://github.com/xiaomingx/awesome-swiftui
- Owner: XiaomingX
- License: apache-2.0
- Created: 2024-11-24T16:09:15.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-24T16:10:52.000Z (about 1 year ago)
- Last Synced: 2024-11-24T17:20:13.345Z (about 1 year ago)
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- ultimate-awesome - awesome-swiftui - 🌮 Awesome resources, articles, libraries about SwiftUI. (Programming Language Lists / Swift Lists)
README
# awesome-swiftui(精选SwiftUI学习资源与工具 | 适配iOS 18+/Swift 5.10)
专注整理**适配最新系统、高频实用**的SwiftUI资源,剔除小众过时内容和早期版本教程,帮你精准聚焦核心技能,高效提升开发能力。
## 一、官方教程(权威首选,适配最新版本)
苹果官方出品的教程是入门和进阶的“标准答案”,完全同步Xcode、Swift和系统的最新特性,权威性拉满。
- [SwiftUI 官方教程](https://developer.apple.com/tutorials/swiftui) - **入门级首选**:从基础视图(Text、Button)到交互逻辑,通过小案例快速上手,教你用SwiftUI搭建“优雅且动态”的UI。
- [iOS App开发入门(含SwiftUI)](https://developer.apple.com/tutorials/app-dev-training/) - **完整项目实战**:以“开发一个功能完整的iOS App”为目标,串联SwiftUI布局、数据处理、上架基础等核心流程。
- [跨平台开发:从iOS到macOS/watchOS](https://developer.apple.com/tutorials/swiftui/creating-a-macos-app) - **平台拓展必备**:讲解SwiftUI的“一次编码、多端适配”特性,教你快速将iOS应用拓展到macOS、watchOS平台。
## 二、WWDC 近年核心专题(抓准技术迭代方向)
WWDC是SwiftUI更新的“风向标”,优先看2023年后的内容,聚焦苹果官方主推的新特性(如Observation框架、性能优化)。
- [SwiftUI 性能优化实战(WWDC 2023 | 10164)](https://developer.apple.com/videos/play/wwdc2023/10164/) - **核心内容**:解决SwiftUI常见的“视图重复刷新”“布局卡顿”问题,实操讲解`LazyVStack`优化、动画性能调优。
- [Observation框架深度解析(WWDC 2023 | 10149)](https://developer.apple.com/videos/play/wwdc2023/10149/) - **核心内容**:替代旧的`ObservableObject`,教你用更轻量的`@Observable`管理数据,简化数据流逻辑。
- [SwiftUI 新组件与交互增强(WWDC 2024 | 10037)](https://developer.apple.com/videos/play/wwdc2024/10037/) - **核心内容**:上手iOS 18新增的`SegmentedPicker`、动态字体适配、手势交互增强等实用功能。
## 三、实用书籍(从入门到进阶,覆盖系统新特性)
推荐经过社区验证、持续更新的书籍,避免买“过时教材”。
- [《SwiftUI by Tutorials》(RayWenderlich | v5.0)](https://www.raywenderlich.com/books/swiftui-by-tutorials/v5.0) - **特点**:“手把手教敲代码”模式,从基础布局到`SwiftData`数据持久化、跨平台适配,适配iOS 18/Swift 5.10,适合零基础到中级开发者。
- [《SwiftUI 权威指南》(王巍 @onevcat)](https://onevcat.com/2021/swiftui-handbook/) - **特点**:国内Swift领域权威作者出品,侧重“原理+实战”,深入解析SwiftUI布局系统、状态管理等难点,适合想“知其所以然”的开发者。
- [《Advanced SwiftUI》(objc.io)](https://objc.io/books/advanced-swiftui/) - **特点**:进阶必备,讲解复杂交互(如自定义手势)、性能优化、架构设计(MVVM/MVI),适合有1年以上SwiftUI经验的开发者。
## 四、开源库精选(解决80%开发场景,附核心优势)
精选**维护活跃、社区星数高**的库,覆盖开发高频需求,部分标注“原生替代方案”(避免重复造轮子)。
### 1. 图片加载(最常用场景)
- [Kingfisher](https://github.com/onevcat/Kingfisher) - 核心优势:轻量、链式API易上手,支持缓存(内存+磁盘)、图片压缩、渐进式加载,适配SwiftUI的`AsyncImage`特性。
- [SDWebImageSwiftUI](https://github.com/SDWebImage/SDWebImageSwiftUI) - 核心优势:基于老牌`SDWebImage`,支持GIF动图、图片过渡动画,适合需要复杂图片处理(如圆角、模糊)的场景。
### 2. 状态管理(SwiftUI核心难点)
- [TCA (The Composable Architecture)](https://github.com/pointfreeco/swift-composable-architecture) - 核心优势:苹果推荐的“可组合架构”,解决复杂应用的状态共享、副作用管理问题,适合中大型项目。
- [ObservableMacros](https://github.com/pointfreeco/swift-observable-macros) - 核心优势:简化`Observation`框架的代码,用宏自动生成数据观察逻辑,减少模板代码。
### 3. 图表与数据可视化
- [SwiftUICharts](https://github.com/mecid/SwiftUICharts) - 核心优势:支持折线图、柱状图、饼图,自带无障碍适配(VoiceOver),API简洁,比苹果原生`Charts`更易定制样式。
- 原生替代:iOS 16+自带`Charts`框架,适合简单图表场景(无需额外引入第三方)。
### 4. 动画与交互
- [SwiftUI-Animations](https://github.com/Shubham0812/SwiftUI-Animations) - 核心优势:包含100+实战动画案例(如渐入、缩放、路径动画),可直接复制代码到项目中修改。
- [LottieSwiftUI](https://github.com/airbnb/lottie-ios) - 核心优势:支持加载AE制作的复杂动画(如启动页动画、交互反馈),是App动效的“行业标配”。
### 5. 布局增强
- [WaterfallGrid](https://github.com/paololeonardi/WaterfallGrid) - 核心优势:SwiftUI原生不支持瀑布流,这个库可快速实现“小红书式”不等高网格布局。
- 原生替代:iOS 16+的`LazyVGrid`/`LazyHGrid`,适合规则网格布局(无需第三方)。
### 6. 加载与提示
- [SkeletonUI](https://github.com/CSolanaM/SkeletonUI) - 核心优势:优雅的“骨架屏”实现,支持列表、卡片等多种布局,解决数据加载时的“空白等待”问题。
- [AlertToast](https://github.com/elai950/AlertToast) - 核心优势:仿苹果原生样式的提示框,支持成功/失败/加载等状态,可自定义图标和文字。
## 五、系统学习资源(按“学习路径”分类)
### 1. 零基础入门
- [100天SwiftUI学习计划(Hacking with Swift)](https://www.hackingwithswift.com/100/swiftui) - 特点:免费、项目驱动,每天1个小项目(如计算器、待办清单),从0到1掌握基础。
### 2. 速查与工具
- [SwiftUI Cheat Sheet](https://github.com/SimpleBoilerplates/SwiftUI-Cheat-Sheet) - 特点:常用代码片段合集(布局、动画、手势等),可打印出来当“手边手册”。
- [Xcode SwiftUI Preview 技巧](https://developer.apple.com/videos/play/wwdc2024/10165/) - 特点:教你用Preview快速调试UI、模拟不同设备/系统版本,提升开发效率。
### 3. 高级深入
- [The SwiftUI Lab](https://swiftui-lab.com/) - 特点:解析SwiftUI“黑盒”原理(如布局优先级、视图生命周期),解决复杂场景的“疑难杂症”。
## 六、开源实战应用(看源码学架构)
通过跑通真实项目,理解SwiftUI在实际开发中的“落地方式”。
### iOS 应用
- [MovieSwiftUI](https://github.com/Dimillian/MovieSwiftUI) - 技术栈:SwiftUI + Observation + Async/Await + TMDB API,学习点:网络请求封装、列表懒加载、复杂页面布局。
- [Expenso-iOS](https://github.com/sameersyd/Expenso-iOS) - 技术栈:SwiftUI + MVVM + SwiftData,学习点:本地数据持久化、图表展示、主题切换。
### macOS 应用
- [ControlRoom](https://github.com/twostraws/ControlRoom) - 技术栈:SwiftUI + Xcode Simulator API,学习点:跨应用交互、桌面端UI设计、工具类App开发。
## 七、深度文章推荐(聚焦高频问题)
### 1. 基础原理
- [SwiftUI 布局系统:从基础到进阶](https://kean.blog/post/swiftui-layout-system) - 看点:用“案例+图示”讲清`frame`、`padding`、`Spacer`的工作逻辑,避免布局“玄学问题”。
### 2. 状态管理
- [Observation框架 vs ObservableObject:该用哪个?](https://peterfriese.dev/posts/observation-framework-swiftui/) - 看点:对比新旧状态管理方案,明确不同场景下的选择标准(如小项目用`@Observable`,大项目用TCA)。
### 3. 性能优化
- [SwiftUI 性能优化:避开这10个坑](https://www.swiftbysundell.com/articles/swiftui-performance-tips/) - 看点:实操讲解“避免视图过度刷新”“优化列表加载”等关键技巧,附Xcode性能调试工具用法。
### 4. 跨平台适配
- [SwiftUI 跨平台开发:iOS与macOS的差异处理](https://swiftui-lab.com/macos-ios-differences/) - 看点:解决“同一套代码在不同平台的UI适配、功能兼容”问题(如macOS的菜单栏、iOS的导航栏)。
---
**学习建议**:先通过“官方教程+100天计划”打基础,再用“WWDC专题+深度文章”追新特性,最后靠“开源库+实战项目”练落地能力。SwiftUI更新快,记得定期关注苹果开发者官网的更新日志哦!