Last year, Apple declared that it had raised limitations on its third-party developer. In the other words, you can now develop iPhone apps for iOS utilizing the Adobe Flash Platform. You heard right: We're really excited to bring this capability to Flash designers and developers-the ability to develop unique apps for the Apple iPhone, iPod touch, and iPad utilizing Adobe AIR included with Adobe Creative Suite CS5.5, Adobe Flash Professional CS5.5, and Adobe Flash Builder 4.5.
It is well known that the Apple iPhone is one of the best selling consumer electronic devices of all time, and the fastest selling cellphone ever. The popularity of the device among developers and consumers developed an increase of currently over 350,000 iOS applications that captured the attention of consumers around the world.
Flash developers express their passion on how eager they were to develop apps for the App Store, so we bought a way to make it easy for our community to bring their knowledge and creative talents there. After looking at the software terms, agreements, and allowable content that Apple permits in the store, we determined that our best option was to provide our developer community with a compiler to help package their AIR application into a native iOS application. (Of course, we made sure we did this in a way that aligned with Apple's legal terms.)
We accomplish that Flash developers can develop iPhone apps by utilizing the Low Level Virtual Machine (LLVM) compiler infrastructure. LLVM is a modular, flexible compiler system that is widely used in a variety of projects. The key reason we choose LLVM is flexible and applicable to iOS development.
We are very happy to develop a new compiler front end which makes LLVM to understand ActionScript 3 and utilize its existing ARM back end to output native ARM assembly code. We give a name: Ahead of Time (AOT) compilation-as opposite to the way Adobe Flash Player and Adobe AIR function on the desktop utilizing Just in Time (JIT) compilation. Because we can compile ActionScript to ARM ahead of time, the application gets all the performance benefits that the JIT would offer and the license compliance of not requiring a runtime in the final application.
By doing the compilation step, we allow developers to create applications utilizing their Flash skills and their knowledge of ActionScript 3. In the process, we also expose the APIs that developers are familiar with so they can not only utilize the ActionScript language but follow the custom app-building model. When you build your application for iOS, there is no interpreted code and no runtime in your final binary. Your application is really a native iOS app.