The Impatient Developer's Introduction to iPhone App Development (One day)
This single day introductory course is for experienced developers who are new to iOS app development.
Contact us at inquiries@dimsumthinking.com to book or inquire about this course for your group, company, conference, or public event.
This fast-paced introduction to iOS provides an overview of the four pillars of iOS development: Xcode, Swift, Storyboards, and View Controllers.
We begin by creating a simple project in Xcode, Apple's IDE for developing apps for the iPhone, iPad, Apple Watch, Apple TV, and Mac. We create a simple GUI and connect it to our code.
We use Swift 4 to write our code. This modern language is designed to support safety and clarity. We embrace best practices as we create the code for our simple example.
Every year it seems that Apple adds more flexibility to Storyboards. We see how to use them to support different devices in different orientations as well as to localize the text and allow designers to customize the appearance.
Each scene is supported by a View Controller. We look at the classic MVC pattern and the modern MVVM adaptation as we let View Controllers manage the user's experience.
If you plan on coding along, you need a Mac with the latest version of Xcode installed. You'll work with Xcode projects and the iOS Simulator.
Meet Xcode
Create a new project
Navigators
Inspectors
Console
iOS Simulator
A simple UI
The Storyboard
Initial Scene
Libraries
Buttons and labels
Attribute Inspector
Constraints, Autolayout, and Stack Views
Outlets and Actions
Create and configure an outlet and outlet collection
Use the outlet and outlet collection
Create and configure multiple actions
Connection Inspector
Implement the actions
Communication
Model View Controller
Understanding View Controllers
Breaking up View Controllers
MVVM
Notifications
Passing closures
Simple Models
Custom UI
View Subclasses
Targeting multiple devices
Device specific layouts
Creating and using designables
Inspectable properties
One App with Two Scenes
Add view controller to storyboard
Configure the second scene
Create a button to trigger the segue
Connect Segue from first to second scene
Implement prepareForSegue()
Create Unwind Segues
Pass information back and forth