Get 50% off during WWDC 2025!

Design+Code logo

Quick links

Suggested search

Learn to Build Great Apps with UIKit

While SwiftUI may be the new, shiny framework you hear about, UIKit is still a very powerful framework to develop apps for Apple's devices. Unlike SwiftUI, UIKit has had a lot of time to mature meaning you have all the tools and resources needed to build gorgeous, visually stunning apps with this framework. In fact, UIKit powers many of the apps you see on the App Store today.

Furthermore, the primary advantage of learning UIKit in 2022 is that you'll be a viable candidate for many big companies in Silicon Valley, much of whom still rely on UIKit to this day. Learning the fundamentals of UIKit not only makes you a better Apple Developer, but also strengthens your understanding of the iOS system.

UIKit for iOS 15 Part 2 image 1

About this Course

Continuing on from the previous UIKit for iOS 15 course, this course has a heavier emphasis on some of the more nuanced features of UIKit. We’ll take a look at how to implement custom animations in UIKit and understand the differences between AppDelegate and SceneDelegate . We’ll also see how developers can quickly set up a backend for their projects with Google’s Firebase. This will allow us to easily set up an authentication system for our app, send push notifications, and load data from the Firestore database.

Furthermore, we’ll also see how to use SwiftUI inside UIKit and also be introduced to a new way of loading data into table and collection views. Finally, just as I introduced you to accessibility in the last course, we’ll see how to implement localization in our app to run with any language, test our app using Xcode Instruments, and finally, how to deploy our app to Testflight via Xcode Cloud.

UIKit for iOS 15 Part 2 image 2

Requirements

This course expects you to have some prior programming knowledge. Therefore, please make sure you have taken some of the previous courses before continuing. In this course, I am running macOS Monterey, Xcode 13.2.1, and will be testing on iOS 15.

READ NEXT

Introduction to Firebase

Templates and source code

Download source files

Download the videos and assets to refer and learn offline without interuption.

check

Design template

check

Source code for all sections

check

Video files, ePub and subtitles

Videos

Assets

Subtitles

1

UIKit for iOS 15 Part 2

Learn advanced techniques about animations, layout, localization, Firebase, Xcode Cloud, and more!

5:58

2

Introduction to Firebase

Setup the backend for your iOS app using Firebase

10:33

3

Animations in UIKit

Perform seamless animations on any UI view with just 5 lines of code

15:02

4

Implementing Firebase Authentication

Let users create new accounts with Firebase Auth

11:32

5

AppDelegate and SceneDelegate

Configure the starting screen of our application

12:00

6

Building the Library View

Reuse UIKit Components to Quickly Build New Screens

11:23

7

Introduction to the Hosting Controller

Explore the UIContainerView and UIHostingController objects

8:42

8

Implementing SwiftUI inside UIKit

Embed a complete SwiftUI view hierarchy into our UIKit application

6:20

9

Building the Notifications View

Review the UITableView Object and Build the Notifications View

9:28

10

Introduction to Diffable Data Source

Load Notifications with blazing speed using a Diffable Data Source

12:38

11

Setting up Firebase Firestore

Learn the Fundamentals of the Firebase Firestore Database

7:55

12

Populating with Data from Firestore

Use the Firestore API and Swift to read data from our database

10:55

13

Push Notifications in Xcode

Create an APNs Auth Key with your Apple Developer account

7:58

14

Firebase Cloud Messenger and In App Messenger

Engage your Users with Push Notification and In-App Messaging

8:36

15

Introduction to Localization

Translate your Storyboard content into any Language

6:58

16

Localizing Strings

Using NSLocalizedString to Localize Content through your Code

10:54

17

Performance Testing with Instruments

Debug CPU and Memory Issues with help from Xcode Instruments

8:39

18

Version Control with Git and GitHub

Save your project on GitHub using the Git CLI

12:30

19

Introduction to Xcode Cloud

Learn the Basics of Xcode’s CI/CD Service

9:00

20

Deploying to Testflight

Create a Testflight Group and Deploy Builds via Xcode Cloud

7:26

Meet the instructor

We all try to be consistent with our way of teaching step-by-step, providing source files and prioritizing design in our courses.

Sai Kambampati

Student. Engineer. Designer. Not always in that order.

Student at UCSC constantly learning about new technologies, building innovative mobile apps, and designing breakthrough products.

icon

6 courses - 24 hours

course logo

Jetpack Compose for Designers

Learn the fundamentals of Jetpack Compose to build a beautiful Android application using Kotlin and Android Studio

4 hrs

course logo

UIKit for iOS 15 Part 2

Learn advanced techniques about animations, layout, localization, Firebase, Xcode Cloud, and more!

3 hrs

course logo

UIKit for iOS 15

Design and code a UIKit app for iOS 15 with storyboards, custom layouts, scroll detection, and accessibility using Xcode 13

5 hrs

course logo

Advanced Development in SwiftUI

Advance your SwiftUI skills by developing an app using Core Data, CloudKit, In App Purchases, Sign In With Apple, and Firebase Authentication

4 hrs

course logo

Flutter for Designers Part 2

Continuing on from the previous Flutter for Designers course, this course has a heavier emphasis on using Firebase API's to combine Firebase and Flutter. There will be a lesser emphasis on creating front-end Flutter UI and more emphasis on how to build functional applications capable of being shipped to the App Store. A review of the previous course and the Dart programming language will be very helpful. That being said, you will also be introduced to some new Flutter widgets and packages.

4 hrs

course logo

Flutter for Designers

Flutter is a relatively new toolkit that makes it easy to build cross-platform apps that look gorgeous and is easy to use. By utilizing a platform's native components we'll build an app that can run on both iOS and Android that will look and feel like it was developed natively. Furthermore we'll see how with one single codebase, Flutter provides us with native performance, hot reload for fast development, and access to beautiful, native components.

4 hrs