Using Adobe Flash Professional CS5 to build iPhone Native App
October 6, 2009 § Leave a comment
Adobe just announces that Flash Professional CS5 will enable developers to build iPhone app using ActionScript 3. Few iphone apps that have been built using a prerelease version of Flash Professional CS5 are available to download from the Apple App Store.
ActionScript code on iphone native app can be reused across the Flash Platform runtimes – Adobe AIR and Flash Player.
At present Flash Player uses a just-in-time compiler and virtual machine within a browser plug-in to play back content on websites. Flash Player is currently not allowed on iphone.
iPhone applications built with Flash Platform tools are compiled into standard, native iPhone executable packages and there is no runtime interpreter that could be used to run ActionScript bytecode within the application.
Adobe compiles the SWF to a native application using LLVM. There is no requirement for the Flash Player / Adobe AIR Runtime to be installed on the device or included in the application. The end result is a native iPhone application.
Low Level Virtual Machine (LLVM) is a modular, flexible compiler system. A new compiler front end allowed LLVM to understand ActionScript 3 and used its existing ARM back end to output native ARM assembly code. This is Ahead of Time (AOT) compilation—in contrast to the way Adobe Flash Player and Adobe AIR function on the desktop using Just in Time (JIT) compilation.
There is no interpreted code and no runtime in your final binary. Your application is truly a native iPhone app. Developers are allowed to access AIR 2.0 and Flash Player 10.1 APIs:
- Remote Shared Objects
- Filesystem Access
Flash CS5 will work on both PC & Mac. However, you must join the iPhone Developer Program with iPhone developer certificate, mobile provisioning profiles.
ActionScript 3 based content is supported. ActionScript 1 and 2 is not supported and will not work. ActionScript in the SWF will be ignored (as there is no virtual machine to interpret the code). The Flash Player API set available is based on the core Flash Runtime used in Flash Player 10 and Adobe AIR 2.0.
Developers should re-factor the design and interactions of the content in order to provide a user experience tailored to the smaller form factor and different interaction models of the device.
- Embedded HTML content (via webkit in Adobe AIR).
- Dynamically loading SWFs that contain ActionScript
- PixelBender Filters
- Microphone Access
- Video Camera Access
- Screen Orientation
- Saving images to Photo Library
- Cut / Copy / Paste
Adobe doesn’t recommend to use desktop Flex Framework to deploy iphone app. The Flex framework is currently optimized for execution in a desktop environment. The performance, UI, and interaction models have not been optimized for mobile devices. Adobe is working on a mobile Flex Framework that design for iphone.
A good baseline font to use is Helvetica at 14pts.
You can also specify the following font types, which will map to the fonts specified:
- _sans : Helvetica
- _serif : Times New Roman
- _typewriter : Courier New
The following device fonts are also available within your content:
- Sans-serif : Helvetica, Arial, Verdana, Trebuchet, Tahoma
- Serif : Times New Roman, Georgia
- Fixed-width : Courier New, Courier