Get 50% off during WWDC 2025!

Design+Code logo

Quick links

Suggested search

Multiplatform app

For the first time, you can build entire apps using SwiftUI only. In Xcode 12, you can now create multi-platform apps with minimal code changes. SwiftUI will automatically translate the navigation, fonts, forms and controls to its respective platform. For example, a sidebar will look differently on the Mac versus the iPad, while using exactly the same code. Dynamic type will adjust for the appropriate platform language, readability and information density. Multiplatform App

What you'll build

In this course, we'll build an app from scratch focusing on the new techniques in iOS 14. We'll use the Sidebar and Tab bar navigation pattern, which translates well to all platforms and give you the power to adapt for any type of content. Also, we'll use Lazy Grids to make the layout adaptive to all devices and we'll learn the new Matched Geometry Effect to create beautiful transitions between screens without the complexity. This is a real app that will be launched to the App Store in September. All the source files and designs are shared so you can use this as a template to build your own app. Screen Shot 2020-07-13 at 3.21.54 PM

Requirements

Developing for iOS 14 requires a Mac with Catalina and Xcode 12. It is recommended that you upgrade to Big Sur in order to build for macOS using SwiftUI. You can still follow the iOS parts, which is the main focus of this course. However, some steps and code specific to the macOS app may not work.

If you've never touched SwiftUI before, it is recommended to take my SwiftUI for iOS 13 course beforehands as it will go more in-depth with the basics. Beginners can take this course, but minimum experience with HTML and CSS (or coding equivalent) recommended.

Lazy Grid Layout

One of the biggest upgrades is the new Lazy Grid in SwiftUI. Not only does it make your layout completely adaptive to every screen size, it'll lazy load the content for better performance. Lazy grids can be spread vertically or horizontally and can be both flexible and adaptive (similar to auto-fit in CSS Grid). Lazy Grid Layout

Matched Geometry Effect

With this new technique, you can create beautiful transitions between two different views. Shared elements will animate smoothly from one screen to another. This makes animations much more manageable and allows you to create beautiful app experiences without adding complexity.

Sidebar

The sidebar is now a standard for iPadOS and macOS. It makes your app significantly easier to navigate, maximizing the use of the screen's real estate. Apps like Mail with deep, multi-level content can hugely benefit from this pattern since you can have a supplementary menu.

Sidebar

Widgets

Widgets allow you to place interesting contents of your app in your users' Home screen, if they so choose. Implementing a simple widget in SwiftUI is very straightforward and you can separate the resources for it. Additionally, there are 3 formats: small, medium and large, and you can update the content based on the time of the day.

Install Xcode 12

For Big Sur, Xcode has made significant changes to its toolbar and visual editing tools such as the Previews and the Inspector. The built-in documentations for SwiftUI has improved significantly. In order to follow this course, you will need to download Xcode 12 beta 2 or newer.

Install SF Symbols

Apple introduced SF Symbols 2 this year with almost a thousand more icons and multi-color icons. All these icons can be used for all of Apple's platforms for free and effortlessly in SwiftUI. SF Symbols

Download SF Fonts

If you're designing for iOS, it is essential to download the SF Fonts from Apple. There are 4 fonts:

  • SF Pro for iOS, iPadOS and tvOS
  • SF Compact for watchOS
  • SF Mono (optional) for code highlighting
  • New York for a serif typeface

Figma Template (optional)

As I was building this app, I created a Figma template out of necessity for the App Icon for both iOS and macOS. Also, I'm sharing the design files so you can check how I made the user interfaces. Screen Shot 2020-07-15 at 5.50.20 PM

Create a Multi-Platform app

We'll create a Multiplatform app, which allows you to build for macOS, iPadOS and iOS using the same codebase. The files and folders and neatly organized so that you can easily separate the resources for each platform. Multi-Platform app

More resources to learn SwiftUI

  • You can watch SwiftUI WWDC videos using the Developer app from Apple.
  • Download the Fruta app to explore and learn how Apple made their sample app using the new techniques introduced in WWDC 2020.
  • SwiftUI by example by Paul Hudson is an excellent place to find short tutorials on key techniques for SwiftUI.
  • Jordan Singer from Recreate shares a lot of source code for popular apps recreated in SwiftUI.

READ NEXT

SwiftUI Visual Editor

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

ePub

Assets

Subtitles

1

Build a SwiftUI app for iOS 14

Build a multi-platform app for iOS, iPadOS and Big Sur

10:35

2

SwiftUI Visual Editor

Learn Xcode 12's new visual editing and inspector tools

14:14

3

SF Symbols and List Styles

Using SF Symbols 2 and the new list styles in iOS 14

11:10

4

Sidebar and Label

Setting up a sidebar navigation for iOS 14 and macOS

7:06

5

Build for macOS Big Sur

Platform conditions and sidebar layout for macOS Big Sur app

7:38

6

Toolbar and Organizing

Cross-platform buttons and content for navigation, status and actions

11:11

7

Show View and Transitions

How to transition between views using preset animations

7:27

8

Matched Geometry Effect

Magically transition between views matching similar elements

6:23

9

Delay and Asymmetric Transition

Insertion and Removal transition between views

6:58

10

Matched Cards and Static Data

Tagging multiple elements with Matched Geometry Effects

8:05

11

Selection State and Disabled

How to create unique card animations with changeable states

7:35

12

Lazy Grid Layout

Working with iOS 14 grid layout with adaptive, fixed and repeating columns and rows

9:10

13

Matched Container and zIndex

Create a transition with a card container using multiple ids

9:19

14

Passing Namespace

Create a separate file for your full-screen view and pass the namespace ID

8:37

15

Visual Effect Blur for macOS

Adding a background blur that works for iOS and macOS Big Sur

12:15

16

Size Class and Tab Bar

Setting the Tab Bar for iPhone versus Sidebar for iPad

9:39

17

Navigation Link and Modal

Present your content using Navigation View and Modal with a dismiss behavior

10:51

18

Animating Above Navigation

Animate your content above the Navigation Bar and Tab Bar

7:03

19

Library Content and Modifiers

Add reusable components and modifiers to the Library menu

9:09

20

Create a Widget

Set up your family of widgets for iOS 14

11:06

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.

Meng To

I design, code and write

Meng To is the author of Design+Code. Meng started off his career as a self-taught designer from Montreal and eventually traveled around the world for 2 years as his US VISA was denied. During his travels, he wrote a book which now has 35,000 readers.

icon

40 courses - 185 hours

course logo

Master AI Prompting for Stunning UI

Learn how to leverage AI tools like Aura for creating beautiful designs, working with templates, and experimenting with advanced prompts. A concise guide for designers and developers to level up their skills.

1 hrs

course logo

Build SwiftUI apps for iOS 18 with Cursor and Xcode

In this course, we'll explore the exciting new features of SwiftUI 6 and Xcode 16 for building iOS 18 apps. From mesh gradients and text animations to ripple effects, you'll learn how to create polished, highly custom apps using the latest workflows. We'll also dive into using Cursor and Claude AI for AI-driven coding, helping you start strong and customize your apps.

5 hrs

course logo

Create your Dream Apps with Cursor and Claude AI

Learn to build your dream web apps from the ground up using Cursor, Claude AI, and a suite of powerful AI tools. This course covers everything you need, including React for frontend development, Firebase for backend integration, and Stripe for handling payments. You’ll also dive into advanced AI tools like Claude Artifacts, Galileo AI, v0.dev for UI, Ideogram for design generation, and Cursor Composer for full-scale development.

6 hrs

course logo

Build a React Site from Figma to Codux

In this course, you'll learn to build a website from scratch using Codux, starting with a Figma template. You’ll master responsive design, collaborate with developers on a real React project, export CSS from Figma using Locofy, set up breakpoints with media queries, add CSS animations, improve SEO, create multiple pages with React Router, and publish your site. By following best practices, you’ll bridge design and development, improve your web design skills.

2 hrs

course logo

Create 3D UI for iOS and visionOS in Spline

Comprehensive 3D Design Course: From Basics to Advanced Techniques for iOS and visionOS using SwiftUI

3 hrs

course logo

Master No-Code Web Design with Framer

In this free Framer course, you'll learn to create modern, user-friendly interfaces. Start with dark mode and glass designs, then move from Figma to Framer, using vectors and auto layout for responsive websites. Add animations, interactive buttons, and custom components with code. Finally, you'll craft a design system suitable for teamwork or solo projects, all in a straightforward and practical approach.

4 hrs

course logo

Build SwiftUI Apps for iOS 17

In this course, we’ll be exploring the fresh and exciting features of SwiftUI 5! As we craft a variety of iOS apps from the ground up, we'll delve deep into the treasure trove that is SwiftUI's user interface, interactions, and animations.

4 hrs

course logo

Build Beautiful Apps with GPT-4 and Midjourney

Design and develop apps using GPT-4 and Midjourney with prompts for SwiftUI, React, CSS, app concepts, icons, and copywriting

4 hrs

course logo

Build SwiftUI apps for iOS 16

Create animated and interactive apps using new iOS 16 techniques using SwiftUI 4 and Xcode 14

5 hrs

course logo

Build a 3D Site Without Code with Framer

Design and publish a responsive site with 3D animation without writing a single line of code

3 hrs

course logo

Create 3D Site with Spline and React

Design and code a landing page with an interactive 3D asset using Spline and CodeSandbox

1 hrs

course logo

Build an Animated App with Rive and SwiftUI

Design and code an iOS app with Rive animated assets, icon animations, custom layouts and interactions

3 hrs

course logo

Build a SwiftUI app for iOS 15 Part 3

Design and code a SwiftUI 3 app with custom layouts, animations and gestures using Xcode 13, SF Symbols 3, Canvas, Concurrency, Searchable and a whole lot more

4 hrs

course logo

Build a SwiftUI app for iOS 15 Part 2

Design and code a SwiftUI 3 app with custom layouts, animations and gestures using Xcode 13, SF Symbols 3, Canvas, Concurrency, Searchable and a whole lot more

3 hrs

course logo

Build a SwiftUI app for iOS 15

Design and code a SwiftUI 3 app with custom layouts, animations and gestures using Xcode 13, SF Symbols 3, Canvas, Concurrency, Searchable and a whole lot more

4 hrs

course logo

React Livestreams

Learn how we can use React Hooks to build web apps using libraries, tools, apis and frameworks

4 hrs

course logo

Design Founder Livestreams

A journey on how we built DesignCode covering product design, management, analytics, revenue and a good dose of learning from our successes and failures

2 hrs

course logo

SwiftUI Advanced Handbook

An extensive series of tutorials covering advanced topics related to SwiftUI, with a main focus on backend and logic to take your SwiftUI skills to the next level

4 hrs

course logo

iOS Design Handbook

A complete guide to designing for iOS 14 with videos, examples and design files

2 hrs

course logo

SwiftUI Handbook

A comprehensive series of tutorials covering Xcode, SwiftUI and all the layout and development techniques

7 hrs

course logo

Build a web app with React Hooks

Learn how we built the new Design+Code site with React Hooks using Gatsby, Netlify, and advanced CSS techniques with Styled Components.

4 hrs

course logo

UI Design Handbook

A comprehensive guide to the best tips and tricks for UI design. Free tutorials for learning user interface design.

2 hrs

course logo

Figma Handbook

A comprehensive guide to the best tips and tricks in Figma

6 hrs

course logo

SwiftUI for iOS 14

Build a multi-platform app from scratch using the new techniques in iOS 14. We'll use the Sidebar and Lazy Grids to make the layout adaptive for iOS, iPadOS, macOS Big Sur and we'll learn the new Matched Geometry Effect to create beautiful transitions between screens without the complexity. This course is beginner-friendly and is taught step-by-step in a video format.

3 hrs

course logo

SwiftUI Livestreams

This is a compilation of the SwiftUI live streams hosted by Meng. Over there he talks and teaches how to use design systems, typography, navigation, iOS 14 Design, prototyping, animation and Developer Handoff.

19 hrs

course logo

UI Design Livestreams

This is a compilation of the UI live streams hosted by Meng. Over there he talks and teaches how to use design systems, typography, navigation, iOS 14 Design, prototyping, animation and Developer Handoff.

26 hrs

course logo

UI Design for Developers

In this course we'll learn how to use design systems, set up break points, typography, spacing, navigation, size rules for adapting to the iPad, mobile and web versions, and different techniques that translate well from design to code.

3 hrs

course logo

Build an app with SwiftUI Part 3

This course was written for designers and developers who are passionate about design and about building real apps for iOS, iPadOS, macOS, tvOS and watchOS. SwiftUI works across all of those platforms. While the code is not a one-size-fits-all, the controls and techniques involved can apply to all platforms. It is beginner-friendly, but it is also packed with design tricks and cool workflows about building the best UIs and interactions.

4 hrs

course logo

Build an app with SwiftUI Part 2

This course was written for designers and developers who are passionate about design and about building real apps for iOS, iPadOS, macOS, tvOS and watchOS. SwiftUI works across all of those platforms. While the code is not a one-size-fits-all, the controls and techniques involved can apply to all platforms. It is beginner-friendly, but it is also packed with design tricks and cool workflows about building the best UIs and interactions.

4 hrs

course logo

Build a full site in Webflow

Webflow is a design tool that can build production-ready experiences without code. You can implement CSS-driven adaptive layouts, build complex interactions and deploy all in one tool. Webflow also comes with a built-in content management system (CMS) and Ecommerce for creating a purchase experience without the need of third-party tools.

3 hrs

course logo

Advanced Prototyping in ProtoPie

ProtoPie is a cross-platform prototyping tool that creates prototypes nearly as powerful as those made with code, with half of the efforts, and zero code. It's perfect for designers who want to quickly experiment with advanced interactions using variables, conditions, sensors and more.

3 hrs

course logo

Build an app with SwiftUI Part 1

This course was written for designers and developers who are passionate about design and about building real apps for iOS, iPadOS, macOS, tvOS and watchOS. SwiftUI works across all of those platforms. While the code is not a one-size-fits-all, the controls and techniques involved can apply to all platforms. It is beginner-friendly, but it is also packed with design tricks and cool workflows about building the best UIs and interactions.

4 hrs

course logo

React Native for Designers Part 2

React Native is a popular Javascript framework that builds on top of React by using native components to create a real mobile app indistinguishable from one made using Xcode or Android Studio. The main difference with native development is that you get to use CSS, hot-reload, Javascript and other familiar techniques that the Web has grown over the past decades. Most importantly, you're building for both iOS and Android using the same codebase.

3 hrs

course logo

React Native for Designers

React Native is a popular Javascript framework that builds on top of React by using native components to create a real mobile app indistinguishable from one made using Xcode or Android Studio. The main difference with native development is that you get to use CSS, hot-reload, Javascript and other familiar techniques that the Web has grown over the past decades. Most importantly, you're building for both iOS and Android using the same codebase.

5 hrs

course logo

Design System in Figma

Learn how to use and design a collaborative and powerful design system in Figma. Design Systems provide a shared library of reusable components and guidelines and that will let you build products much faster

3 hrs

course logo

React for Designers

Learn how to build a modern site using React and the most efficient libraries to get your site/product online. Get familiar with Grid CSS, animations, interactions, dynamic data with Contentful and deploying your site with Netlify.

3 hrs

course logo

Swift Advanced

Learn Swift a robust and intuitive programming language created by Apple for building apps for iOS, Mac, Apple TV and Apple Watch

9 hrs

course logo

Learn Swift

Learn Swift a robust and intuitive programming language created by Apple for building apps for iOS, Mac, Apple TV and Apple Watch

4 hrs

course logo

Learn Sketch

Learn Sketch a design tool entirely vector-based and focused on user interface design

5 hrs

course logo

Learn iOS 11 Design

Learn colors, typography and layout for iOS 8

1 hrs

Test your knowledge of SwiftUI for iOS 14. Complete the course and get perfect results for this test to get your certificate.