Swiftui Course

Tags: SwiftUI

Learn how to work with Apples new declarative framework and build beautiful and stylish apps fast, with much less code

Last updated 2022-01-10 | 4.4

- Students will be able to work with and build apps with SwiftUI and deploy them on all of Apple platforms

What you'll learn

Students will be able to work with and build apps with SwiftUI and deploy them on all of Apple platforms

* Requirements

* A working knowledge of Apple's Swift language is required

Description

Welcome to the SwiftUI course

My name is Steve DeStefano, an iOS / macOS developer, and I created this course for anyone who wants to learn how to build beautiful apps with Apples new framework SwiftUI.

SwiftUI is Apples new Declarative building framework that actually might forever change the way apps are made.

Gone here are the familiar story boards, as well as auto layout, which was at times very frustrating to work with… this has all been replaced with intuitive new design tools within Xcode that make building interfaces with SwiftUI as easy as dragging and dropping, and using about 5 times less code then working with UIKit and storyboards.

SwiftUI is a declarative approach to building apps and it includes all of apples platforms… so build the app once, and deploy it on the other platforms very easily.

What is Declarative Programming?

Declarative Programming is a non-imperative style of programming in which we describe, or declare, the desired results without explicitly coding out the commands or steps that must be performed.

imperative programming is a style of programming that uses statements, in explicit steps to change a program's state…meaning, we would have to code the various components or views ourselves to make them show and hide...this is what we do with UIKit and storyboards

The key contrast between the two styles can be summed up with two words - WHAT and HOW -

Declarative programming focuses on what the program should accomplish, and imperative programming focuses on how the program should achieve the result.

This course will show you how to use this declarative approach and the SwiftUI features, and walk you through the process of building fun and stylish apps.

You will learn all about:

• Text views

• TextFields

• Images

• Modifiers

• State

• Object Binding

• Environment

• Lists

• Navigation

• Passing data back and forth

• Integrating SwiftUI with UIKit

• Stacks

• Animations

• Core Data

• CoreML

• SwiftUI and the Camera

• Shadows

• Shapes

• Gradients

• Forms

• Tab Bars

• Learn the Swift Language in the language section - here you can learn from the beginning on how to code in Swift with dozens of lectures that cover all you need to know to be proficient in writing code.

• Swift Language quizzes help you solidify your progress as you work through the language lectures

and much more…

So code along with me working with an incredibly cool and insane set of design tools - SwiftUI - and get a head-start on the future of app building. I'll see you inside.

Who this course is for:

  • Beginner iOS / macOS / watchOS / tvOS developers through intermediate and advanced

Course content

28 sections • 122 lectures

The Swift Language - Introduction Preview 01:22

Learn the Swift Language from the very beginning

Constants and Variables - Data types - part 1 Preview 09:57

Constants and variables - Data types - part 1

Constants and Variables - Data types - part 2 Preview 07:34

Constants and variables part 2

Strings - Working with strings and thier properties and methods - part 1 Preview 14:23

Strings - Working with strings and thier properties and methods - part 2 Preview 10:29

Strings

Operators - Part 1 - unary•binary•ternary•assign•compound Preview 08:32

Operators - part 1

Operators - Part 2 - Comparison•nil•range•logical Preview 13:00

Operators - part 2

Classes and structs - Part 1 - syntax • properties • initialization Preview 08:50

Classes and structs - Part 2 - Value and reference types • identity operator Preview 06:43

Classes and struct quiz

Properties part 1 - Stored properties Preview 04:50

Quiz - Stored Properties part 1

Properties - part 2 - Lazy properties Preview 04:24

Quiz - Lazy Properties part 2

Properties - Part 3 - Computed properties Preview 03:59

Quiz - Properties - part 3 Computed Properties

Properties - Part 4 - Property observers Preview 04:29

Quiz - Properties part 4 - Property Observers

Properties - Part 5 - Static propeties Preview 04:50

Quiz - Properties part 4 - Static properties

Initializers - Part 1 - Syntax - Value type delegation Preview 11:46

Initializers - Part 2 - Designated and convenience inits Preview 10:16

Initializers - Part 3 - Initializer inheritance Preview 10:29

Initializers - Part 4 - Required and failable inits Preview 05:21

Quiz - Initializers

If and if else statements Preview 03:16

Switch Statements Preview 10:17

Quiz - Conditional statements - if and switch

Guard statement Preview 05:45

Quiz - guard statement

For in loop Preview 06:04

While and repeat while loops Preview 02:51

Quiz - loops

Control transfer statements Preview 09:57

Quiz - Control transfer statements

Functions - Part 1 - Parameters • Arguments • return values Preview 05:43

Quiz - Functions part 1

Functions - Part 2 • Returning multiple values Preview 03:58

Quiz - Functions part 2

Functions - Part 3 • Argument labels and parameter names Preview 07:18

Quiz - Functions part 3

Functions - Part 4 • Variadic • in-out • nested functions Preview 08:00

Quiz - Functions - part 4

Arrays Preview 13:47

Quiz - Arrays

Dictionaries Preview 07:48

Quiz - Dictionaries

Sets Preview 09:03

Quiz - Sets

Optionals Preview 13:30

Quiz - Optionals

Enums part 1 - Declaring and iterating over Preview 04:55

Enums - Part 2 - Associated and raw values Preview 11:08

Enums - Part 3 - Recurssive enums Preview 04:18

Quiz - enums

Text and Modifiers part 1 Preview 09:36

Text and Modifiers part 2 Preview 08:28

Text and Modifiers part 3 Preview 05:38

Images and modifiers part 1 Preview 09:32

Images and modifiers part 2 Preview 03:57

Dog Breed Intro Preview 01:11

Part 1 - Text, Image, View modifiers, Stacks, Gradients, Shapes Preview 14:36

Part 2 - Adding the data - text labels and icons - and the Identifiable protocol Preview 11:49

Part 3 - Lists - Navigation - Creating and populating rows with data Preview 10:55

Part 4 - Passing the row data to the detail view Preview 09:09

Weather app Intro Preview 01:14

Part 1 - Getting the APP ID - Setting up the data model - Setting up services Preview 10:23

Part 2 - Create the view model class - ObservableObject Preview 11:23

Part 3 - Designing the UI Preview 13:01

Part 4 - Refactoring Preview 11:10

Part 5 - Adding animation Preview 12:30

ToDo List Intro Preview 01:25

Part 1 - Setting up Core Data Preview 06:20

Part 2 - Setting up the UI Preview 08:55

Part 3 - Configuring the List rows Preview 04:22

Part 4 - Saving user data - fetching and displaying that data Preview 08:22

Part 5 - Deleting data - Dark theme Preview 04:56

Sunflower Intro Preview 01:51

Part 1 - Building the sunflower Preview 12:59

Part 2 - Adding the animation Preview 09:49

Part 3 - Creating the settings screen with Forms Preview 09:09

Part 4 - Adding a tab bar to navigate between screens Preview 03:36

Part 5 - The EnvironmentObject - controlling the app behavior via the settings s Preview 19:07

Dog Breed ID app Intro Preview 02:16

Part 1 - Setting up the User Interface Preview 10:39

Part 2 - Working with the camera API Preview 08:31

Part 3 - Adding CoreML to the mix Preview 09:42

Part 4 - Updatng the UI with predictions Preview 13:48

Guess the Color Intro - A SwiftUI game Preview 01:53

Part 1 - Adding the target and guess circles Preview 10:10

Part 2 - Adding the picker and target - guess rectangles Preview 12:55

Part 3 - Adding the sliders and button Preview 07:47

Part 4 - Adding a reset - scoring - animation Preview 11:03

Just Relax - Intro Preview 02:44

Important: Add all assets to the project so it works Preview 00:13

Part 1 - Creating the player class Preview 16:09

Part 2 - Creating the controls Preview 18:27

Part 3 - Adding the controls to. the player - create the picker Preview 17:21

Part 4 - Populating the picker - tying it all together Preview 09:47

Challenge - Fixing the bugs Preview 00:46

Intro Preview 02:57

Part 1 - Setting up - Creating the header view - settings view Preview 10:06

Part 2 - Create a user settings class and settings view Preview 18:11

Part 3 - Adding a picker view Preview 08:10

Part 4 - Adding a button and functions to display a word Preview 16:50

Part 5 - Adding the text field and list views Preview 18:19

Part 6 - Giving the user feedback via message alerts Preview 04:22

Part 7 - Adding the footer - word count and average letter per word views Preview 09:48

Part 8 - Adding a launch screen and animating gears Preview 14:12

Part 9 - Adding haptic feedback and sound Preview 05:48