No one knows what Apple is afraid will happen if a user downloads new software for the emulator without Apple's permission, but it's clear that the SDK requirements forbid developers from adding new features or grabbing new code from the Internet. The company routinely rejects some but not all of the applications that use emulators. (Again, see my personal tale of rejection.)
The companies behind the products in this review are taking different tacks. Rhomobile embraced Apple's goal of thorough testing and stripped out the eval function from the Rhodes implementation of Ruby's interpreter. The company has also worked closely with Apple to make sure that the applications built with its tools can't change their functionality. Rhomobile says it's had no trouble with rejections as a result.
[ Dive deep into mobile 2.0 technology with InfoWorld's "mobile 2.0" PDF special report. ]
Some of the developers using PhoneGap have started campaigning publicly in hopes of getting Apple to understand the advantages in the PhoneGap approach. For instance, read about developer Mike Nachbaur's initial and subsequent dealings with Apple's App Store.
There are counterarguments that frameworks like these speed the approval process by reducing the chances of your inadvertently implementing a user interface that violates Apple's guidelines. Objective C developers often run aground when they try to do something themselves and find that their own solution isn't correct. (See Jared Brown's story, App Rejected, and the Macworld forums for examples.)
Programmers using toolkits like these don't make the same beginner's mistakes. While Objective C is quite a nice language, it's also not clear that it's the right tool for anything but high-performance games. Pointers are dangerous items even in the hands of excellent developers. Memory management and threading can be quite confusing. These toolkits remove many of the land mines from the paths of the developers and save them some grief. The software industry builds layers like these because they make everyone's life easier. Emulators and methods like eval are excellent tools. Apple would do well to open themselves up to a wide range of modern languages.
- iPhone App Store roulette: A tale of rejection
- How to choose a mobile development platform
- A developer's-eye view of smartphone platforms
- The cross-platform option: Web apps for smartphones
- InfoWorld's Deep Dive Report: Mobile 2.0 Tech
- 21 apps Apple doesn't want on your iPhone
- Mobile deathmatch: Palm Pre versus iPhone
- Deathmatch rematch: BlackBerry versus iPhone 3.0
- Mobile deathmatch: BlackBerry vs. iPhone 3.0, side by side
- How much work can you do on an iPhone?
- How much work can you do on a BlackBerry?
- Can you manage an iPhone like a BlackBerry?
- First look: iPhone 3G S is evolution in action
- First look: iPhone OS 3.0 is better for business, but IT won't be satisfied
- Your next iPhone: iPhone 3.0 update or iPhone 3G S?
- iPhone 3.0: An InfoWorld guided tour
- iPhone applications get down to business
Having trouble installing and setting up Win10? You aren’t alone. Here are many of the most common...
It's all about knowing how to build an open source community -- plus experience running applications in...
Win7 Update scans got you fuming? Here’s how to make the most of Microsoft’s 'magic' speed-up patch
Look to these clever open source tools to keep secrets out of source code, identify malicious files,...
From a simple platform for beginners to an expert-level development workbench, there's an IDE for most...
Technology may appear to be smart, but in most cases it merely has great logic. That’s not the same as...
Stop obsessing about the latest overhyped security threats. Delve into your own data about successful...