From this point onward, we'll dive into the SwiftUI Part 1 of our Roadmap., and we'll come back to Swift later when we talk about Concurrency
- Understanding Xcode
- Creating and Manipulating Views
- State Management in SwiftUI
- Sharing View States
- Simpler way of sharing State between Parent and Child through Binding
- Extracting Functions, Views, Subviews
- Gestures and Animations; Transition
- Swift Sheets
- ActionSheet and Alerts
- ContextMenu
- NavigationStack
- Lists
- TabView and Badges
- User Inputs - Text Inputs, Toggles, and TextSelection
- Swift FocusState
- Pickers - ColorPickers, DatePicker, default Picker and Menus
- Other User Inputs - Steppers and Sliders
- Complex view methods - onAppear, onDisappear functions and usages
- Custom Models
- AppStorage in Swift
- Transitioning slowly to Concurrency - AsyncImage
- Toolbar in Swift
- Adapting your code to Dark Mode
- Documenting your Swift Code
Alright, now we've finished Part 1 of SwiftUI. For now, let's learn about writing asynchronous code using Swift Concurrency
- What is Concurrency?
- Error Handling
- Async and Await functions
- Task
- Actors
- Global Actors
- The Sendable Protocol
- MVVM Design Pattern
- Search Features
- PhotosPicker
Great! As you can see, Swift with its built-in support for writing asynchronous code makes it SO MUCH EASIER to learn, and it can also be pretty fun! For Part 2 of SwiftUI, we will dive deeper into a lot of complex usages of UI Elements, creating your own custom ones, deploying your app using a database and going over some Accessibility features
- Using Timer and .onReceive
- Using FileManager in Swift
- Haptics and Sound Effects
- Push Notifications
- Usng and Manipulating Core Data - CRUD Operations
- Multi-threading made simple in Swift
- Closures
- Codable type alias, Encodable and Decodable protocols
- Downloading data from the API in Swift
- NSCache in Swift
- Customizing features in SwiftUI
- Creating custom Protocols in Swift
- Testing - Unit Testing and UI Testing
- Advanced Combine, Futures and Promises
- CloudKit
- Recap - Swiftful Thinking mini-project app
- TimelineView - creating custom, complex, multi-step animations
- Using KeyPaths in Swift
- Accessibility in Swift - VoiceOver
- Configuring Firebase to deploy your own app, and other developer features
- The End