/About-SwiftUI

Gathering all info published, both by Apple and by others, about new framework SwiftUI.

Primary LanguageSwift

Since past Apple's keynote, where SwiftUI was announced, tons of docs, examples, videos and tutorials have appeared. The goal of this repository is to gather all this information having an unique place where looking for info about SwiftUI.

SwiftUI is an innovative, exceptionally simple way to build user interfaces across all Apple platforms with the power of Swift. Build user interfaces for any Apple device using just one set of tools and APIs. With a declarative Swift syntax that’s easy to read and natural to write, SwiftUI works seamlessly with new Xcode design tools to keep your code and design perfectly in sync. Automatic support for Dynamic Type, Dark Mode, localization, and accessibility means your first line of SwiftUI code is already the most powerful UI code you’ve ever written.

Twitter

Table of contents

 by Apple

🚧 Beta Software

📚 Documentation

  • SwiftUI
  • Official doc
    • Essentials
    • User Interface
      • Views and Controls. Present your content onscreen and handle user interactions.
      • View Layout and Presentation. Combine views in stacks, generate groups and lists of views dynamically, and define view presentations and hierarchy.
      • Drawing and Animation. Enhance your views with colors, shapes, and shadows, and customize animated transitions between view states.
      • Framework Integration. Integrate SwiftUI views into existing apps, and embed AppKit, UIKit, and WatchKit views and controllers into SwiftUI view hierarchies.
    • Data and Events
      • State and Data Flow. Control and respond to the flow of data and changes within your app’s models.
      • Gestures. Define interactions from taps, clicks, and swipes to fine-grained gestures.
    • Previews in Xcode
      • Previews. Generate dynamic, interactive previews of your custom views.

📹 WWDC videos

🌟 most interesting

👩🏼‍🏫 Tutorials

🌎 by the community

📗 Books

🎓 Courses

📰 Articles

📦 Repositories

  • SwiftSunburstDiagram A library written with SwiftUI to easily render sunburst diagrams given a tree of objects.
  • SwiftUI. SwiftUI Framework Learning and Usage Guide. 🚀
  • SwiftUITodo. An example to-do list app using SwiftUI which is introduced in WWDC19.
  • KeyboardAvoiding. A SwiftUI view that manages a UIViewController that responds to keyboard events with modified additionalSafeAreaInsets.
  • DispatchStore. Swift package that implements an operation based, multi-store à-la Flux for SwiftUI.
  • GitHubSearchWithSwiftUI. SwiftUI based GitHubSearch example.
  • SwiftUI-MovieDB. SwiftUI MovieDB prototype app built with Xcode 11 Beta & macOS 10.15 Catalina.
  • WWDCPlayer. 🤖 WWDC19 player using SwiftUI.
  • MyDogs. A simple SwiftUI example for testing Lists, BindableObject, State management and Network.
  • MovieSwiftUI. SwiftUI & Combine app using MovieDB API.
  • CryptoTickerSwiftUI. Example project using a websocket API and SwiftUI to displays latest BTC-USD trade. (Latest Bitcoin price)
  • SwiftUI-Combine. This is an example project of SwiftUI and Combine using GitHub API.
  • SwiftUITimeTravel. An experimental time traveling state store for SwiftUI.
  • SwiftUI_Jike. SwiftUI imitation app interface (Build Jike App with SwiftUI).
  • 2048. A 2048 game writing with SwiftUI.
  • SwiftUI-Landmarks. Introducing SwiftUI. A declarative way to create User Interfaces with Swift.
  • SwiftUI-Flux. 🚀 This is a tiny experimental application using SwiftUI with Flux architecture.
  • SwiftUI-by-Examples. Examples of new SwiftUI framework.
  • SwiftUICalculator. A calculator app using SwiftUI which is introduced in WWDC19.
  • InstaFake-Swift-UI. Swift UI Demo for an instagram copy.
  • SwiftUITheme. A first idea to style SwiftUI Views.
  • Lists_-_Navigation_SwiftUI. Exploration of Apple Developer's SwiftUI tutorial, detailing how to build lists and enable navigation between views with #SwiftUI.
  • injectable. A micro framework that leverages Swift Property Wrapper to implement the Service Locator pattern.
  • NetworkImage.swift. Basic NetworkImage support for SwiftUI via Kingfisher
  • SwiftUI-Combine-todo-example. A to-do list app using SwiftUI and combine with restful api.
  • Bindings.swift. Re-implementation of @binding and @State (from SwiftUI) myself to better understand it.
  • Contacts.swift
  • CombineUnsplash. Exploring SwiftUI + Combine + Result by using Unsplash API, with detailed code explaination.
  • RemoteImage.swift. Rough sketch of SwiftUI RemoteImage using AlamofireImage.
  • CombineFeedback. Unidirectional reactive architecture using new Apple Combine framework.
  • Harvest. 🌾 Harvest: Apple's Combine.framework + State Machine, inspired by Redux and Elm.
  • Redux HandlingUserInput. HandlingUserInput tutorial showcasing redux style of state and change management.
  • SwiftUI-Cheat-Sheet. SwiftUI Cheat Sheet.
  • swiftui_shadow_and_border.swift. Testing SwiftUI. Adding shadow and corner radius to a View. Strange behavior depending on View background color.
  • SwiftUI-MVVM. Sample iOS project built by SwiftUI + MVVM and Combine framework using GitHub API.
  • SwiftUI-Circular.swift. Rough attempt at creating a container view that lays out its children in a circle.
  • NotesApp.swift. A notes app written in >100 lines of swift using SwiftUI.
  • UnsplashSwiftUI. UnsplashSwiftUI A simple app powered by SwiftUI and Unsplash 🚀
  • AniTime. Anime schedule, korean subtitle for iOS with SwiftUI + Combine and MVVM architecture
  • Fluxus. Flux for SwiftUI, inspired by Vuex.
  • ChartView in SwiftUI. Easy to use animated Chartview supporting Bar and Piecharts
  • Weather. A simple SwiftUI weather app using MVVM.
  • toBlockingArray for Combine. Acts like RxBlocking, for writing tests using the Combine framework.
  • ImageWithActivityIndicator. SwiftUI view that download and display image from URL and displaying Activity Indicator while loading. Demo
  • 🌯🌯 Burritos. A collection of Swift Property Wrappers (formerly "Property Delegates").
  • Hackery A HackerNews client made using SwiftUI.

🖥 Videos

🔗 Websites

❤️ Contributing

Feel free to contribute!! This repo is yours.