iOS Apprentice
In this iOS programming book for beginners, you'll learn how to build five complete iOS and Swift apps by following easy step-by-step tutorials. By Joey deVilla & Eli Ganim.
Who is this for?
This book is for anyone completely new to Swift and iOS development — or for those that just need a little brushing-up!
Covered concepts
- Working with Xcode
- Coding in Swift
- Building user interfaces
- Modelling and persisting data
- GPS and image data
- Accessing remote APIs
- iPad development
- Publishing to the App Store
The iOS Apprentice is a series of epic-length tutorials for beginners where you’ll learn how to build four complete apps from scratch.
Each new app will be a...
moreGetting Started with SwiftUI
This section introduces you to the first of the five apps you’ll build throughout this book: Bullseye. It’s a simple game that challenges the user to move a slider to a specific position without any hints or markers. While it won’t make you an App Store millionaire, the exercise of writing it will introduce you to the basics of writing iOS apps.
This section will introduce you to several things you’ll use when coding apps. You’ll be introduced to Xcode, the integrated development environment for writing programs for Apple devices. You’ll also be introduced to Swift, Apple’s programming language, which has grown to become one of the most popular among programmers because it’s simple, powerful, and fun.
Finally, you’ll get your first taste of something that even the most experienced iOS developers haven’t had much time to try: SwiftUI. It’s the new way to build user interfaces for Apple platforms, and like the programming language from which it takes its name, it’s simple and powerful. The first two apps that you’ll make in this book will give you a great head start in building interfaces with SwiftUI.
This section aims to be beginner-friendly, and you may be tempted to skip it. Please don’t, especially if you’re new to iOS development. You’ll need the fundamentals introduced in this section for later parts of the book, and you’ll miss out on the basics of the all-new SwiftUI.
Checklists
In this section, you’ll build Checklists. As you may have gathered from the name, it’s a TODO app that lets the user create, manage, and track items in one or more lists. Lists are a key part of many apps, and the lessons you’ll learn while building Checklists will serve you well when you start coding your creations.
You’ll make a multi-screen app, which will teach you the concepts of navigating from screen to screen, and sharing information between screens. You’ll see how SwiftUI makes it easy to display lists of data. You’ll also learn about data models (how data is represented in a program) and data persistence (saving data). And finally, you’ll use local notifications to present the user with timely reminders and important messages that appear at the top of the screen. By the end of this section, you’ll be able to write some basic (but useful) productivity apps.
Getting Started with UIKit
In this section, you’ll learn about UIKit, which is an alternative way to build the UI of your app. UIKit has been around since the first iOS and is currently powering all of the existing iOS apps in the App Store. UIKit is the foundation on which most of SwiftUI is built upon.
You’re about to create Bullseye again but this time using UIKit so you can see the differences between using SwiftUI and UIKit. We feel like SwiftUI is the future of iOS development but we truly think a programmer learning iOS you should have a good grasp of both.
You’ll start by creating a basic view to understand how UIKit works, how it places UI elements on the screen and how to interact with them. You’ll also read about the most common design pattern used when building apps using UIKit. You’ll then go on to create Bullseye!
My Locations
With this fourth section and the MyLocations app, you get into Swift programming in earnest.
Sure you’ve already done coding in the previous sections, but this section starts with a good review of all the Swift coding principles you’ve learned so far and added to it by introducing some new concepts, too. In addition to that, you learn about using GPS coordinates, displaying data on maps, and using the iOS image picker to take photos using your camera or to pick existing images from your photo album. There’s a lot of valuable general information on Swift development as well as specific information about building location-aware apps.
Store Search
The final section of the book covers iPad support in more detail via the Store Search app.
Store Search shows you how to have separate custom screens both for specific orientations (landscape vs. portrait) as well as for specific platforms (iPhone vs. iPad). This section covers networking, working with remote API endpoints to fetch data needed by your app, and how to parse the fetched data. If that wasn’t enough, this section also takes you through the full application life cycle — from developing the code, testing it, and all the way to submitting to Apple. So don’t skip this section thinking that you know all about iOS development after the last few sections!