Whether you want to learn to use an iPhone or iPad, build an iOS app, or incorporate the iPad in the classroom, our iOS training standards & procedures can help you confidently use iOS, the operating system for Apple mobile devices.
iOS stands apart from most other mobile operating systems in that both its software and hardware are controlled by Apple. For this reason, it has a tight integration of front end and back end components that is arguably unmatched. We'll look at Apple's design considerations, the Cocoa Touch framework, and various UI components that are specific to iOS. Some of the key features of the iOS platform include:
iOS is Apple’s proprietary operating system that runs on the iPhone, iPod Touch, and iPad. Built for multi-touch interaction, all user input in iOS is through touch gesturing, a technology that Apple has pioneered. Through the use of actions such as swiping, pulling, pinching, and tapping, users are put in a fluid, intuitive landscape. Many of Apple’s devices house gyroscopes and accelerometers, which allows users to change the orientation of applications as well as directly control by simply tilting the devices.
Mac OS X acts as the parent software for iOS, as it shares the Darwin operating system foundation, making it characteristically a UNIX operating system. There are four abstraction layers, ways of hiding the implementation details of a particular set of functionality, within iOS: the Core OS layer, Core Services layer, the Media layer, and the Cocoa Touch layer.
The overall trend of the operating system has given greater control to developers. There was no SDK (software development kit) for building native apps until iPhone OS 2.0, and at that point it was rather limited. iPhone OS 3.0 saw tremendous improvements, giving developers new abilities such as Core Location and Push Notifications. Finally, iOS 4.0 saw the introduction of multitasking, though in practice it asks more like app switching.
The App Store, one of Apple’s native applications found within iOS, is one of the biggest mobile marketplaces in the world. As of January 2011, there are 400,000 apps in the App Store, and users have downloaded over 10 billion of these programs. While these numbers sound great, it makes it exponentially more difficult for your app to be noticed. However, if it does get noticed, the chances of it paying off are greater. Developers receive a 70 percent cut of whatever they choose to charge customers for their apps, with the other 30 percent going to Apple.
Core OS Layer is the closest to the iPhone Hardware, which is the Mach BSD Unix Kernel which is full multitasking unix kernel. this layer gives us lots of things like Sockets, Security, Networking, File System and so on. Most of these APIs are C APIs and not Object Oriented. We won’t be programming at this layer very much.
Core Services Layer is above the Core OS layer and it starts to be more object oriented. This layer provides lots of same services as the layer below (Core OS) but with Object Oriented APIs. For Example, Networking and Sockets. we also have some APIs for Threading, Address Book, Collections (Arrays, Dictionary etc.) at Core Services layer. Think of this is like a mostly object oriented layer which provides basic functionalities and covering that Core OS.
Media Layer is next layer up away from the iPhone Hardware. Remember that iPhone, iPad, iPod all are fundamentally Multimedia devices. So multimedia code runs throughout the iOS, its everywhere.So mostly API that you see above Core Services layer is built by thinking designers mind.
Cocoa Touch Layer is the one where we spend our 90% of the time while developing iPhone Development. This is where all our Buttons, Sliders, Views, Navigation Mechanism, Alerts, Camera, Photo Library etc., This is entirely Object Oriented and follows a design paradigm which we will learn when we start developing our first application for iPhone.