Tutorial for 360iDev 2021 Conference :-)
video from last year! [On YouTube] (https://www.youtube.com/watch?v=2eezk9u2lcE&list=PLnD_TKDSaFyXBC1yqsWCdBMmV4Gq99u7u&index=3)
Requirements Mac OS 10.15.6 or newer because we are using XCode 13 Beta 5.
If you do not have these you can still follow along ... We will work in pure SwiftUI (No UIKit)
Talks covering both Android and iOS (given @ GDG SF / Berkley) https://docs.google.com/presentation/d/1nVVyWUnnenSJa-vyr_B0sfYr9uPhFFzJyUdKu3NmwrU/edit?ts=60f89549#slide=id.p
We start with a presentation covering Why SwiftUI? / Combine Framework. Slides
Part 1 Slides 1 - 22 [Swift 5 Lang Playgrounds]
- Basic language constructs
- Methods, Functions, Closures (escaping)
- Property Wrappers
- Swift Package Manager -- https://github.com/onevcat/Kingfisher - example
- MVVM Architecture explained
Part 2 Slides 23 - 51 [SwiftUI Playground Tutorials]
- XCode Design Tools / Preview
- Layouts Views
- Modifiers
- V/H/Z Stacks
- List, Forms and Containers
- Animations
- UserInput (Tap Gesture & Sliders / Toggle / Picker / Stepper)
- Alerts / Action Sheets
- Navigation
- Data Flow with Combine Framework
Part 3 Slides 51 - 61 [SwiftUI State Managment Playground Tutorials] Cold vs Hot Stream
- @State
- @Binding
- @StateObject
- @ObservedObject
- @AppStorage
- @SceneStorage
- @EnvironmentObject
Part 4 Slides 61 - end [Combine Playground Tutorials]
- Publisher
- Subject
- Operators
- Subscriber
- SwiftUI Property Wrappers
- Codable / JSON
Orig Credit for Combine Playgrounds
UI Bike Sharing Project
Data Bike Sharing Project
- testing
- Questions
- Review the day.
--
API generator https://app.quicktype.io
--
- https://github.com/vlondon/awesome-swiftui
- https://github.com/WillieWangWei/SwiftUI-Tutorials
- https://github.com/peterfriese/SwiftUI-Combine
- https://github.com/AvdLee/CombineSwiftPlayground
- https://github.com/sergdort/CombineFeedback
- https://github.com/AlexeyVoronov96/NewsApp-With-SwiftUI-And-Combine
- https://github.com/heckj/swiftui-notes
- https://github.com/kevinjohnason/combine-magic-swiftui - Combine magic
- https://github.com/attoPascal/SwiftUI-Tutorial-Playground
- https://github.com/CypherPoet/book--swiftui-by-tutorials
Combine Tutorial
- (Apple)[https://developer.apple.com/documentation/combine]
* https://www.donnywals.com/an-introduction-to-combine/ - done
* https://www.raywenderlich.com/7864801-combine-getting-started
* https://theswiftdev.com/the-ultimate-combine-framework-tutorial-in-swift/
* https://www.swiftbysundell.com/basics/combine/
* https://www.avanderlee.com/swift/combine/
* https://www.vadimbulavin.com/swift-combine-framework-tutorial-getting-started/
SwiftUI
* https://swiftuihub.com/swiftui-tutorials/combine/
* https://www.andrewcbancroft.com/blog/ios-development/ui-work/swiftui-essentials-playgrounds/
Whats new in Swfit 3.0
enable pull to refresh
add a search bar to filter your data
add custom swipe action buttons to a List row
load a remote image from a URL
add visual effect blurs
add a toolbar to the keyboard
run an asynchronous task when a view is shown
MVVM Arch
* https://github.com/kitasuke/SwiftUI-MVVM
https://quickbirdstudios.com/blog/swiftui-architecture-redux-mvvm/
https://github.com/quickbirdstudios/SwiftUI-Architectures/blob/master/README/MVVM.jpeg