Why the iPhone makes a great development platform
The iPhone’s popularity has impressed even the most jaded critics and it’s still hard to find the new 3G phones in stock. Here are several reasons that I think the iPhone makes a great development platform.
- Platform consistency - When Apple announced the next generation of the iPhone, some folks were disappointed that the only major changes were the addition of a faster 3G network and GPS. To the contrary, by only adding these two subtle, yet significant features to an already great device they were able to provide a platform improvement without breaking legacy code and confusing their dedicated user base. Developers can easily target not only the original iPhone and iPod Touch, but also the next generations of the iPhone and iPod Touch and users didn’t have to endure a steep learning curve to take advantage of the new features. Windows mobile devices have a long history of platform inconsistency, some of these devices have keyboards, touch screens or use a stylus, and screen resolutions vary widely. All this makes it very difficult to code a single application that would run effectively across the disparity of devices.
- Leverage an existing programming language - By extending Objective C for use on the iPhone, Apple allows numerous Mac developers to extend their craft to the iPhone. This means that with minimal ramp-up time developers who have at least a passing familiarity with C can be up to speed on iPhone development in short order.
- Next generation user input - Touch screens are not in themselves a new input method, they’ve been with us for years. Shrinking them down to a device not much bigger than a deck of playing cards is however quite an accomplishment, but it doesn’t stop there. With the built in accelerometers that allow for tipping and shaking the device and now GPS, the iPhone offers several different methods of next generation user input.
- Consumer adoption will drive enterprise adoption - While the enterprise hasn’t yet seen rapid adoption of the iPhone as their preferred mobile platform, consumers have been flocking to the device in huge numbers. Apple, partnering with Microsoft to provide native support for Exchange, push email and contacts has done a lot to entice enterprise customers. Traditionally the enterprise has gone with either Blackberry or Windows Mobile devices that they can write their own custom applications for, but many companies do so only when they can dictate the specific device that all their employees will use. By targeting a specific device (or at lease a limited number of devices) where the screen resolution, input mode and other specifications will not vary they can produce internal applications for much less than if they had to support a broader range of products. This has been true of internal corporate web sites for years. Most of those sites were specifically designed for a specific browser that was deemed the “corporate standard”. What Apple has done with the iPhone is to provide that standard that corporations can code to. Enterprise adoption might be slow in coming, but it will be coming nonetheless.
– Snake



