├── README.md └── main.swift /README.md: -------------------------------------------------------------------------------- 1 | # SwiftUI Everything 2 | (Almost) everything on the internet about Swift UI. No need to Google around anymore! 3 | 4 | ## Session Videos 5 | * **[Introducing SwiftUI: Building Your First App](https://developer.apple.com/videos/play/wwdc2019/204/)** 6 | * **[SwiftUI Essentials](https://developer.apple.com/videos/play/wwdc2019/216)** 7 | * **[Data Flow Through SwiftUI](https://developer.apple.com/videos/play/wwdc2019/226)** 8 | * **[Building Custom Views with SwiftUI](https://developer.apple.com/videos/play/wwdc2019/237)** 9 | * **[Integrating SwiftUI](https://developer.apple.com/videos/play/wwdc2019/231)** 10 | * **[Accessibility in SwiftUI](https://developer.apple.com/videos/play/wwdc2019/238)** 11 | * **[SwiftUI On All Devices](https://developer.apple.com/videos/play/wwdc2019/240)** 12 | * **[SwiftUI on watchOS](https://developer.apple.com/videos/play/wwdc2019/219)** 13 | * **[Mastering Xcode Previews](https://developer.apple.com/videos/play/wwdc2019/233)** 14 | 15 | ## Tutorials 16 | * **[Creating and Combining Views](https://developer.apple.com/tutorials/swiftui/creating-and-combining-views)** 17 | * **[Working with UI Controls](https://developer.apple.com/tutorials/swiftui/working-with-ui-controls)** 18 | * **[Handling User Input](https://developer.apple.com/tutorials/swiftui/handling-user-input)** 19 | * **[Building Lists and Navigation](https://developer.apple.com/tutorials/swiftui/building-lists-and-navigation)** 20 | * **[Drawing Paths and Shapes](https://developer.apple.com/tutorials/swiftui/drawing-paths-and-shapes)** 21 | * **[Animating Views and Transitions](https://developer.apple.com/tutorials/swiftui/animating-views-and-transitions)** 22 | * **[Composing Complex Interfaces](https://developer.apple.com/tutorials/swiftui/composing-complex-interfaces)** 23 | * **[Interfacing with UIKit](https://developer.apple.com/tutorials/swiftui/interfacing-with-uikit)** 24 | 25 | ## Books 26 | * **[Swift UI by Tutorials](https://store.raywenderlich.com/products/advanced-ios-summer-bundle-2019)** _(Preorder)_ by [Ray wenderlich](https://www.raywenderlich.com/) 27 | * **[Combine: Asynchronous Programming with Swift](https://store.raywenderlich.com/products/advanced-ios-summer-bundle-2019)** _(Preorder)_ by [Ray wenderlich](https://www.raywenderlich.com/) 28 | * **[Catalyst by Tutorials](https://store.raywenderlich.com/products/advanced-ios-summer-bundle-2019)** _(Preorder)_ by [Ray wenderlich](https://www.raywenderlich.com/) 29 | * **[Mastering SwiftUI](https://www.appcoda.com/swiftui/)** by [Simon Ng](https://www.appcoda.com/) 30 | 31 | ## Courses 32 | * **[Learn SwiftUI](https://learn.designcode.io/swiftui)**. by [Meng To](https://twitter.com/mengto) 33 | * **[SwiftUI Quick Start Guide with iOS 13 and Xcode 11](https://www.udemy.com/swiftui-quick-start-guide-with-ios-13-and-xcode-11/?couponCode=JUANGITHUB)** . by [DevTechie Interactive](https://www.udemy.com/user/anoop-tomar/) 34 | 35 | ## Articles 36 | * **[SwiftUI by Example](https://www.hackingwithswift.com/quick-start/swiftui)** by [Hacking with Swift](https://twitter.com/twostraws) 37 | * **[Get started with SwiftUI](https://www.hackingwithswift.com/articles/194/get-started-with-swiftui)** by [Hacking with Swift](https://twitter.com/twostraws) 38 | * **[SwiftUI’s relationship to UIKit and AppKit](https://wwdcbysundell.com/2019/swiftui-relationship-to-uikit-appkit/)** by [@SwiftBySundell](https://twitter.com/swiftbysundell) 39 | * **[Answers to the most common questions about SwiftUI](https://wwdcbysundell.com/2019/swiftui-common-questions/)** by [@SwiftBySundell](https://twitter.com/swiftbysundell) 40 | * **[A first look at SwiftUI: Apple’s declarative new UI framework](https://wwdcbysundell.com/2019/swiftui-first-look/)** by [@SwiftBySundell](https://twitter.com/swiftbysundell) 41 | * **[Inside SwiftUI's Declarative Syntax's Compiler Magic](https://swiftrocks.com/inside-swiftui-compiler-magic.html)** by [Bruno Rocha](https://twitter.com/rockthebruno) 42 | * **[Making real-world app with SwiftUI](https://mecid.github.io/2019/06/05/swiftui-making-real-world-app/)** by [Majid Jabrayilov](https://twitter.com/mecid) 43 | * **[SwiftUI Are we saying goodbye to IB(UIStoryboard)?](https://medium.com/@themedo8000/swiftui-are-we-saying-goodbye-to-ib-718035e83b07)** by [Mohammad Sawalha](https://medium.com/@themedo8000) 44 | * **[How To Make a Simple Countdown Timer with SwiftUI](https://medium.com/better-programming/make-a-simple-countdown-with-timer-and-swiftui-3ce355b54986)** by [Antoine Barrault](https://twitter.com/_ant_one) 45 | * **[Tutorial: How to setup a SwiftUI project](https://medium.com/@martinlasek/swiftui-getting-started-372389fff423)** by [Martin Lasek](https://twitter.com/MartinLasek) 46 | * **[What SwiftUI Means for Flutter](https://medium.com/flutter-nyc/what-swiftui-means-for-flutter-6d5898f7adf7)** by [Martin Rybak](https://twitter.com/martin_rybak) 47 | * **[Intro to SwiftUI](https://medium.com/@santoshbotre01/intro-to-swiftui-b285808842d5)** by [Santosh Botre](https://medium.com/@santoshbotre01) 48 | * **[SF Symbols in iOS 13](https://medium.com/@craiggrummitt/sf-symbols-in-ios-13-55e5febf6db6)** by [craiggrummitt](https://twitter.com/craiggrummitt) 49 | * **[Understanding SwiftUI in depth](https://medium.com/techtron/understanding-swiftui-in-depth-58d42614619e)** by [Balraj Singh](https://medium.com/@erbalrajs) 50 | * **[A Skeptics view on SwiftUI](https://medium.com/@JillevdWeerd/a-skeptics-view-on-swiftui-cc6636b6fd3b)** by [Jille van der Weerd](https://medium.com/@JillevdWeerd) 51 | * **[Optionals in SwiftUI](https://medium.com/q42-engineering/swiftui-optionals-ead04edd439f)** by [Jasper Haggenburg](https://twitter.com/Jpunt) 52 | * **[Presenting UIViewControllers in SwiftUI](https://medium.com/@Johannes_Nevels/presenting-uiviewcontrollers-in-swiftui-22388616a24c)** by [Johannes Nevels](https://medium.com/@Johannes_Nevels) 53 | * **[SwiftUI for React Native Developers](https://medium.com/@rorogadget/swiftui-for-react-native-developers-2072a21c22fb)** by [Rohan Panchal](https://twitter.com/rorogadget) 54 | * **[SwiftUI First Look: Building a Simple Table View App](https://www.appcoda.com/swiftui-first-look/?utm_campaign=AppCoda%20Weekly&utm_medium=email&utm_source=Revue%20newsletter)** by [AppCoda](https://twitter.com/appcodamobile) 55 | * **[Will Storyboards still be alive?](https://medium.com/flawless-app-stories/storyboard-or-no-storyboard-d3ce6eda91eb)** by [Nabil Kazi](https://twitter.com/nQaze) 56 | * **[RxSwift to Apple’s Combine “Cheat Sheet”](https://medium.com/gett-engineering/rxswift-to-apples-combine-cheat-sheet-e9ce32b14c5b)** by [Shai Mishali](https://twitter.com/freak4pc) 57 | * **[First impressions of SwiftUI](https://www.cocoawithlove.com/blog/swiftui.html)** by [Matt Gallagher](https://twitter.com/cocoawithlove) 58 | * **[Playing with SwiftUI Buttons](https://alejandromp.com/blog/2019/06/09/playing-with-swiftui-buttons/)** by [Alejandro Martinez](https://twitter.com/alexito4) 59 | * **[Jun 9 The Swift 5.1 features that power SwiftUI’s API](https://www.swiftbysundell.com/posts/the-swift-51-features-that-power-swiftuis-api)** by [@SwiftBySundell](https://twitter.com/swiftbysundell) 60 | * **[Everything you need to know about SwiftUI to get started](https://www.blckbirds.com/post/everything-you-need-to-know-about-swiftui)** by [BLCKBRIDS](https://www.blckbirds.com) 61 | * **[Intro to SwiftUI — Part 1](https://medium.com/@suyash.srijan/intro-to-swiftui-part-1-47361a3ffb2e)** by [Suyash Srijan](https://twitter.com/suyashsrijan) 62 | * **[How to build a Chat App or Messenger in SwiftUI for iOS Swift](https://medium.com/@halavins/how-to-build-a-chat-app-or-messenger-in-swiftui-for-ios-swift-b46dbe5cc0ab)** by [Nick Halavins](https://twitter.com/AntiLand_com) 63 | * **[SwiftUI: Getting Started](https://www.raywenderlich.com/3715234-swiftui-getting-started)** by [Ray wenderlich](https://www.raywenderlich.com/) 64 | * **[SwiftUI meets Kotlin Multiplatform!](https://johnoreilly.dev/2019/06/08/swiftui-meetings-kotlin-multiplatform.html)** by [johnoreilly.dev](https://www.twitter.com/joreilly) 65 | * **[Understanding the SwiftUI Sample](https://ruiper.es/2019/06/09/understanding-the-swiftui-sample/)** by [Rui Peres](https://twitter.com/peres) 66 | * **[Understanding the SwiftUI Sample](https://ruiper.es/2019/06/09/understanding-the-swiftui-sample/)** by [Rui Peres](https://twitter.com/peres) 67 | * **[SwiftUI Will Change More Than How We Code](https://www.prolificinteractive.com/2019/06/07/swiftui-will-change-more-than-how-we-code/)** by [Harlan Kellaway](https://github.com/hkellaway) for [Prolific Interactive](https://twitter.com/weareprolific) 68 | * **[What’s this “some” in SwiftUI?](https://medium.com/@PhiJay/whats-this-some-in-swiftui-34e2c126d4c4)** by [Mischa Hildebrand](https://twitter.com/DerHildebrand) 69 | * **[SwiftUI vs Interface Builder and storyboards](https://www.hackingwithswift.com/quick-start/swiftui/swiftui-vs-interface-builder-and-storyboards)** by [Hacking with Swift](https://twitter.com/twostraws) 70 | * **[SwiftUI Basics: List Fetching](https://medium.com/@matschmidy/swiftui-basics-list-fetching-9b03fb145d85?postPublishedType=initial)** by [Mat Schmid](https://twitter.com/devschmidy) 71 | * **[SwiftUI, personal thoughts and Model-View-Presenter](https://www.dcordero.me/posts/swiftui_personal_thoughts_and_mvp.html)** by [David Cordero](https://www.dcordero.me) 72 | 73 | 74 | ## Repositories 75 | * **[SwiftSunburstDiagram](https://github.com/lludo/SwiftSunburstDiagram)** A library written with SwiftUI to easily render sunburst diagrams given a tree of objects. 76 | * **[SwiftUI](https://github.com/Jinxiansen/SwiftUI)**. `SwiftUI` Framework Learning and Usage Guide. 77 | * **[SwiftUITodo](https://github.com/devxoul/SwiftUITodo)**. An example to-do list app using SwiftUI which is introduced in WWDC19. 78 | * **[KeyboardAvoiding](https://github.com/a2/KeyboardAvoiding)**. A SwiftUI view that manages a UIViewController that responds to keyboard events with modified additionalSafeAreaInsets. 79 | * **[DispatchStore](https://github.com/alexdrone/DispatchStore)**. Swift package that implements an operation based, multi-store à-la Flux for SwiftUI. 80 | * **[GitHubSearchWithSwiftUI](https://github.com/marty-suzuki/GitHubSearchWithSwiftUI)**. SwiftUI based GitHubSearch example. 81 | * **[SwiftUI-MovieDB](https://github.com/alfianlosari/SwiftUI-MovieDB)**. SwiftUI MovieDB prototype app built with Xcode 11 Beta & macOS 10.15 Catalina. 82 | * **[WWDCPlayer](https://github.com/YOONMS/WWDCPlayer)**. 🤖 WWDC19 player using SwiftUI. 83 | * **[MyDogs](https://github.com/valvoline/MyDogs)**. A simple SwiftUI example for testing Lists, BindableObject, State management and Network. 84 | * **[MovieSwiftUI](https://github.com/Dimillian/MovieSwiftUI)**. SwiftUI & Combine app using MovieDB API. 85 | * **[SwiftUI-Combine](https://github.com/ra1028/SwiftUI-Combine)**. This is an example project of SwiftUI and Combine using GitHub API. 86 | * **[SwiftUITimeTravel](https://github.com/timdonnelly/SwiftUITimeTravel)**. An experimental time traveling state store for SwiftUI. 87 | * **[SwiftUI_Jike](https://github.com/miliPolo/SwiftUI_Jike)**. SwiftUI imitation app interface (Build Jike App with SwiftUI). 88 | * **[2048](https://github.com/unixzii/SwiftUI-2048)**. A 2048 game writing with SwiftUI. 89 | * **[SwiftUI-Landmarks](https://github.com/alexpaul/SwiftUI-Landmarks)**. Introducing SwiftUI. A declarative way to create User Interfaces with Swift. 90 | * **[SwiftUI-Flux](https://github.com/ra1028/SwiftUI-Flux)**. This is a tiny experimental application using SwiftUI with Flux architecture. 91 | * **[SwiftUI-by-Examples](https://github.com/artemnovichkov/SwiftUI-by-Examples)**. Examples of new SwiftUI framework. 92 | * **[SwiftUICalculator](https://github.com/hotchner/SwiftUICalculator)**. A calculator app using SwiftUI which is introduced in WWDC19. 93 | * **[InstaFake-Swift-UI](https://github.com/leavenstee/InstaFake-Swift-UI)**. Swift UI Demo for an instagram copy. 94 | * **[SwiftUITheme](https://github.com/bellots/SwiftUITheme)**. A first idea to style SwiftUI Views. 95 | * **[Lists_-_Navigation_SwiftUI](https://github.com/swifterH/Lists_-_Navigation_SwiftUI)**. Exploration of Apple Developer's SwiftUI tutorial, detailing how to build lists and enable navigation between views with #SwiftUI. 96 | * **[injectable](https://github.com/vincent-pradeilles/injectable)**. A micro framework that leverages Swift Property Wrapper to implement the Service Locator pattern. 97 | * **[NetworkImage.swift](https://gist.github.com/ivanbruel/b2838f62cb281bd974ec9c9c121c6cbe)**. Basic NetworkImage support for SwiftUI via Kingfisher 98 | * **[SwiftUI-Combine-todo-example](https://github.com/jamfly/SwiftUI-Combine-todo-example)**. A to-do list app using SwiftUI and combine with restful api. 99 | * **[Bindings.swift](https://gist.github.com/AliSoftware/ecb5dfeaa7884fc0ce96178dfdd326f8)**. Re-implementation of @binding and @State (from SwiftUI) myself to better understand it. 100 | * **[Contacts.swift](https://gist.github.com/jackhl/632935a2e90e3796e38c2143d5dadc96)** 101 | * **[CombineUnsplash](https://github.com/vinhnx/CombineUnsplash)**. Exploring SwiftUI + Combine + Result by using Unsplash API, with detailed code explaination. 102 | * **[RemoteImage.swift](https://gist.github.com/alexito4/59436b9ab0489b00fb137a8382f38ea5)**. Rough sketch of SwiftUI RemoteImage using AlamofireImage. 103 | * **[CombineFeedback](https://github.com/sergdort/CombineFeedback)**. Unidirectional reactive architecture using new Apple Combine framework. 104 | * **[Harvest](https://github.com/inamiy/Harvest)**. 🌾 Harvest: Apple's Combine.framework + State Machine, inspired by Redux and Elm. 105 | * **[Redux HandlingUserInput](https://github.com/AlexeyDemedetskiy/HandlingUserInput)**. HandlingUserInput tutorial showcasing redux style of state and change management. 106 | * **[SwiftUI-Cheat-Sheet](https://github.com/SimpleBoilerplates/SwiftUI-Cheat-Sheet)**. SwiftUI Cheat Sheet. 107 | * **[swiftui_shadow_and_border.swift](https://gist.github.com/fitomad/b093e008f98c03e87b9c4ba7627798ff)**. Testing SwiftUI. Adding shadow and corner radius to a View. Strange behavior depending on View background color. 108 | * **[SwiftUI-MVVM](https://github.com/kitasuke/SwiftUI-MVVM)**. Sample iOS project built by SwiftUI + MVVM and Combine framework using GitHub API. 109 | * **[SwiftUI-Circular.swift](https://gist.github.com/Thomvis/8a78d49a662f708311e0440f1f43a204)**. Rough attempt at creating a container view that lays out its children in a circle. 110 | * **[NotesApp.swift](https://gist.github.com/jnewc/35692b2a5985c3c99e847ec56098a451)**. A notes app written in >100 lines of swift using SwiftUI. 111 | * **[UnsplashSwiftUI](https://github.com/kaunamohammed/UnsplashSwiftUI)**. `UnsplashSwiftUI` A simple app powered by SwiftUI and Unsplash 112 | * **[AniTime](https://github.com/PangMo5/AniTime)**. Anime schedule, korean subtitle for iOS with SwiftUI + Combine and MVVM architecture 113 | * **[Fluxus](https://github.com/johnsusek/fluxus)**. True one-way data flow for SwiftUI, inspired by Vuex. 114 | * **[ChartView in SwiftUI](https://github.com/AppPear/ChartView)**. Easy to use animated Chartview supporting `Bar and Piecharts` 115 | 116 | ## Videos 117 | * **[SwiftUI Sneak Preview Demo Project](https://www.youtube.com/watch?v=q421Ll4qOvc)** 118 | * **[How to Run SwiftUI on Mojave with Playgrounds and Sample Code](https://www.youtube.com/watch?v=VSvz62fGyYM)** 119 | * **[SwiftUI Basics: Dynamic Lists, HStack VStack, Images with Circle Clipped Stroke Overlays](https://www.youtube.com/watch?v=bz6GTYaIQXU)** 120 | * **[SwiftUI: Facebook Complex Layouts - Horizontal Scroll View](https://www.youtube.com/watch?v=7QgPpvqTfeo)** 121 | * **[SwiftUI Basics Tutorial](https://www.youtube.com/watch?v=IIDiqgdn2yo)** 122 | * **[SwiftUI App Tutorial - Lists, Navigation and JSON Data](https://www.youtube.com/watch?v=wbFuAs_UNYg)** 123 | * **[SwiftUI Presenting Data In A Scroll View & List](https://www.youtube.com/watch?v=wjqDQ3X5Vos)** 124 | * **[Intro To SwiftUI: Simple State Management](https://www.youtube.com/watch?v=AWPiup9fE2c)** 125 | * **[Before You Learn SwiftUI, You Need To Hear This...](https://www.youtube.com/watch?v=H9XyZ_F1tPI)** 126 | * **[SwiftUI = Mind-blow - WWDC iOS developer reaction](https://www.youtube.com/watch?v=fbuOxKqC5wQ)** 127 | * **[SwiftUI - DON'T LEARN IT (JUST YET)](https://www.youtube.com/watch?v=AKHsFNtANes)** 128 | * **[SwiftUI Beginner Tutorial On iOS 13 by Devslopes](https://www.youtube.com/watch?v=wwDAvq9MZlQ)** 129 | * **[Simple SwiftUI App by Brian Advent](https://www.youtube.com/watch?v=Pfw7zWxchQc)** 130 | * **[SwiftUI Tutorial (Swift UI Basics in 1 Video)](https://www.youtube.com/watch?v=IIDiqgdn2yo&ref=quuu)** 131 | * **[How To Create Views, Text and Stacks with Swift UI on Mojave](https://www.youtube.com/watch?v=wbxbe35Bbn4)** 132 | * **[SwiftUI NavigationView, List, Text, NavigationBarTitle Xcode 11](https://www.youtube.com/watch?v=rySUuXkN5wg)** 133 | * **[NavigationView and NavigationButton - Push View in SwiftUI](https://www.youtube.com/watch?v=8tZjVRXsuig)** 134 | * **[What's behind SwiftUI DSL? - Swift Function Builders - Following Swift Evolution](https://youtu.be/YG5u0aFgGQI)** 135 | * **[Let's Code SwiftUI (WWDC 2019 Preview) - Lesson #00 - Über das Let's Code](https://www.youtube.com/watch?v=0oI29FIufQU&feature=youtu.be)** 136 | * **[SwiftUI - Understanding State](https://www.youtube.com/watch?v=KD4OAjQJYPc&feature=youtu.be)** 137 | * **[SwiftUI - Lists - Create Something like UITableView](https://www.youtube.com/watch?v=vLa1z5wVkq0)** 138 | * **[SwiftUI Tutorial - Create a list that fetches JSON](https://www.youtube.com/watch?v=xkclf3Alz8M)** 139 | * **[SwiftUI Complete Apps #1: Build a dynamic list app with navigation and images – Tutorial](https://www.youtube.com/watch?v=VGJBLlfSN-Y&feature=youtu.be)** 140 | 141 | Credit: Juanpe 142 | -------------------------------------------------------------------------------- /main.swift: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------------------------------------------------