Apple has placed restrictions on its iPhone SDK that bar developers from porting Adobe Flash and Mono applications to the iPhone.
Changes made to the terms of Apple’s iPhone Developer Program License Agreement on April 8 forbid cross-compiled applications. Apple’s decree reduces developer flexibility and potentially weakens competing runtimes or languages, said Al Hilwa, programmer director of applications development software at IDC.
The iPhone SDK’s APIs must now be used in the manner prescribed by Apple, and they cannot call private APIs; applications must be originally written in C, C++, JavaScript or Objective-C, according to the license.
Third parties, including Adobe and Novell, have released tools that translate code for execution on the iPhone. Adobe produces the Flash-to-iPhone cross-compiler, and Novell develops MonoTouch, a tool that brings .NET development to the iPhone.
Novell is reaching out to Apple for clarification on its intentions, and it will advocate for the license agreement to be amended prior to the release of Apple’s iPhone 4.0 SDK this summer, said Joseph Hill, product manager for MonoTouch at Novell. Apple did not return a request for comment.
“While this restriction can be seen in the prism of the Apple and Adobe relationship around Flash, this is not just about Adobe, but potentially a problem for every developer runtime or language that wants to hold on to developers and maintain its longevity,” said Hilwa.
“It is about programmers maintaining their livelihood. Probably even more importantly, it is about the flexibility to evolve computer science and software development.”
Apple’s decision to exert more control over developers could preclude it from evolving its own platforms in the future when new languages or interfaces grow in popularity, Hilwa added.
The impact on some enterprise developers will be immediate, according to Larry O’Brien, a private consultant and author of the “Windows & .NET Watch” column for SD Times. C# development teams that are presently using MonoTouch in their Visual Studio tool chain would find their work prohibited under the new agreement, he explained.
However, O’Brien said that Apple’s restriction might only apply to applications that are deployed in its AppStore, and not to enterprise deployments. Some iPhone applications, including a top-selling “air hockey” game, were developed using MonoTouch, according to Novell vice president Miguel de Icaza.
“Prohibiting inefficient translation layers and libraries is one thing. Prohibiting code generation and higher-level languages is another. One of the showcase apps for the iPad is ‘The Elements,’ whose media, page layout and transitions were largely generated in Mathematica,” O’Brien wrote in his blog.
“Many games use higher-level languages such as Lua to script AI,” he continued. “Logically, one would hope that the legal agreement would be clarified with some form of ‘…except for approved tool chains,’ and figure out how to work with Novell and Appcelerator and, yes, even Adobe.”