iOS 10 Application Development for iPhone and iPad Using Swift

Networking/Server/Operating Systems
Schedules
Optional
  IT Online Library (1 Year Subscription - $1595.00)
Quantity
If quantity is more than 1, Please add all Attendees' Names /Voucher #/ Learning Credit below separated with a comma. If not specified, we will contact you prior to the class start date. Special Instructions
Overview

This 5-day iOS 10 Application Development for iPhone and iPad Using Swift training class course teaches attendees how to build iOS 10 native applications for iPhone and iPad using the Swift programming language (version 3) and Apple's Xcode IDE (version 8).

 

Goals
  1. Develop a thorough understanding of the Swift programming language.
  2. Understand iOS application development architecture.
  3. Gain familiarity with Xcode and other Apple development tools.
  4. Design app UIs using storyboards.
  5. Build a network connected app.
  6. Use best practices for targeting both iPhone and iPad devices.

Outline
  1. Introduction
    1. iOS Devices
    2. iOS Operating System
    3. Programming Languages
    4. Xcode and Other Tools
    5. iOS SDK
    6. Apple Developer Program

  2. Swift Fundamentals
    1. Introduction
    2. Playgrounds
    3. Statements
    4. Constants and Variables
    5. Basic Types
    6. Conditionals and Loops
    7. Optionals
    8. Functions
    9. User Defined Types
    10. Automatic Reference Counting (ARC)

  3. Unit Testing
    1. Introduction
    2. XCTest Framework
    3. Xcode Service

  4. iOS App Architecture
    1. Introduction
    2. Model-View-Controller (MVC)
    3. View Controllers
    4. Storyboards
    5. Outlets
    6. Actions

  5. Auto Layout
    1. Introduction
    2. Autoresizing Masks
    3. Constraints
    4. Insufficient Constraints
    5. Misplaced Views
    6. Conflicting Constraints
    7. Content Hugging and Compression Resistance
    8. Variations

  6. More Swift
    1. Computed Properties
    2. Property Observers
    3. Inheritance
    4. Access Control
    5. Type Casting
    6. Initialization
    7. Deinitialization
    8. Collections

  7. Storyboards
    1. Scenes
    2. Segues
    3. Moving Data Between Controllers
    4. Navigation Controller

  8. Protocols
    1. Introduction
    2. Optional Members
    3. Loose Coupling

  9. Table Views
    1. Introduction
    2. Styles
    3. Data Sources and Delegates

  10. More Swift
    1. Extensions
    2. Function Types
    3. Closures

  11. Error Handling
    1. Introduction
    2. Representing and Throwing Errors
    3. Handling Errors
    4. Cleanup Actions
    5. Guards

  12. Networking
    1. URL Loading System
    2. NSURLSession
    3. Asynchronous Downloads
    4. Strings and Images
    5. JSON
    6. Multithreading

  13. Local Storage
    1. User Defaults
    2. Sandboxing
    3. Working with Files
    4. Archiving
    5. SQLite
    6. Core Data

  14. Multitouch, Taps, and Gestures
    1. Introduction
    2. Touches
    3. Taps
    4. Notification Methods
    5. Gesture Recognizers

  15. Drawing
    1. Core Graphics and Quartz 2D
    2. Points, Coordinates, and Pixels
    3. Graphics Context

  16. Animation
    1. Core Animation
    2. UIView Core Animation Blocks
    3. Animation Curves
    4. Transformations

  17. App States
    1. Introduction
    2. Best Practices
    3. States
    4. Lifecycle
    5. Moving to the Background
    6. Memory Usage
    7. Background Execution

  18. Notifications
    1. Local Notifications
    2. Push Notifications

  19. Core Location Framework
    1. Basics
    2. Location Accuracy
    3. Distance Filter
    4. Calculating Distances
    5. Compass
    6. MapKit

  20. Localization
    1. Introduction
    2. Resources
    3. Language and Region
    4. Locale
    5. Text, Dates, and Numbers

  21. Running on a Physical Device
    1. Introduction
    2. Project Configuration
    3. Launching an App

  22. Performance and Power Optimization
    1. Introduction
    2. Measuring Performance
    3. Responsiveness
    4. Memory Usage
    5. Networking

  23. Deployment
    1. Icons and Launch Images
    2. Archiving
    3. Distribution
    4. iTunes Connect

  24. Conclusion

Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

 

Class Prerequisites

Experience in the following is required for this Mobile Apps class:

  • Experience with an object-oriented programming language such as Java, Objective-C, C#, or C++.
  • Familiarity with using OS X and an iOS-based device.

Preparing for Class
  • Onsite: Course Setup
  • Live Online: Course Setup | WebEx Setup