Developing for the iPhone OS: App Store vs. Web Apps

If you're coding for the iPhone or iPad, you have to choose

Apple's App Store approval process has always been a bit controversial because of the level of control the company holds over what types of applications are allowed in. Initially, there were concerns that Apple rejected apps because they duplicated functionality the company already offered or was planning to build into the iPhone OS -- not because the submitted apps wouldn't run according to the company's specifications.

After this winter's purge of apps that could be construed as adult in nature, the controversy ballooned as both developers and consumers objected to Apple imposing its morality on them and limiting free speech. Although Apple argues that the move is to protect children and teens perusing the App Store (a laudable goal), many felt that such protection could be enforced with better parental controls or by creating an 18+ (or even 21+) section of the App Store.

The controversy over Apple's iron-clad control ratcheted up again after the company announced and previewed parts of the iPhone OS 4, which was unveiled in April and will be front and center at this year's Worldwide Developers Conference. In addition to the many new features in the next-generation iPhone OS 4 -- and the opening of many new APIs to developers -- the company also amended its developer agreement to block the use of any software development tools other than Apple's own Xcode. That's what really added fuel to the company's feud with Adobe over Flash.

The decision seemed mainly aimed at Adobe's Flash Packager for iPhone, which allowed applications created in Flash to be converted to native Objective-C code matching the parameters for inclusion in the App Store. However, the ban on cross-compiled apps went beyond Adobe and Flash. RunRev, which had been planning to offer a HyperCard-like development environment for quick and easy app creation, was also left out in the cold.

The end result: Anyone thinking about offering an iPhone app has to decide whether to create a Web-based app or use Apple's development tools, which only run on a Mac, require membership in Apple's iPhone developer program and must adhere to its App Store policies -- policies that sometimes change with little warning.

What's an app developer to do? Read on.

The difference between Web and native apps

Initially, Web apps were the only way for developers to create iPhone-specific applications; they were supported a few months after the iPhone's initial release in 2007. They allowed Web developers to create Web sites specifically formatted for the iPhone's relatively small touch screen. Working with dynamic coding options specific to the iPhone, Web developers could use HTML, CSS and JavaScript to create Web-based applications that mirrored the look and feel of the apps Apple included with the iPhone. Launched alongside the new Web-clip feature that allows users to place bookmarks as icons on the iPhone's home screen, the effect was very much like creating a workable iPhone application -- albeit one that required an Internet connection over Wi-Fi or AT&T's network (which, at the time was limited to the older and slower EDGE network).

Web apps were a stop-gap measure between the original closed iPhone OS and its first major upgrade in 2008, which allowed developers to create third-party apps and introduced the App Store for them to show off their wares. At first, third-party apps were somewhat limited. But with succeeding OS updates, Apple offered more capabilities, and today third-party apps can even access part of the iPhone's core features, such as using the GPS capabilities of the iPhone 3G and 3GS to acquire location information.

1 2 3 Page
FREE Computerworld Insider Guide: IT Certification Study Tips
Join the discussion
Be the first to comment on this article. Our Commenting Policies