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...
Angular 3 will have better tooling and will generate less code; Google also is promising a new major...
Well-tended Python framework offers wide selection of robust algorithms, but no deep learning
Microsoft is building new analytics tools to help companies better manage small and virtual teams
The first rule of help desk: Chill out when the heated support calls come in. The solutions will roll...
The challenger to Git and Subversion emphasizes patches over commits and snapshots for distributed...