Now that a beta version of iPhone OS 4.0 and the corresponding developer tools have been released to iPhone developers, there's a new developer license agreement to go along with them. John Gruber of Daring Fireball noticed a drastic change to section 3.3.1 of that agreement, which originally forbid the use of private frameworks -- or application programming interfaces (APIs)--and discouraged developers from using documented, public APIs in manner not approved by Apple. Now, it reads as follows.
[ InfoWorld's Galen Gruman says that Apple is out to kill Flash. | Neil McAllister explains what to expect from HTML5. | Discover what's new in business applications with InfoWorld's Technology: Applications newsletter and Killer Apps blog. ]
With this change, Apple has amended its agreement so that software approved for the App Store has to be written in one of a select few, Apple-approved programming languages, all of which are supported by its Xcode developer tools.
That seems to put the forthcoming Adobe Flash CS5 square in the crosshairs. Flash CS5's Flash Packager for iPhone promised that developers could write applications in Flash and then build them for use on the iPhone OS.
This wasn't just a feature in Flash CS5, this was the flagship feature -- Adobe's foot in the door to enable its wide stable of customers to create content on an extremely successful platform. It would have helped turn Flash into a cross-platform development environment for iPhone software and other platforms, assuming it's actually capable of producing apps that are as snappy and responsive as Xcode's.
But the new terms of 3.3.1 could have far-reaching complications. Extremely fine performance adjustments that can only be made in low-level assembly language appear to be off limits too. It also means that other languages like C# and Scheme are in jeopardy, and the future of cross-platform environments like Unity look uncertain. (In a statement, Unity Technologies CEO David Helgason said the company has a great relationship with Apple and there was no indication that anything would change in their situation.)