awesome-swiftui
  
  
    🌮 Awesome resources, articles, libraries about SwiftUI 
    https://github.com/xiaomingx/awesome-swiftui
  
        Last synced: 3 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