Deep Dive iOS 16 Swift / SwiftUI Programming
Dr. Ron Erez
14:34:36
Description
Project-based approach to iOS development using the MVVM design pattern with SwiftUI and the Swift Programming language
What You'll Learn?
- Learn to build an iOS 16 App
- Learn good programming practices
- Learn MVVM design pattern
- Have fun programming and exploring
Who is this for?
More details
DescriptionThis course focuses on iOS development dedicated to iOS 16 programming using the Swift programming language and the SwiftUI framework. You will learn programming fundamentals of the Swift programming language. This is a project based course. In each project you will learn about more features of the language and gain more experience. The Apps will be written using the MVVMÂ software design pattern which goes hand in hand with SwiftUI and iOS 16 development. You will also learn how to efficiently use Xcode 14, navigate, use hotkeys and code snippets.
Here is a list of the topics we will cover and the Apps we will create.
Basics. The goal is not to give an encyclopedic treatment, rather cover a large chunk of the fundamentals and then quickly dive into as many apps as possible where we use these basics and beyond.
Programming basics, i.e. variables, constants, arrays, loops, structs, conditionals, basic data types, guard, tuples, enumerations, etc.
HStack, VStack, ZStack, gradients, colors, text, alignment, frames, rotations, grids, images, AsyncImage
Working with code Snippets in order to write programs more efficiently. This topic is rather simple but quite useful. We also cover useful topics in this sections such as
Page tabbed views
Background colors
Buttons
Gradient text and masks
Nice default views
Avatars
Clickable images which link to a website
Greetings App. The goal is to explore some basics of SwiftUI. In this short App we learn about basic layouts, animations, tap gestures, gradients (linear and radial), support for multiple languages such as English, Spanish, etc, creating an App icon for all devices, support for light and dark mode.
Calculator. We implement a nice UIÂ based on a beautiful design from dribbble. We support both light and dark mode and discuss state variables.
Recipe App MVVM. This is the first App in the course that covers the MVVMÂ design pattern which is central in this course. We also cover basic navigation and lists and custom views in this section.
Fizz Buzz. This App is based on a standard interview question called Fizz Buzz. We learn about Xcode's playground and then we move on to an app that relies heavily on String manipulation. We write an App that implements Fizz Buzz in several programming languages such as Swift, Rust, Go, C, Javascript/HTML. So we write a program that writes programs. Moreover we learn how to copy text to the clipboard and we discover the context menu.
HTML to Color Extension. In this section we write code that converts HTML to usable code in SwiftUI. Namely we automate the creation of color extensions which will be used in the Charts App of our course (or in any app for that matter).
Alarm App. This is one of the highlights of the course. We largely base the UIÂ on a design from dribbble. We support multiple languages out of the box, namely English, Spanish, French, Italian, German, Turkish. The UI is highly complex so this is an excellent opportunity to work with nice UIs. We work with navigation stacks, tab views, grids, shapes, Date pickers, etc. We even create a custom toggle button using tap and drag gestures, states and bindings. Moreover we cover advanced topics such as async-await (introduced in iOSÂ 15) and local push notifications. We also discuss Environment objects, Published, State and Binding. (These topics are covered in most of the Apps but in the alarm app this is used frequently.)
Conway's Game of Life. This is a standard programming exercise introduced by the British mathematician John Conway (check out the Wiki) who sadly passed from Covid. We generalize this game in the sense that the user can change the rules of the game. Once again we focus both on actual programming logic and on a nice UI such as working with sliders, constructing custom check boxes, ForEach views, etc.
Brevis App -Â Hotkeys. This is a relatively simple MVVM-based App that animates the background and rotates a custom card view.
Tip Calculator. My first thought was - not another tip calculator! To make things interesting this App is based on a beautiful design from dribbble. We also work with Shapes in this section and there is a major focus on State and Bindings.
Flashcards App. The name is self-explanatory. There is a major focus on tap, magnification and drag gestures in this App. As usual we follow the MVVMÂ design pattern. We also create rotating cards (similar to what we have seen in the Brevis App).
Mystic Puzzle Game. This is also referred to as the 15 puzzle game. In this game we shuffle 15 titles with one empty title and the user must move the tiles back into place. This project has highly not trivial logic and not just a nice UI.
Quote of the Day App. This uses a quote API, in other words we will learn how to grab data off the internet which is very important in many other apps. Amongst other things we use custom fonts in this section.
Speed code a Chill Meditation App. We create a very simple meditation in 30 minutes flat. This is to show what can be done easily in SwiftUIÂ with very little time and effort.
Multilingual Animals. This can be viewed as an educational game for children. The main goal of this project is to learn how to support text to speech in multiple languages, namely, English, Spanish and French. Of course other languages can easily be supported.
The remaining four apps focus on the frontend. All based on designs from dribbble. Namely.
Body Shape UI.
Meditation App UI.
Finance App UI.
Task Manager UI.
Moreover this course is dynamic in the sense that I will regularly post more material of my own and/or in response to specific requests from students.
I hope you enjoy this course as much as I enjoyed creating it. Also make the code your own. Experiment and be creative. Try to implement an App idea of your own.
Feel free to ask questions in the QÂ &Â A or message me directly. I'm always happy to answer questions and check for questions twice a day.
Happy programming and have a Great day
Ron
Who this course is for:
- Beginner-intermediate programmers or anyone wanting to learn to program iOS 15 and iOS 16 using SwiftUI
This course focuses on iOS development dedicated to iOS 16 programming using the Swift programming language and the SwiftUI framework. You will learn programming fundamentals of the Swift programming language. This is a project based course. In each project you will learn about more features of the language and gain more experience. The Apps will be written using the MVVMÂ software design pattern which goes hand in hand with SwiftUI and iOS 16 development. You will also learn how to efficiently use Xcode 14, navigate, use hotkeys and code snippets.
Here is a list of the topics we will cover and the Apps we will create.
Basics. The goal is not to give an encyclopedic treatment, rather cover a large chunk of the fundamentals and then quickly dive into as many apps as possible where we use these basics and beyond.
Programming basics, i.e. variables, constants, arrays, loops, structs, conditionals, basic data types, guard, tuples, enumerations, etc.
HStack, VStack, ZStack, gradients, colors, text, alignment, frames, rotations, grids, images, AsyncImage
Working with code Snippets in order to write programs more efficiently. This topic is rather simple but quite useful. We also cover useful topics in this sections such as
Page tabbed views
Background colors
Buttons
Gradient text and masks
Nice default views
Avatars
Clickable images which link to a website
Greetings App. The goal is to explore some basics of SwiftUI. In this short App we learn about basic layouts, animations, tap gestures, gradients (linear and radial), support for multiple languages such as English, Spanish, etc, creating an App icon for all devices, support for light and dark mode.
Calculator. We implement a nice UIÂ based on a beautiful design from dribbble. We support both light and dark mode and discuss state variables.
Recipe App MVVM. This is the first App in the course that covers the MVVMÂ design pattern which is central in this course. We also cover basic navigation and lists and custom views in this section.
Fizz Buzz. This App is based on a standard interview question called Fizz Buzz. We learn about Xcode's playground and then we move on to an app that relies heavily on String manipulation. We write an App that implements Fizz Buzz in several programming languages such as Swift, Rust, Go, C, Javascript/HTML. So we write a program that writes programs. Moreover we learn how to copy text to the clipboard and we discover the context menu.
HTML to Color Extension. In this section we write code that converts HTML to usable code in SwiftUI. Namely we automate the creation of color extensions which will be used in the Charts App of our course (or in any app for that matter).
Alarm App. This is one of the highlights of the course. We largely base the UIÂ on a design from dribbble. We support multiple languages out of the box, namely English, Spanish, French, Italian, German, Turkish. The UI is highly complex so this is an excellent opportunity to work with nice UIs. We work with navigation stacks, tab views, grids, shapes, Date pickers, etc. We even create a custom toggle button using tap and drag gestures, states and bindings. Moreover we cover advanced topics such as async-await (introduced in iOSÂ 15) and local push notifications. We also discuss Environment objects, Published, State and Binding. (These topics are covered in most of the Apps but in the alarm app this is used frequently.)
Conway's Game of Life. This is a standard programming exercise introduced by the British mathematician John Conway (check out the Wiki) who sadly passed from Covid. We generalize this game in the sense that the user can change the rules of the game. Once again we focus both on actual programming logic and on a nice UI such as working with sliders, constructing custom check boxes, ForEach views, etc.
Brevis App -Â Hotkeys. This is a relatively simple MVVM-based App that animates the background and rotates a custom card view.
Tip Calculator. My first thought was - not another tip calculator! To make things interesting this App is based on a beautiful design from dribbble. We also work with Shapes in this section and there is a major focus on State and Bindings.
Flashcards App. The name is self-explanatory. There is a major focus on tap, magnification and drag gestures in this App. As usual we follow the MVVMÂ design pattern. We also create rotating cards (similar to what we have seen in the Brevis App).
Mystic Puzzle Game. This is also referred to as the 15 puzzle game. In this game we shuffle 15 titles with one empty title and the user must move the tiles back into place. This project has highly not trivial logic and not just a nice UI.
Quote of the Day App. This uses a quote API, in other words we will learn how to grab data off the internet which is very important in many other apps. Amongst other things we use custom fonts in this section.
Speed code a Chill Meditation App. We create a very simple meditation in 30 minutes flat. This is to show what can be done easily in SwiftUIÂ with very little time and effort.
Multilingual Animals. This can be viewed as an educational game for children. The main goal of this project is to learn how to support text to speech in multiple languages, namely, English, Spanish and French. Of course other languages can easily be supported.
The remaining four apps focus on the frontend. All based on designs from dribbble. Namely.
Body Shape UI.
Meditation App UI.
Finance App UI.
Task Manager UI.
Moreover this course is dynamic in the sense that I will regularly post more material of my own and/or in response to specific requests from students.
I hope you enjoy this course as much as I enjoyed creating it. Also make the code your own. Experiment and be creative. Try to implement an App idea of your own.
Feel free to ask questions in the QÂ &Â A or message me directly. I'm always happy to answer questions and check for questions twice a day.
Happy programming and have a Great day
Ron
Who this course is for:
- Beginner-intermediate programmers or anyone wanting to learn to program iOS 15 and iOS 16 using SwiftUI
User Reviews
Rating
Dr. Ron Erez
Instructor's Courses
Udemy
View courses Udemy- language english
- Training sessions 153
- duration 14:34:36
- Release Date 2023/03/29