Getting started
with iOS

Learn to develop native apps on the world's premier mobile platform.

Developers have a choice of two programming languages in which to develop iOS apps: Objective-C or Swift. Apple has made it incredibly easy to mix the two languages in a single project, so they're not mutually exclusive. Swift provides greater safety and more modern features, while Objective-C provides a mature, stable environment with a tremendous ecosystem.

iOS Courses

Individual Courses

Bundled Courses

7 Days

7 Days

Objective-C programming language

Objective-C

Objective-C is a powerful, dynamic, C-based object-oriented language. It's the language in which nearly all of Apple's iOS frameworks are written. Objective-C's dynamism was instrumental in the development of the Cocoa user interface, which was originally developed as part of the NeXTSTEP operating system.

A solid understanding of Objective-C can be instrumental to understanding many critical aspects of iOS development. Our fast-paced, 2-day Objective-C Programming class will help you gain meaningful insight, along with hands-on facility.

Swift programming language

Swift

Swift is a modern programming language offering a hybrid of object-oriented and functional programming approaches. It's designed to be safe, fast, and concise.

Our 2-day Swift Programming class is a great way to get off to a quick start. And don't forget to read Apple's Swift Programming Guide. For teams and individual developers who are already conversant with iOS development in Objective-C, our Transitioning to Swift course is the best bet for quickly getting comfortable using Swift in the context of day-to-day iOS development.

Learn More About Swift
Bridging to Objective-C

Bridging to Objective-C

Swift provides bridged support of other languages that allows you to easily work with C library and Objective-C framework APIs in ordinary Swift code. The bridging mechanism includes an open API that allows you to bridge to other programming languages as needed.

Swift language bridging

Open Source

Objective-C and Swift are both in open source. The Swift community is hosted on Swift.org, and source code, documentation, and other artifacts are publicly available on GitHub.

Xcode

Xcode is Apple's best-in-class IDE. You can use it to develop software on any or all of Apple's platforms. Taking our iOS Development in Swift or iOS Development in Objective-C course is a great way to gain hands-on familiarity and learn great techniques for working with with Xcode.

Xcode project icon
An Xcode workspace

Projects and Workspaces

At it's heart, Xcode is a build system. You can use it define workspaces that house multiple related projects. Within any given project you can define multiple build targets. For example, a project might contain a one target for building a framework, and another to build an app that consumes the framework, as well as test targets for building unit tests and UI (functional) tests.

Interface Builder

Interface Builder is a visual tool for developing your app's user interface. While many other platforms offer tools with a similar purpose, IB is unique in its approach. Instead of generating code from a visual mockup of a user interface, IB allows you to create and edit actual UI objects, which it then stores in serialized archive files (nib files or storyboards). That means there's no code required to develop most of your app's user interface. And less code means less risk.

Interface Builder

Frameworks

iOS includes a rich set of development frameworks written in C and Objective-C. Our training courses focus on the ones used commonly in all projects, but on request we can provide coverage of other frameworks of interest.

Foundation Framework

The Foundation Framework

Foundational Objective-C classes, C functions, and data structures. Contains powerful, and highly valuable mechanisms such as Key-Value Coding, Notification Centers, Operation Queues, and more.

UIKit user interface
UIKit Framework

The UIKit Framework

The heart of all native iOS apps. Provides a rich set of view and controller classes to manage user interfaces, as well as a powerful auto layout system to enable user interfaces to dynamically adapt to changes in rotation and form factor. For example, iPad now supports split screen apps that allow a user to dynamically resize the area in which an app presents its UI.

Depending on your language preference, either iOS Development in Swift or iOS Development in Objective-C would be a great way to get a solid grounding in UIKit development.

Core Data Framework

The Core Data Framework

The Core Data framework includes a visual data modeling tool that allows you to develop and maintain your app's model layer. It also provides a rich controller layer to automate storage and retrieval, and to integrate model layer components with UIKit views.

Our Advanced iOS Development course covers Core Data in depth, as well as other advanced topics such as concurrency, using Foundation's URL Loading System to work with REST services, and working with UIKit's UIAppearance API to globally manage your app's visual appearance.

Core Animation Framework

Core Graphics and Core Animation

Core Graphics provides access to the iOS platform's Quartz 2-D drawing system, while Core Animation is a framework for 2-D and 3-D animations.

Our iOS Development in Swift and iOS Development in Objective-C courses incorporate a hands-on introduction to Core Graphics and Core Animation.

How we can help

If you're new to
iOS development

The best way to get started is to take one of our 7-day iOS comprehensives. If you know you'll be working primarily with Objective-C, take iOS Development in Objective-C: Comprehensive. Otherwise, we recommend taking our iOS Development in Swift Comprehensive. If you're unable to attend one of our classes, another way to get an introduction to iOS development is to work your way through Stanford University's CS193p course, available on iTunes.

If you're an iOS developer
transitioning to Swift

For Objective-C developers with experience in iOS development, our Transitioning to Swift course is a great way to get up to speed quickly. You'll not only learn Swift fundamentals, but gain hands-on experience working with Cocoa APIs in Swift.

If you're an iOS developer
looking to enhance your skills

If you have at least six months of iOS development experience, accelerate your progress by taking our Advanced iOS Development course. The course covers accessing REST services with the URL Loading System, managing concurrency with Grand Central Dispatch and NSOperation/NSOperationQueue, working with Core Data, globally controlling your app's visual appearance with the UIAppearance API, and techniques for controller layer design to streamline maintenance and promote reuse.

Our Instructors

Our instructors have deep experience on Apple platforms, going back as far as 25 years to the early days of the NeXTSTEP operating system, which later served as the basis for iOS. All are highly accomplished enterprise developers with years of real-world experience, and they love to share great techniques they've gleaned from years in the trenches.

Learn More

Our Commitment to the Platform

About Objects has a deep history on the iOS platform. We began developing iOS apps and training courses before the App Store first opened for business. And prior to that, our founders had spent nearly a decade developing mission-critical enterprise apps for Fortune 500 companies in Objective-C on the NeXT platform.

Resources

About Objects Training on Github

Example Xcode projects and lab exercise solution code from About Objects training courses.

Swift Open Source Project

Home of the Swift open source project.

Programming with Objective-C

Apple's definitive guide to programming in the Objective-C language.

Foundation Framework Reference

The official Foundation framework reference documentation.

UIKit Framework Reference

The official UIKit framework reference documentation.

Cocoa Core Competencies

Apple's definitive guide to programming in the Objective-C language.

CS193p: Developing Applications for iOS

Videos of Stanford University's iOS development course lectures on iTunes, complete with handouts and sample Xcode projects.

Apple's WWDC 2017 Videos

Videos of all the presentations from WWDC 2017.