awesome-swiftui
🌮 Awesome resources, articles, libraries about SwiftUI
https://github.com/xiaomingx/awesome-swiftui
Last synced: 2 days ago
JSON representation
-
四、开源库精选(解决80%开发场景,附核心优势)
-
3. 图表与数据可视化
- SwiftUICharts - 核心优势:支持折线图、柱状图、饼图,自带无障碍适配(VoiceOver),API简洁,比苹果原生`Charts`更易定制样式。
- SwiftUICharts - 核心优势:支持折线图、柱状图、饼图,自带无障碍适配(VoiceOver),API简洁,比苹果原生`Charts`更易定制样式。
-
4. 动画与交互
- SwiftUI-Animations - 核心优势:包含100+实战动画案例(如渐入、缩放、路径动画),可直接复制代码到项目中修改。
- LottieSwiftUI - 核心优势:支持加载AE制作的复杂动画(如启动页动画、交互反馈),是App动效的“行业标配”。
-
1. 图片加载(最常用场景)
- Kingfisher - 核心优势:轻量、链式API易上手,支持缓存(内存+磁盘)、图片压缩、渐进式加载,适配SwiftUI的`AsyncImage`特性。
- SDWebImageSwiftUI - 核心优势:基于老牌`SDWebImage`,支持GIF动图、图片过渡动画,适合需要复杂图片处理(如圆角、模糊)的场景。
-
6. 加载与提示
- SkeletonUI - 核心优势:优雅的“骨架屏”实现,支持列表、卡片等多种布局,解决数据加载时的“空白等待”问题。
- AlertToast - 核心优势:仿苹果原生样式的提示框,支持成功/失败/加载等状态,可自定义图标和文字。
- SkeletonUI - 核心优势:优雅的“骨架屏”实现,支持列表、卡片等多种布局,解决数据加载时的“空白等待”问题。
- AlertToast - 核心优势:仿苹果原生样式的提示框,支持成功/失败/加载等状态,可自定义图标和文字。
-
5. 布局增强
- WaterfallGrid - 核心优势:SwiftUI原生不支持瀑布流,这个库可快速实现“小红书式”不等高网格布局。
-
2. 状态管理(SwiftUI核心难点)
- TCA (The Composable Architecture) - 核心优势:苹果推荐的“可组合架构”,解决复杂应用的状态共享、副作用管理问题,适合中大型项目。
-
-
六、开源实战应用(看源码学架构)
-
iOS 应用
- MovieSwiftUI - 技术栈:SwiftUI + Observation + Async/Await + TMDB API,学习点:网络请求封装、列表懒加载、复杂页面布局。
- Expenso-iOS - 技术栈:SwiftUI + MVVM + SwiftData,学习点:本地数据持久化、图表展示、主题切换。
- MovieSwiftUI - 技术栈:SwiftUI + Observation + Async/Await + TMDB API,学习点:网络请求封装、列表懒加载、复杂页面布局。
- Expenso-iOS - 技术栈:SwiftUI + MVVM + SwiftData,学习点:本地数据持久化、图表展示、主题切换。
-
macOS 应用
- ControlRoom - 技术栈:SwiftUI + Xcode Simulator API,学习点:跨应用交互、桌面端UI设计、工具类App开发。
-
-
实用书籍
- SwiftUI高级指南 - 深入探索SwiftUI框架,掌握UI元素和复杂界面的构建技巧。
- SwiftUI高级指南 - 深入探索SwiftUI框架,掌握UI元素和复杂界面的构建技巧。
-
开源库精选
-
动画
- SwiftUI-Animations - 丰富的动画案例。
-
日历
- SwiftUICalendar - 基于SwiftUI的简单日历组件。
- SwiftUICalendar - 基于SwiftUI的简单日历组件。
-
图表
-
加载动画
- ActivityIndicatorView - SwiftUI实现的加载动画组件。
- ActivityIndicatorView - SwiftUI实现的加载动画组件。
-
提示与消息
-
网格布局
- QGrid - 轻松实现网格视图。
- QGrid - 轻松实现网格视图。
- WaterfallGrid - SwiftUI的瀑布流布局。
-
图片加载
- SDWebImageSwiftUI - 基于SDWebImage的SwiftUI图片加载与动画框架。
- Kingfisher - 轻量级Swift图片下载与缓存库。
-
-
五、系统学习资源(按“学习路径”分类)
-
1. 零基础入门
- 100天SwiftUI学习计划(Hacking with Swift) - 特点:免费、项目驱动,每天1个小项目(如计算器、待办清单),从0到1掌握基础。
- 100天SwiftUI学习计划(Hacking with Swift) - 特点:免费、项目驱动,每天1个小项目(如计算器、待办清单),从0到1掌握基础。
-
2. 速查与工具
- SwiftUI Cheat Sheet - 特点:常用代码片段合集(布局、动画、手势等),可打印出来当“手边手册”。
-
3. 高级深入
- The SwiftUI Lab - 特点:解析SwiftUI“黑盒”原理(如布局优先级、视图生命周期),解决复杂场景的“疑难杂症”。
- The SwiftUI Lab - 特点:解析SwiftUI“黑盒”原理(如布局优先级、视图生命周期),解决复杂场景的“疑难杂症”。
-
-
开源应用
-
iOS应用
- SwiftUI-2048 - 用SwiftUI开发的经典2048游戏。
- SwiftUI-2048 - 用SwiftUI开发的经典2048游戏。
-
macOS应用
- RedditOS - 用SwiftUI编写的macOS版Reddit客户端。
- RedditOS - 用SwiftUI编写的macOS版Reddit客户端。
- ControlRoom - 控制Xcode模拟器的macOS工具。
-
-
学习资源
-
网格布局
- SwiftUI Cheat Sheet - 常用SwiftUI代码速查表。
-
-
文章推荐
-
构建与布局
- 避免庞大的SwiftUI视图 - 提升代码可维护性的方法。
- 在SwiftUI中异步加载图片 - 高效处理图片加载。
- SwiftUI布局系统 - 了解SwiftUI布局的原理。
- 避免庞大的SwiftUI视图 - 提升代码可维护性的方法。
- 在SwiftUI中异步加载图片 - 高效处理图片加载。
-
-
七、深度文章推荐(聚焦高频问题)
-
1. 基础原理
- SwiftUI 布局系统:从基础到进阶 - 看点:用“案例+图示”讲清`frame`、`padding`、`Spacer`的工作逻辑,避免布局“玄学问题”。
-
4. 跨平台适配
- SwiftUI 跨平台开发:iOS与macOS的差异处理 - 看点:解决“同一套代码在不同平台的UI适配、功能兼容”问题(如macOS的菜单栏、iOS的导航栏)。
-
-
一、官方教程(权威首选,适配最新版本)
- 跨平台开发:从iOS到macOS/watchOS - **平台拓展必备**:讲解SwiftUI的“一次编码、多端适配”特性,教你快速将iOS应用拓展到macOS、watchOS平台。
- SwiftUI 官方教程 - **入门级首选**:从基础视图(Text、Button)到交互逻辑,通过小案例快速上手,教你用SwiftUI搭建“优雅且动态”的UI。
-
WWDC精选
- SwiftUI中的数据流 (WWDC 2019) - 学习如何保持UI的可预测性和无错误性。
- SwiftUI中的数据流 (WWDC 2019) - 学习如何保持UI的可预测性和无错误性。
- SwiftUI基础 (WWDC 2019) - 深入了解SwiftUI视图及其工作原理。
- SwiftUI数据管理 (WWDC 2020) - 探索`@State`和`@Binding`等核心功能。
-
官方教程
- SwiftUI官方教程 - 快速上手SwiftUI,创建优雅动态的应用。
- macOS App开发 - 学习如何将SwiftUI应用拓展到macOS平台。
-
二、WWDC 近年核心专题(抓准技术迭代方向)
- SwiftUI 性能优化实战(WWDC 2023 | 10164) - **核心内容**:解决SwiftUI常见的“视图重复刷新”“布局卡顿”问题,实操讲解`LazyVStack`优化、动画性能调优。
- Observation框架深度解析(WWDC 2023 | 10149) - **核心内容**:替代旧的`ObservableObject`,教你用更轻量的`@Observable`管理数据,简化数据流逻辑。
- SwiftUI 新组件与交互增强(WWDC 2024 | 10037) - **核心内容**:上手iOS 18新增的`SegmentedPicker`、动态字体适配、手势交互增强等实用功能。
-
三、实用书籍(从入门到进阶,覆盖系统新特性)
- 《SwiftUI by Tutorials》(RayWenderlich | v5.0) - **特点**:“手把手教敲代码”模式,从基础布局到`SwiftData`数据持久化、跨平台适配,适配iOS 18/Swift 5.10,适合零基础到中级开发者。
- 《Advanced SwiftUI》(objc.io) - **特点**:进阶必备,讲解复杂交互(如自定义手势)、性能优化、架构设计(MVVM/MVI),适合有1年以上SwiftUI经验的开发者。
Programming Languages
Categories
Sub Categories
Keywords
swiftui
33
swift
31
ios
21
macos
14
xcode
8
tvos
6
watchos
6
swiftui-example
4
declarative-ui
4
swift-package-manager
4
toast
4
popup
4
swiftui-framework
4
swiftui-components
4
charts
4
cocoapods
4
chart
4
uikit
3
animation
3
simulator
2
simctl
2
hud
2
reddit
2
ui-design
2
combine
2
gradient
2
loading
2
loading-animation
2
loading-indicator
2
loading-spinner
2
placeholder
2
placeholder-animation
2
skeleton
2
skeleton-animation
2
skeletonization
2
iosdev
2
open-source
2
cache
2
filters
2
image
2
image-processor
2
kingfisher
2
animated-webp
2
apng
2
gif
2
sdwebimage
2
swift-ui
2
swiftpm
2
webp
2
calendar
2