This 5-day course covers fundamentals you need to build modern iOS applications. You’ll get to know Swift programming principles and learn to create appealing user interfaces with SwiftUI, Apple’s latest UI framework. The course takes you through the full development cycle – from basic Swift syntax to writing your first app. We’ll explore the Xcode development environment, dive into interface design principles, and tackle common architectural patterns used in production apps.
Throughout the week, you’ll work on increasingly complex topics, applying what you’ve learned to solve real development challenges. By day 5, you’ll complete a fully functional network-enabled iOS app that you can add to your portfolio.
This course strikes a balance between theory and hands-on coding. We’ve designed it specifically for developers who want to add iOS to their skillset, whether you’re a professional programmer branching into mobile development or a computer science graduate looking to specialize in iOS.
We provide the course in English.
The course is runs for 5 days, 7 hours per day and is divided into two major sections: Introduction to Swift language and SwiftUI basics, run consecutively
Course outline is as follows:
Day 1 – Introduction to Swift
Introduction to Swift and Playgrounds
-
Types, Constants, Variables and Tuples
-
Operators
-
Strings
-
Control flow
-
Functions and closures
-
Optionals
-
Scope
Day 2 – Introduction to Swift
-
Collections
-
Loops
-
Structures
-
Classes and inheritance
-
Value types and reference types
-
Enumerations
-
Type Casting and Inspection
-
Functional programming
Day 3 – Introduction to Swift
-
Type Extensions
-
Protocols, protocol extensions and default implementations
-
Generics
-
Result and Error handling
-
Codable, JSON and persisting data
-
Networking
Day 4 – Xcode IDE
-
Introduction to Xcode, workflows and UI
-
Organizing project elements
-
Building, running and debugging projects in simulator
Day 4 (ctd.) – SwiftUI Basics
-
Declarative UI concepts
-
Basic views and common modifiers
-
Stacks, layouts, alignment and spacing
-
State and data binding
-
Basic lists and screen navigation
-
Simple forms and validation
Day 5 – SwiftUI Basics
-
Building custom reusable views
-
Handling various user input types
-
Advanced state management
-
MVVM pattern basics
-
Animation in SwiftUI
-
Displaying dynamic data from web in SwiftUI