Swift is the programming language behind the apps you can create for iOS or Mac, so it is essential that your code creates an intelligible user…
Swift is the programming language behind the apps you can create for iOS or Mac, so it is essential that your code creates an intelligible user interface. Learning how to create a well-designed UI is an essential skill for any app developer, which is why this course will discuss some of the different tools and methods you can use to create an effective and usable UI and avoid a lot of the headache that comes with a poorly designed UI.
In Swift: Advanced App Design with UIKit, we will talk about the differences between the UIKit and SwiftUI design frameworks by discussing imperative and declarative frameworks. We will examine UIKit’s basic structure, as well as features such as UITableView. We will also set up an app with Interface Builder to gain a better understanding of the user interface and cover some common tools you can use to optimize the user interface.
Learning Objectives
- Identify imperative and declarative code
- Explain the differences between UIKit and SwiftUI
- Explain Swift Auto Layout
Skills you’ll gain
Application Interface FrameworkDevkitIOS SDKSwift (Programming Language)UIKit (Apple App Framework)UIkit (Web Framework)What You'll Learn
- Identify imperative and declarative code
- Explain the differences between UIKit and SwiftUI
- Explain Swift Auto Layout and constraints
- Set up an app with Interface Builder
- Configure outlets and actions and add code to actions
- Examine UIKit's basic structure and features such as UITableView
Key Takeaways
- Swift is the programming language used to create apps for iOS or Mac, making an intelligible user interface essential.
- Creating a well-designed UI is an essential skill for any app developer and helps avoid the problems of a poorly designed UI.
- UIKit and SwiftUI are different design frameworks, reflecting the distinction between imperative and declarative frameworks.
- Interface Builder can be used to set up an app and gain a better understanding of the user interface.
- The course covers UIKit features such as UITableView, along with Auto Layout and constraints.
Frequently Asked Questions
What does this course cover?
It discusses the differences between the UIKit and SwiftUI design frameworks through imperative and declarative frameworks, examines UIKit's basic structure and features such as UITableView, sets up an app with Interface Builder, and covers tools to optimize the user interface.
Who is this course for?
It is aimed at app developers, since learning how to create a well-designed UI is described as an essential skill for any app developer.
What skills will I gain from this course?
You will learn to identify imperative and declarative code, explain the differences between UIKit and SwiftUI, and explain Swift Auto Layout. Covered skills include the Application Interface Framework, Devkit, iOS SDK, Swift, and UIKit.
What topics are taught in the lessons?
Lessons cover UIKit and SwiftUI, the basic structure of UIKit, setting up an app with Interface Builder, setting up outlets and actions, adding code to actions, Auto Layout and constraints, and UITableView.
Transcript
Show transcript (free preview lesson)
Transcript of the free preview lesson. Remaining lessons unlock with the full course.
Hi, my name is Mark Nair, and in these lessons you'll learn about App Design using Swift. We'll review the UIKit and SwiftUI frameworks, including the basic structures for both. We'll spend some time with UIKit Auto Layout and Table Views, and then we'll look at SwiftUI text, images, stacks, buttons, and work with state and binding. To design and create an app, you'll need to think about the user interface and, generally, how people interact with the logic and data in your app. People have created most apps for iOS with UIKit. That stands for User Interface Kit. This is what the developer documentation says about UIKit. UIKit provides a variety of features for building apps, including components you can use to construct the core infrastructure of your iOS, iPadOS, or TVOS apps. The framework provides the window and view architecture for implementing your UI, the event handling infrastructure for delivering multi-touch and other types of input to your app, and the main run loop for managing interactions between the user, the system, and your app. UIKit is what we call an imperative framework, which means you have to be very specific about how you set up your elements of your interface. You do this with a tool called Interface Builder and with techniques using a thing called Storyboards. UIKit's been around for a while. The new framework that came out in 2019 is SwiftUI, and unlike UIKit's imperative nature, SwiftUI is declarative, which means you tell SwiftUI what you want your UI to look like, and SwiftUI will create it for you. According to the developer documentation, SwiftUI uses a declarative syntax that you can simply state what you want your user interface to do. For example, you can write that you want a list of items consisting of text fields and then describe alignment, font, and color for each field. Your code is simply easier to read than ever before, saving you time and maintenance. Okay, that sounds great. What we will do here is explore both frameworks in the following videos. Today, knowing UIKit is essential, especially if you're maintaining old projects or apps. SwiftUI is definitely the future of iOS development, though, and it's quite a bit of fun to use. So we'll look at both of them. Right now, we're in that in-between time, and there is no good answer about what should I learn, which is usually the question people ask, where should I focus my attention? So we'll look at UIKit to begin with, and then we'll move into SwiftUI. There is a lot of depth in these two frameworks, and a lot of things to talk about when we talk about interactions and how we build apps. For now, we'll scratch the surface, but there's plenty more to do later on. Thanks for watching. Stay tuned for the next lesson, where I'll show you the basic structure of a UIKit app.
Learn on the Go
Take your learning anywhere — the KnowledgeCity mobile app lets you watch lessons on the go.