A list of articles, tutorials, guides and videos about SwiftUI and Combine. Feel free to contribute!
Content
📝 Articles
SwiftUI Cheat Sheet
Tutorials
- SwiftUI Tutorials by Apple
- Making real-world app with SwiftUI by Majid
- Intro to SwiftUI — Part 1 by Suyash Srijan
- Intro to SwiftUI — Part 2 by Suyash Srijan
- MessageUI, SwiftUI and UIKit integration by Florent Morin
- Managing Data Flow in SwiftUI by Majid
- Beginner SwiftUI Tutorials by SwiftUI Hub
- Making a Real World Application With SwiftUI by Thomas Ricouard
- Building BarChart with Shape API in SwiftUI by Majid
How to
- How to build an onboarding screen by blckbirds
- How to build a Chat App or Messenger by Nick Halavins
- How to build a Form UI by Simon Ng
- How to build a Weather App by Benjamin Pisano
- How to build a Slide out Menu by Darren
- How to build a TicTacToe game by Costantino Pistagna
- How to build a Simple Countdown Timer by Antoine Barrault
- How to build a Slide out Menu by Darren
- How to create a side(hamburger) menu by blckbirds
View and Navigation
- Dynamic List & Identifiable by Martin Lasek
- Create a Detail View by Martin Lasek
- SwiftUI tips and tricks by Paul Hudson
- How to use SwiftUI to Speed Up your View Coding by Leonardo Souza
- The Simple Life(cycle) of a SwiftUI View by Danny Bolella
- Alignment Guides in SwiftUI by javier
- Custom navigation view for your applications by Dragos Ioneanu
- Reusable Components/Higher-Order-Components by Andrei Villasana
- How to Programmatically Push and Pop Views in SwiftUI with NavigationDestinationLink by ryanashcraft
- Programmatic navigation in SwiftUI project by Alexey Naumov
State and Binding
- Understanding State by Martin Lasek
- Understanding Binding by Martin Lasek
- Understanding Property Wrappers in SwiftUI by Majid
- Redux-like state container in SwiftUI. Basics. by Majid
- Swift Property Wrappers by Mattt
Architecture
- Will Combine kill RxSwift? by MortyMerr
- MVVM in SwiftUI by Mohammad Azam
- Clean Architecture for SwiftUI by Alexey Naumov
Animations
- Animations in SwiftUI by Majid
- Gestures in SwiftUI by Majid
- UI Animations With Swift by Xiomara Figueroa
- Advanced SwiftUI Animations – Part 1: Paths by javier
- Advanced SwiftUI Animations – Part 2: GeometryEffect by javier
Inside
- Inside SwiftUI's Declarative Syntax's Compiler Magic by Bruno Rocha
- What’s this “some” in SwiftUI? by Mischa Hildebrand
- Swift Opaque Result Types by Baking Swift
- Inside SwiftUI (About @State) by kateinoigakukun
Unit Testing
- ViewInspector by Alexey Naumov
- Unit testing SwiftUI views by Alexey Naumov
Debug
Other
- Curated list of questions and answers about SwiftUI by Gosh Darn SwiftUI
- Answers to the most common questions about SwiftUI by John Sundell
- A first look at SwiftUI: Apple’s declarative new UI framework by John Sundell
- Shifting paradigms in Swift by John Sundell
- Understanding Declarative Programming by Michael Long
- Rendering SwiftUI views to HTML by Zhuowei Zhang]
- SwiftUI: Handling optionals by Erica Sadun
- Improving SwiftUI modal presentation API by Alejandro Martinez
- Mixing SwiftUI, Combine, OLX by Aleksander Lorenc
- The missing :SwiftWebUI by alwaysrightinstitute
- Rasterizing SwiftUI views from the Command-Line by Eneko Alonso
- A Brief Tour of Swift UI by Amit Bijlani
- Why You Should Consider SwiftUI for Your Next Project by Thomas Ricouard
Combine
- Problem Solving with Combine Swift by Arlind Aliu
- SwiftUI & Combine: Better Together by Peter Friese
- Swift Combine Framework Tutorial: Getting Started by vadimbulavin
- Variadic DisposeBag for Combine subscriptions Alexey Naumov
📺 Videos
Apple WWDC 2019
- Introducing SwiftUI: Building Your First App - Start here for a quick overview and demo
- SwiftUI Essentials - Deeper dive into how it works and the key concepts
- Data Flow Through SwiftUI - How to use data in SwiftUI. A single source of truth. Explains the difference between a simple property, BindableObject, @Environment, @Binding and @State
- Building Custom Views with SwiftUI - Dave Abrahams, with a brief appearance from Crusty, digs deeper into how the layout process works. Second part is an impressive demo of how to use graphics to draw custom controls
- Integrating SwiftUI - Use a hosting controller to wrap SwiftUI for use in your existing App. Use the Representable protocol to wrap existing UIKit/AppKit/WatchKit views to use in SwiftUI. Use the BindableObject protocol to integrate external data
- Mastering Xcode Previews - Great demos on how Xcode previews makes working with SwiftUI so easy
- Accessibility in SwiftUI - You get a lot for free in SwiftUI but you’ll likely need to tweak some things (as with UIKit). API for setting labels, traits, actions, etc.
- SwiftUI on watchOS - Of course you can now build watchOS Apps with SwiftUI.
- Mastering Xcode Previews - Learn how previews work, how to optimize the structure of your SwiftUI app for previews, and how to add preview support to your existing views and view controllers
Tutorials
- Your First iOS and SwiftUI App by raywenderlich
- Swift UI: Working With UIKit by raywenderlich
- Facebook Complex Layouts - Horizontal Scroll View by Lets Build That App
- Dynamic Lists, HStack VStack, Images with Circle Clipped Stroke Overlays by Lets Build That App
- Fetching JSON and Image Data with BindableObject by Lets Build That App
- Reactive Intro: State Management and Bindings by Lets Build That App
- Simple SwiftUI Application by Brian Advent
- Understanding State by Martin Lasek
- SwiftUI Complete Apps by Paul Hudson
- Collection View 2019 - Scrolling List in Swift UI by maxcodes
- State Management Using View Models in SwiftUI by azamsharp
- Programmatically Navigation to Destination View in SwiftUI by azamsharp
- Integrating Core Data with SwiftUI by azamsharp
- Understanding ObservableObject in SwiftUI by azamsharp
- Building Relative Layouts Using GeometryReader in SwiftUI by azamsharp
- TabView in SwiftUI by azamsharp
- Integrating Camera with SwiftUI by azamsharp
- SwiftUI and Core Data - Build a To-Do List App by Brian Advent
🛠 Examples
Helpers
- SwiftUI by Example by Paul Hudson
- Learning and Usage Guide by Jinxiansen
- SwiftUI Cheat Sheet by SimpleBoilerplates
- SwiftUI Image view that displays an image downloaded from provided URL by Dmytro Anokhin
- A SwiftUI view that manages a UIViewController that responds to keyboard events with modified additionalSafeAreaInsets by a2
- Re-implementation of @binding and @State by AliSoftware
- SwiftUI Framework Learning and Usage Guide by Jinxiansen
- FlowStack is a grid layout component by johnsusek
- Flux pattern for SwiftUI by johnsusek
- A flexible grid layout view for SwiftUI by pietropizzi
- Declarative HTTP networking, designed for SwiftUI by carson-katri
- SwiftUI support for drag and drop on iOS by brunogb
Libraries
- Async image loading by Callum Trounce
- QGrid: The missing SwiftUI collection view by Q-Mobile
- ASCollectionView: A SwiftUI collection view by Apptek Studios
- Walkthrough or onboarding flow with tap actions by Exyte
Combine
- Hover an async combine supported network library by Onur H. Cantay
Apps
- Examples projects using SwiftUI released by WWDC2019. Include Layout, UI, Animations, Gestures, Draw and Data. by ivanvorobei
- SwiftUI & Combine app using MovieDB API by Dimillian
- SwiftUI MovieDB prototype app by alfianlosari
- SwiftUI and Combine based GitHubSearch example by marty-suzuki
- This is an example project of SwiftUI and Combine using GitHub API by ra1028
- An app that composes text over an image in SwiftUI by dempseyatgithub
- A 2048 game writing with SwiftUI by unixzii
- Sample iOS project built by SwiftUI + MVVM and Combine framework using GitHub API by kitasuke
- Sample iOS project built by SwiftUI + Flux and Combine framework using GitHub API by kitasuke
- ChartView made in SwiftUI by AppPear
- Swift UI Demo for an instagram copy by leavenstee
- A to-do list app using SwiftUI and combine with restful api by jamfly
- Anime schedule, korean subtitle for iOS with SwiftUI + Combine and MVVM architecture by PangMo5
- A notes app written in >100 lines of swift using SwiftUI by jnewc
- A weather forecast app using the OpenWeather API, MapKit, and SwiftUI! by jhatin94
- Hacker News reader built with SwiftUI and Combine by nathfreder
- Currency Converter App by alexliubj
- A basic SwiftUI chat app that leverages the new URLSessionWebSocketTask by niazoff
- A simple SwiftUI weather app using MVVM by niazoff
- Koober a ride-hailing app from Advanced iOS App Architecture book by raywenderlich
- SwiftUI library to easily render diagrams given a tree of objects. Similar to ring chart, sunburst chart, multilevel pie chart. by lludo
- Design+Code app that shows how you can use SwiftUI to create beautiful UI by mythxn
- Shopping List app showing how to use SwiftUI with Core Data by ericlewis
- Carbode Barcode QRCode scanner by heart
- Clean Architecture for SwiftUI demo app by Alexey Naumov
💻 Courses
- SwiftUI Quick Start Guide with iOS 13 and Xcode 11 by DevTechie Interactive
- SwiftUI - Declarative Interfaces for any Apple Device by Mohammad Azam
- Learn SwiftUI by Meng To
- Build an app with SwiftUI by Meng To
📖 Books
SwiftUI
- SwiftUI by Tutorials by raywenderlich.com
- SwiftUI Views by Mark Moeykens (Big Mountain Studio)
- SwiftUI - Declarative Interfaces for any Apple Device by Mohammad Azam
Combine
- Combine: Asynchronous Programming with Swift by raywenderlich.com
- Using Combine by Joseph Heck