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...
Win7 Update scans got you fuming? Here’s how to make the most of Microsoft’s 'magic' speed-up patch
Picking an Android phone can be difficult, but we're here to help. These are the top Android phones you...
Confidence in our power over machines also makes us guilty of hoping to bend reality to our code
Developers shouldn't use JSON Web Tokens or JSON Web Encryption in their applications at all, lest...
Oracle's Bob Weiler weighs in on his company's SaaS-centric enterprise cloud strategy and the long,...
The Neurala Developers Program uses C++ for building smart apps and doesn't require developers to...