As it will be too time-consuming to re-read hundreds of pages of documents about iphone when needed, I write this simplified version of Apple doc to highlight the main idea of these articles.
iPhone OS Overview
iPhone OS comprises the operating system and native application technologies.
Mac OS X developers will find many familiar technologies in iPhone OS, but their user’s needs are slightly different, such as the Multi-Touch interface and accelerometer support.
The iPhone SDK contains the code, information, and tools you need to develop, test, run, debug, and tune applications for the iPhone OS.
The Xcode tools provide the basic editing, compilation, debugging environment, the launching point for testing and let you run applications in iPhone simulator.
iPhone OS technology layers
The Core OS and Core Services layers contain the fundamental interfaces for iPhone OS, including those used for accessing files, low-level data types, Bonjour services, network sockets, and so on.
The Media layer contains the fundamental technologies used to support 2D and 3D drawing, audio, and video.
In the Cocoa Touch layer, the Foundation framework provides object-oriented support for collections, file management, network operations, and more.
The UIKit framework provides the visual infrastructure(架构) for your application, including classes for windows, views, controls, and the controllers that manage those objects.
When implementing your code, it is recommended that you start with frameworks in the higher-level layers and fall back on the frameworks in the lower layers as needed.
Additional technologies in iPhone OS, see iPhone OS Technology Overview.
Writing Code for iPhone OS
The iPhone SDK supports the graphically-oriented applications. While running, your application is the only application running on the system. It gives you full access to the underlying system resources.
All of the application’s data is displayed in a single window. This has lead to present your application’s data in an organized manner.
In the event-handling model, iPhone OS introduces the idea of touch events.
Providing a simple layout that highlights the key information the user needs is important.
As you start development, the frameworks you want to use initially are the Foundation and UIKit frameworks. As you refine your application, you should investigate the other frameworks.
Where to Start
Creating applications that do something useful and look nice, you should at a minimum read through orientation articles in the iPhone Dev.
If you are new to iPhone OS, taking the time to understand the basic design patterns and conventions(规范) of iPhone OS.
The basic information that every iPhone developer needs to know is in Cocoa Fundamentals Guide. This document covers the basics of the Objective-C language, the programming conventions, UIKit design patterns and other system frameworks.
Once you understand the basic conventions, you can refer to iPhone Application Programming Guide for specific details on the development process.
This book provides key conceptual and task-based information on how to display a user interface, handle events, take advantage of key iPhone OS features. It also describes the overall development process and explains how to use Xcode to build and run your applications.
In addition to iPhone Application Programming Guide, you should also look through the available sample code. You can use these samples as a starting point for your own applications or you can look at them to learn more about how you use specific features.
Simplified from iPhone DevCenter.