Book Image

SwiftUI Projects

By : Craig Clayton
Book Image

SwiftUI Projects

By: Craig Clayton

Overview of this book

Released by Apple during WWDC 2019, SwiftUI provides an innovative and exceptionally simple way to build user interfaces for all Apple platforms with the power of Swift. This practical guide involves six real-world projects built from scratch, with two projects each for iPhone, iPad, and watchOS, built using Swift programming and Xcode. Starting with the basics of SwiftUI, you’ll gradually delve into building these projects. You’ll learn the fundamental concepts of SwiftUI by working with views, layouts, and dynamic types. This SwiftUI book will also help you get hands-on with declarative programming for building apps that can run on multiple platforms. Throughout the book, you’ll work on a chart app (watchOS), NBA draft app (watchOS), financial app (iPhone), Tesla form app (iPhone), sports news app (iPad), and shoe point-of-sale system (iPad), which will enable you to understand the core elements of a SwiftUI project. By the end of the book, you’ll have built fully functional projects for multiple platforms and gained the knowledge required to become a professional SwiftUI developer.
Table of Contents (13 chapters)

Dashboard data

Our dashboard has a lot of data inside of it and this is all stuff you should be familiar with if you have worked with iOS before. I am not going to go step by step and cover every file for the dashboard, but I will go over one section and let you set up the rest. If you have any issues with this process, you can look inside the project files for my data models. We are going to work on getting the Latest Video section set up so that we can gather data, as well as get it to play videos.

Latest video

Next, we are going to set up the latest video section so that you can set up the remaining modules. Let's take a look at the JSON structure for our dashboard.json in the feeds folder:

“videogallery_mod”:{
   “id”:”20000900”,
   “title”:”LATEST”,
   “sub_title”:”VIDEOS”,
   “videos”:[...]
}

Our videogallery_mod...