Cell phone applications are one of the fastest-growing segments of the technology industry, and the iPhone and iPad have been the leaders of this mobile revolution. Developing applications for these platforms opens the door to millions of mobile users. Unfortunately, the many hidden technologies can be overwhelming for newcomers to iOS, and the 1,500+ official help documents available from the iOS Developer Library don’t really provide an approachable introduction to the platform. The goal of iOS Succinctly is to provide a simple, understandable overview of the iOS landscape.
iOS and the iOS SDK
iOS is the operating system that runs the iPhone and iPad. It takes care of the low-level system tasks like managing memory, opening and closing applications, and rendering pixels to the screen. On top of this core operating system rests a collection of frameworks, which are C and Objective-C libraries, providing reusable solutions to common programming problems. For example, the UIKit Framework defines classes for buttons, text fields, and several other user interface components. Instead of implementing your own buttons from the ground up, you can leverage the existing UIButton class.
Together, the core operating system and these higher-level frameworks make up the iOS software development kit (SDK). The goal of the iOS SDK is to help you focus on developing what your application does instead of getting bogged down by how it does it. The SDK is divided into layers based on what level of abstraction they provide.
As a developer, you’ll rarely interact directly with the Core OS layer. Most of the time, you’ll be working with the frameworks in the Cocoa Touch, Media, or Core Services layers and let them handle the low-level operating system tasks for you.
About iOS Succinctly
iOS Succinctly is the second half of a two-part series on iPhone and iPad app development. The first book, Objective-C Succinctly, covered the Objective-C language and the core data structures used by virtually all applications. With this in mind, iOS Succinctly assumes that you’re already comfortable with Objective-C and have at least a basic familiarity with the Xcode integrated development environment (IDE).
This book begins by exploring the basic design patterns behind iOS development. We’ll learn how to create a user interface using a very simple, one-scene application. Then, we’ll expand this knowledge to a more complicated multi-scene application. By this point, you should have a solid grasp of the iOS workflow. The remaining chapters look at common development tasks like accessing files, localizing assets for different audiences, and playing sounds.