
Develop iOS apps from beginner to advanced, mastering Swift, Xcode, interface design, and networking. Build full-stack apps with Firebase, core data, and APIs, including the Slack clone.
Install Xcode from developer.apple.com, manage beta and release versions (Xcode nine and Xcode ten) for iOS 12 features, sign in with your Apple ID, and enjoy Mojave's dark theme.
Learn to enable the Mojave dark theme in Xcode and switch between light and dark modes using macOS system preferences after downloading Mojave from Apple.
Build your very first iOS app with a single view in Xcode, connect a storyboard button to code, and toggle the background between purple and red.
Learn to build your first iOS app by configuring graphics, UI elements, and a sound effect in Hustle Mode using Xcode, Swift, and AVFoundation.
Explore variables as memory-stored containers, learn the assignment operator, and master unary, binary, and ternary operators through Swift examples, grounding you in how apps compute and store data.
Master booleans and conditional logic in Swift 4 to control program flow with true/false values, comparison operators, the not operator, and if-else statements.
Master how constants and variables influence access decisions in Swift 4. Leverage logical operators like and, or, and not to create robust conditionals with if statements and else statements.
Learn how to create and manipulate arrays in Swift, including initialization, appending, removing elements, and understanding zero-based indexing and type consistency.
Explore dictionaries in swift by learning keys and values, adding, updating, and removing items, iterating over pairs, and connecting to json data.
Define a class, assign properties, and implement functions to model real objects, then instantiate multiple object instances to see pass by reference versus pass by value in Swift.
Learn how inheritance lets a subclass inherit features from a parent class, override initializers and methods, and customize behavior in Swift 4 using a vehicle and sports car example.
Learn polymorphism in Swift by defining a shape contract and creating triangle and rectangle subclasses that override calculate area to produce different forms at runtime.
Explore how optionals in Swift 4 function as safe boxes on iOS apps and apply optional binding, nil coalescing, and optional chaining.
Master the basics of version control with Git, making commits and preserving code with backups. Learn push and pull workflows and merge changes across multiple developers to avoid conflicts.
Navigate the terminal with cd and ls to move between folders, list contents, and return to home base, using tab completion to speed up path entry.
Learn terminal basics for project setup: create folders with mkdir, add files with touch, navigate directories, and organize workspaces with a services folder and HTML, CSS, and JavaScript files.
Learn git basics by installing git, initializing a repository, tracking files with git add and commit, and using git log and checkout to manage branches and versions.
Set up a GitHub account and configure SSH and GPG keys to enable secure push and pull of code to a remote server, using key generation and GitHub settings.
Learn to manage local and remote repositories by creating a GitHub repo, cloning it, and pushing changes with git add, commit, and push, while pulling updates to stay in sync.
Learn to handle Git merge conflicts between developers by using a merge tool, resolving file changes, and communicating to keep master up to date.
Demonstrates how frames and coordinates govern view positioning in iOS, shows programmatic arrangement of the swoosh and background, and contrasts manual framing with autolayout and constraints for responsive design.
Master auto layout by defining constraints that relate views to their superview, enabling automatic sizing and positioning across devices while starting with a single screen layout.
Master iOS interface design by using auto layout and stack views to simplify constraints, embed views, adjust axis, distribution, and spacing for responsive layouts across devices.
Learn how to change screens in iOS using segues, including show segue and unwind segue, implemented with control-drag from buttons to next view controllers and a back button method.
Refactor view controller names, organize files into controller and model folders, create league view controller and skill view controller in Xcode. Connect them to the storyboard via the identity inspector.
Learn how to fix set value for undefined key errors by removing stale outlets in Interface Builder, clearing yellow warnings, and ensuring code references match storyboard connections.
Learn to load a segue programmatically from one view controller to another using performSegue(withIdentifier:sender:), and set identifiers to control navigation without interface builder.
Master IB actions and data models by storing selections in a Player struct, enabling the next button via a select league helper, and preparing to pass data between view controllers.
Pass data between view controllers with prepare for segue to hand off a player model from the league view controller to the skill view controller.
Design responsive interfaces with auto layout across iPhone and iPad using size classes and traits to tailor layouts, hide or show elements, and adapt fonts.
Learn to use auto layout and size classes to adapt an iPad interface without breaking the iPhone design, using installed variations, constraints, and stack views for responsive alignment and spacing.
Develop a window shopper app in iOS using Swift, build a reusable currency text field with custom styling and attributed placeholders, and implement Interface Builder to match runtime appearance.
Learn to use IBDesignable and prepare for Interface Builder to see live changes, then create an input accessory view with a programmatically added calculate button for text fields.
Create the wage model and its unit tests to compute hours from price and wage, applying ceiling to round up, and emphasize modular, testable business logic.
implement the remaining ui and app logic to compute hours from wage and price, with outlets, actions, validation, and a currency icon proposal to avoid formatting issues.
Build a coder swag app from scratch by creating an Xcode project, setting up Git, and implementing custom table views with IBOutlets to display data-driven lists.
Create a category data model, supply data through a singleton service, and populate a table view using its data source and delegate with titles and images.
Learn to use a collection view instead of a table view to display a two-column grid of products, with a custom collection view cell containing image, title, and price.
Define a Swift struct Product with title, price, and imageName, then implement a hard-coded data set and a switch-based getter to fetch hats, hoodies, shirts, and digital goods by category.
Learn to wire table view selections to segues, pass category data to a products VC, and populate a collection view with products via a data service.
Describe how model view controller separates data, UI, and logic using a blueprint, a view, and a coordinating controller. Apply MVC by building a small iOS app in practice.
Create a new Xcode project as a single view application and explore the project navigator, app delegate, view controller, storyboard, assets, launch screen, and Info.plist to begin mvc.
Set up an iOS project with groups for model, view, and controller in Xcode, organize with Interface Builder and storyboard, and understand how the view controller displays model data.
Create a model layer by defining an Apple product class with properties name, color, and price, and implement an initializer to build instances for display in the app.
Subclass UIView to make a custom view, override awakeFromNib, and set corner radius, shadow, background color, and border via the layer. Assign the class in storyboard and explore IBDesignable/IBInspectable.
Connect view controllers to labels and a hardcoded model to display Apple product data using outlets, a stack view, and constraints, illustrating the model-view-controller pattern in action.
secure the model layer by converting properties to private and exposing a public getter with a private setter in Swift, ensuring data initialized only within the class.
Model Apple product with name, color, and price in an mvc-driven app; create a Samsung product model and a custom UI label subclass, modifying awakeFromNib and coding a second label.
Explore the accelerometer in iOS apps, learn how to read x, y, z data, and build a simple interface to capture motion and add parallax effects.
Learn to create an Xcode project, design an interface with three labels in a stack view, constrain it to the screen, and wire IB outlets in Interface Builder.
Explore core motion with the motion manager to access accelerometer, gyroscope, magnetometer, and device motion data, and learn how to start and manage motion services.
Learn to handle accelerometer data in iOS with CM Motion Manager, extract x, y, z values, format them with a number formatter, and display them in labels.
Learn to implement a parallax effect with the iPhone’s accelerometer and gyroscopes, moving images in a table view for an interactive user experience.
Set up an Xcode project, convert the main storyboard to a table view controller, and build a parallax image cell with assets and constraints for iOS.
Build a Parallax Cell subclass, connect outlets, and configure it with an image and description in the table view. Prepare arrays of images and names to drive the cells.
Learn to create six image instances from assets, build image and name arrays, and populate a UITableView with a parallax cell showing image and description.
Apply raw accelerometer data to build a custom parallax effect for image views, without motion effects, demonstrating how to translate course lessons into an independent iOS app feature.
Demonstrate using a split view controller for a master-detail app with a table view and image-loaded detail view. Explore rotation and full-screen behavior on devices with different widths.
Create a new Xcode master-detail project, import assets, and set up dummy data with image, names, and colors to power a split view controller driven master and detail interface.
Build the image presentation in a split view controller by adding a full-width, aspect-fill image view, wiring an item image view outlet, and introducing an optional image property.
Pass images from a table view to an image presentation view controller using an index path and a static image array, with a detail segue and row deselection for aesthetics.
Explore an iOS split view app, then tackle three challenges: rename the master label, dynamically adjust cell height on rotation, and build a multi-view settings interface with separate view controllers.
Welcome to the world's most comprehensive course on iOS development. This course is designed like an in-person coding bootcamp to give you the most amount of content and help with the least amount of cost.
NO PRIOR CODING EXPERIENCE REQUIRED
OVER 88 HOURS OF CONTENT
Here are some of the things you'll be able to do after taking this course:
Submit apps to the app store
Understand programming & basic algorithms
Work fluently with Swift & iOS
Apply to jr iOS development jobs
Work as an iOS contractor
Who this course is for:
People who want to build apps
Those who want to create their own startup
Those looking to get a full time job as a developer
Business owners
Students & teenagers
People who want to make money building apps
If you are absolutely new to programming you should start at the beginning of the course and go to the end.
I've designed this course to take you down a guided learning path. Lectures are not broken out by specific topics. You build apps and then learn a ton of principles within those apps. So don't skip around!
If you already know Swift then you can skip the Swift section since the changes in Swift between iOS 11 and 12 are minor
If you've never programmed before, make sure you DO take the Swift lessons. We'll teach you core foundational principles so you can build complex apps.
Don't forget to join the free live community where you can post questions to coding issues
Here are a few things you'll learn:
Swift
Xcode
Interface Builder
Firebase & Cloud Firestore
Build a Slack Clone
Maps & GPS
Core Data
ARKit & Augmented Reality
CoreML & Machine Learning
Tables & Data
APIs, HTTP, and Networking
App Design
Storyboards & Segues
SiriKit
ReplayKit
And a lot more...
NEW ADVANCED TOPICS
After you master the foundational iOS and Swift principles you will want to start taking the advanced sections.
The advanced topics are designed to take your skills to the highest level so you can land your first job.
Some of the advanced topics are:
Mastering protocols & delegates
Diving deep into Swift extensions
Swift data structures
Protocol oriented programming
Reactive programming in Swift
Unit Testing
UI Testing
And more
SOME OF OUR REVIEWS
"Great course so far. Definitely better than codecademy, teamtreehouse and freecodecamp" - Luke
"When you're a beginner deciding that you want to learn to code, it is by far not easy by any means. I have purchased books from iBooks about Swift and while some were better than others, it just doesn't sink in for me like watching this course. The way Mark explains things and his analogies are easy to understand and his teaching style has me genuinely excited about learning to code." - Jay
"amazing course and teachers!
awesome actual stuff here! this course prepares you for real life, and help you to get hired as professional developer. I watched this course and i got development job." - Vladimir
"I am a 15 year old developer who struggled to find comprehensive tutorials online which I could follow without getting confused because there was prior knowledge I did not know. You start from the ground up making this course useful for anyone including beginners and experienced programmers which has boosted my confidence as I know that i have built some complicated apps which shows me that I am capable of building large projects. Thanks :) " - Roel