Wednesday, May 12, 2010

Information on iphone OS architecture

The iPhone is a line of Internet and multimedia-enabled smartphones designed and marketed by Apple Inc., and released in 2007. An iPhone functions as a camera phone (also including text messaging and visual voicemail), a portable media player (equivalent to a video iPod), and an Internet  client (with e-mail, web browsing, and Wi-Fi connectivity). The user interface is built around the device's multi-touch  screen, including a virtual keyboard rather than a physical one.

The iPhone (and iPod Touch) run an operating system known as iPhone OS. It is based on a variant of the same Darwin operating system core that is found in Mac OS X. Also included is the "Core Animation" software component from Mac OS X v10.5 Leopard.

iPhone OS comprises the operating system and technologies that you use to run applications natively on iPhone touch devices. Although it shares a common heritage and many underlying technologies with Mac OS X, iPhone OS was designed to meet the needs of a mobile environment, where user’s needs are slightly different.

This layering gives you choices when it comes to implementing your code. For example, 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. These interfaces are mostly C-based and include technologies such as Core Foundation, CFNetwork, SQLite, and access to POSIX threads and UNIX sockets among others.

As you move into the upper layers, you find more advanced technologies that use a mixture of C-based and Objective-C based interfaces. For example, the Media layer contains the fundamental technologies used to support 2D and 3D drawing, audio, and video. This layer includes the C-based technologies OpenGL ES, Quartz, and Core Audio. It also contains Core Animation, which is an advanced Objective-C based animation engine.

In the Cocoa Touch layer, most of the technologies use Objective-C. The frameworks at these layers provide the fundamental infrastructure used by your application. For example, 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. Other frameworks at this level give you access to the user’s contact and photo information and to the accelerometers and other hardware features of the device.
iPhone Development
Regarding third party support:

At WWDC 2007  on June 11, 2007 Apple announced that the iPhone would support third-party "web applications" written in Ajax that share the look and feel of the iPhone interface.[147]  On October 17, 2007, Steve Jobs, in an open letter posted to Apple's "Hot News" weblog, announced that a software development kit (SDK) would be made available to third-party developers in February 2008. The iPhone SDK was officially announced on March 6, 2008, at the Apple Town Hall facility.[148]  It allows developers to develop native applications for the iPhone, as well as test them in an "iPhone simulator".

2 comments:

  1. The applications must be written and compiled specifically for the iPhone OS and the ARM architecture.

    Software Development India

    ReplyDelete
  2. Thanks for sharing such useful information. The information provided is very very niche and this information is not available so easily. Therefore I thank the writer for the useful input.


    seo services India

    ReplyDelete