It’s finally over! The wait for Apple to push the official iPhone SDK out its doors was almost unbearable, but from what we’re hearing about the SDK and the applications getting some dev-time, it was all more than worth it. Aside from the generous enterprise support, Apple is working to open up the same iPhone APIs that they used to create the original iPhone applications (in other words, the homescreen apps). So, iPhone developers can expect to have access to the same APIs and SDK that Apple’s own dev team has been privy to.
It looks like Xcode will be the development tool of choice and the new version of Xcode will include all of the official iPhone APIs. And, being that the iPhone runs a scaled down version of Mac OS X, Apple is building the development framework around core Mac OS X components – Cocoa Touch, Core Services, Media, CoreOS – including the Mac OS X kernel (which has been tweaked and optimized for the iPhone).
The Core OS includes the kernel, Lib System, BSD TCP/IP, Sockets, Security, Power Management, KeyChain, Certificates, File System, and Bonjour.
The Core Services is composed of Collections, AddressBook, Networking, File access, SQLite, Core Location, Net Services, Threading, Preferences, URL Utilities.
Media brings support for Core Audio, OpenAL, Audio Mixing, Audio Recording, Video Playback, JPG PNG & TIFF, PDF, Quartz (2D), Core Animation, and Open GL ES.
Cocoa Touch enables Multi-Touch Events, Multi-Touch Controls, Accelerometer, View Hierarchy, Localization, Alerts, Web View, People Picker, Image Picker, and Camera.
People Picker allows iPhone applications to access the iPhone’s Address Book, while Picture Picker opens up access to the iPhone’s Photo Library and Camera.
Thanks to InterfaceBuilder, iPhone developers won’t have to do more than drag-and-drop visual elements when creating an application UI. And, with an iPhone Simulator, iPhone developers (the iPhone simulator is Mac-only – go get a MacBook already) can immediately see what their application UI will look like and how it will work. The iPhone Simulator allows the developer to run their application in an iPhone environment in order to test the platform before installing it on an iPhone. Mouse actions will translate as multi-touch inputs.
Once the application is developed, UI designed, and platform tested in the virtual iPhone Simulator environment, developers will be able to debug their application with Remote Debugger. The Remote Debugger allows the developer to connect their iPhone to their computer, run the newly minted application, and monitor in real-time the iPhone’s CPU usage, memory usage, and frame rates – giving the developer greater insight into the application’s impact on the iPhone.
Steve Jobs even demonstrated how easy it was to build and run a new application for the iPhone. A single click takes you from building to running the application. It looks like there’s going to be a whole new wave of iPhone developers out there.
The iPhone SDK is available in beta form for free today. Downloading the SDK is free, but it costs $99 to join the Apple development community – the only way you can publish applications is to join the dev community.
Unfortunately, we’ll have to wait yet again for Apple to release the next iPhone firmware update (iPhone v2.0 – we thought Apple would save the “2.0” moniker for the 3G iPhone) before we can take advantage of iPhone SDK applications and all that sweet enterprise support.