iOS, Swift & SwiftUI – Complete iOS App Development


Learn iOS App development using iOS 16, Swift, SwiftUI and UIKit

What you will learn

You will become a top iOS engineer

You will create your own iOS app portfolio

Learn how to create iOS apps using iOS 16, Xcode 14, Storyboards, Swift UI and Interface Builder

Learn and master Swift 5 fundamentals

Build apps using SwiftUI and integrate SwiftCharts

Learn what’s new in iOS 16 and Xcode 14

Learn reactive programming frameworks such as Combine

Build iOS Views programmatically using Auto Layout/PureLayout

Build iOS apps using UIKit & Storyboards

Master writing unit tests

Discover and practice building applications with networking libraries (AlamoFire, Apple)

Build applications that use Core Location and MapKit

Learn how to use MVVM design pattern and differences between MVVM and MVC

Learn how to use CocoaPods

Learn about Notifications and Delegates

Learn about CoreData & UserDefaults

Description

In this course you can learn about iOS 16, Swift 5, iOS App Development using UIKit & SwiftUI and latest frameworks from Apple, best engineering and industry practices on how to develop iOS apps that scale.

The course has 170+ downloadable Xcode project resources, 10+ live coding exercises, 4+ coding challenges, 5+ quizzes, 2 practice tests, 4+ iOS apps and 165+ course materials such as video course lectures, slides and external references to help solidify course materials.

The main focus of the course will be:


Get Instant Notification of New Courses on our Telegram channel.

Note➛ Make sure your 𝐔𝐝𝐞𝐦𝐲 cart has only this course you're going to enroll it now, Remove all other courses from the 𝐔𝐝𝐞𝐦𝐲 cart before Enrolling!


  • get familiar with iOS development environment: Xcode 14 and iOS 16
  • learn what’s new in iOS 16
  • learn fundamentals of Swift5
  • learn about Swift Charts
  • learn about CoreData & UserDefaults
  • learn how to build apps using Storyboards, SwiftUI and programmatically
  • master best engineering and industry practices related to iOS development
  • learn how to use popular iOS frameworks: Combine, MapKit, CoreLocation
  • get experience building apps with Networking using Alamofire and URLSession
  • learn how to build UI both using Autolayout and programmatically using PureLayout
  • get experience with design patterns such as MVC & MVVM
  • learn how to use Notifications & Delegates
  • learn how regular expressions in Swift 5.7 workSwift is a powerful language that Apple recommends to use for iOS development. We will explore basics and fundamentals of Swift 5 language in addition to learning more advanced concepts in Swift 5.

We will learn through examples how to use important components of iOS (Table Views, Collection Views, Text Views, Buttons, Text Fields).

We will learn how to use the latest SwiftUI to build iOS apps. SwiftUI is a next generation tool developed by Apple that can be helpful to build iOS app fast in using responsive and declarative statements. Combine is one of the latest additions from Apple that can be used effectively in apps to react to different events.

One of the important best practices of development is to use unit tests. Hence, we will also learn how to write unit tests in iOS.

English
language

Content

Creating an iOS Project with Xcode Storyboards and Interface Builder

How to download Xcode from Developer Apple Portal
Create an initial Xcode iOS app project
Get familiar with Xcode 14 controls, components and project structure
What is MVC? Learn more about simulator, views, view controllers and models.
What is Table View? How to use Table View to display tabular data?
How to set up Table View Cell, configure data source and debug errors?
How to configure table view cell to display several layers of data?
How to handle tapping on a cell?
How to navigate to a new screen?
What is Collection View?
Introduction to UILabels and UIButtons
Configuring UILabels and UIButtons
Introduction to UITextView
Customizing UITextView
Introduction to UITextField, UIAlertController, UITextFieldDelegate
Introduction to UIImageView, Debugging View Hierarchy and Broken Constraints
Configuring UIImageView, resolving constraint errors using console warnings

Swift 5 Fundamentals

Constants, variables, operators
Strings and Characters
Strings: indices
Strings: substrings
Strings: comparison
Practice knowledge of strings and characters
Collection Types: Introduction
Collection Types: Arrays
Arrays
Collection Types: Sets
Collection Types: Dictionaries
Control flow: for loop
Control flow: while loop
Control flow: repeat while
Control flow: if else conditional statements
Control flow: switch statements
Functions: parameters, return types, multiple return types, arguments, inout
Functions: nested functions, function types
Optionals
Closures: expressions, single expression, short-hand, operator method
Closures: autoclosure, trailing closures, escaping closures
Enumerations
Classes and Structs
Inheritance
Protocols: Introduction
Protocols: Delegates
Protocols: Extensions
Protocols: Synthesized Implementation
Protocols: Types and Inheritance
Protocols: Composition
Protocols: Conformance Check
Protocols: Optional protocol requirements

Cocoa Pods

What is Cocoa Pods?
Installing Cocoa Pods in your system using Gem
Installing Cocoa Pods in your system using HomeBrew
Debugging & resolving CocoaPods installation error
Create a new XCode project?
Fixing a “rvm” or “pod” command not found issue
How to set up Cocoa Pods for Xcode project?
PureLayout, SDWebImage, AlamoFire

App Structure & Organization

Basic project settings, files & folders provided by Xcode initially
Organizing Xcode project files and code using Folders/Groups

Networking: Alamofire, Codable, Decodable, URL Components, URL Session

NYC Schools Open Data APIs
Setup Networking/Data Layer service
Setup Constants to hold your URL and other important information
Data Error enum
Codable & Decodable to parse incoming JSON data
HTTP
Networking using iOS standard services: URLComponent and URLSession (part 1)
Networking using Apple standard services (part 2)
Networking using Apple Standard service (part 3)
AlamoreFire: how to make a networking call using AF library (part1)
AlamoFire: using Decodable to parse data in the response (part2)
JSON format
Completion callbacks / closures

Design Patterns, Architecture, MVVM

What is MVVM?
Implementing MVVM in your iOS app

Introduction to Unit Testing

What is unit test? Why it’s important to test your code?
Running unit tests in Xcode
Implementing Mock: part1
Implementing Mock: part2
Developing unit tests: testing empty response
Developing unit tests: testing error result
Developing unit tests: testing successful result

Introduction to Combine

What is Combine?
How to use Combine together with View Model and View Controller?
Implementing Combine publishers, subscribing to values, cancellables (part2)
Unit Testing with Combine

Localization

What is Localization? How to add Localizable.strings in your project?

Building UI programmatically: View Controllers, Views, Collection Views

Implementing collection view programmatically
Collection view cell (part 1)
Collection view cell (part 2)
Collection view data source
Collection view sections and headers
Tapping on collection view item
Details view controller
Navigation to another view controller
Collection view state views placeholders & loading hud
Refresh control: pull down to refresh

Coding Challenge: Enhance NYC Schools project to fetch SAT API and show it on UI

Implement SAT cell in details view controller
Solution

MapKit and CoreLocation

Displaying users a map using MapKit
Core Location: permissions, using location manager in your app

Notifications

How to communicate using Notifications inside your app?
Showing user’s location on the map using coordinates passed via notifications

Introduction to SwiftUI

What is SwiftUI? Create SwiftUI starting project
App, View, Previews, Body, App, Vertical Stack
Horisontal Stack, Vertical Stack, Previews, Canvas, Attribute Inspector
App structure & organization
Set up podfile and create workspace
The Movie DB API Example
ObservableObject, EnvironmentObject, ViewModel, Networking, and updating a list
List, Section
Row View
AsyncImage: getting image from image url in SwiftUI
Navigation between views: Navigation View and Navigation Link
Navigation and title
Detail view, scroll view, accessibility labels

What’s new in iOS 16?

XCode 14, Swift UI Previews: variants, dynamic sizes, accessibility
Swift UI: initializer code completions
Xcode 14: callers of functions, keeping function/variable names visible
Build timeline reports
Multi destinations with the same target
Organizer: Feedback & Hangs
Device Destination Improvements
App Icon Optimizations
Regular Expressions