The release of iOS 5 to the development community richly expands their mobile platform APIs, providing an even greater bag of tools with which to build rich mobile applications. The most notable expansion is the iCloud storage APIs. Apple is spreading iCloud storage to their entire domain of computing platforms. iOS 5 devices are capable of completing an initial power-on without tethering to a PC or Mac. Integration with iCloud and over the air deployment of media creates an eco-system that allows the iPod, iPad, and iPhone devices to be fully functional without ever being connected to a traditional PC or laptop.
iCloud provides a remote data storage mechanism for all iOS devices. Piggybacked on the deprecated MobileMe service, it expands wireless backup of an application's data folders to third-party applications. In addition, individual documents or key value can be written directly from the application. The data can then be pushed wirelessly to all iOS 5 devices registered to the user.
The Notification Center provides users with a better way to manage push notifications. It integrates with current applications to provide a centralized location to view notifications from all apps running on the device. To streamline the development process, app provisioning for push notifications has been built into the new release of Xcode.
Automatic Reference Counting
The underlying plumbing of every iOS application gets a major revamp with reference counting. When Apple switched to the LLVM compiler, the subtle optimizations were not obvious to the general developer. The first blaring improvement for developers appears in the iOS 5 SDK. The compiler will now handle memory allocation and de-allocation. This removes the need for release and retain statements and simplifies memory management for the application developer. As applications grow in complexity and size, the move to automated memory management will inevitably increase speed and reliability.
The initial set of application interfaces for screen mirroring was lackluster at best. It required the application developer to implement a cumbersome API, displayed with poor refresh rates, and took countless lines of code to mirror the entire screen. The new AirPlay APIs looks to level all of those hurdles. Screen mirroring is automatic and requires no additional lines of code. If full mirroring isn't desired, developers can still control the entire content area of the external display. The AirPlay APIs take it one step further by enabling streaming to Apple TVs. The stream is encrypted and provides the means to wireless stream content to an HDTV or projector.
More than 1500 new APIs
Advancement of the development platform includes improvements to most of the tent poles introduced in the last major release of the iOS SDK. Game Center gets improved support for turn-based games. The APIs will help developers facilitate turns by utilizing push notifications and the computing power at Apple's data center. OpenGL also gets wider acceptance with the inclusion of the GLKit framework. GLKit is there to help developers take advantage of design practices and hardware accelerated libraries. Location services get updated APIs and improved toolkit support with the new iPhone simulator, allowing manual configuration of current latitude and longitude. Perhaps the newest tent-pole to Apple's iOS SDK is iMessage. This service synchronizes a message conversation over all iOS 5 devices for the user and exposes APIs for starting individual or group conversations from within any application.