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
You may still be better off sticking with Win7 or Win8.1, given the wide range of ongoing Win10...
Now that we're down to the wire, many upgraders report that the installer hangs. If this happens to...
Based on a technique created by a German blogger, here's how to stop wasting hours checking for Windows...
The swirl of new enterprise tech settled a bit in 2016, leaving a clear framework for the future -- and...
Picking an Android phone can be difficult, but we're here to help. These are the top Android phones you...
What does the future hold for Python, aside from new versions of the language? Let's check the crystal...
Thanks to stalwarts like MySQL, MongoDB, and Cassandra, the database realm has been a haven for open...