December 29th 2009 | Jens C Brynildsen
So you had planned spending the holiday checking out Flash CS5 and now feel at a loss with what to toy with during the holidays? Here's some alternative ways of authoring iPhone, Android, Symbian and Windows Mobile applications.
While Adobe dropped the ball on the CS5 beta, there are other options if you want to play with mobile devices during the holidays. Corona allows you to create iPhone apps and soon also Android. Open Plug allows you to target Windows Mobile and Symbian phones and soon also iPhone and Android. Both tools compile to native code and run at "native" speeds and they're much easier to get started with than Apple's Xcode and ObjectiveC.
This toolkit is not yet released, but they are accepting Beta applications. The development process sounds really appealing to Flex developers. Just author your app in Flex 3/Flash Builder using their mobile friendly version of the Flex framework. Then, export directly to the mobile platform you want (iPhone, Android, Symbian, Windows Mobile and RTOS systems).
The Open Plug API offers features such as making voice calls, accessing the phone's address book/calendar/contacts, sending SMS or MMS, taking snapshots or videos with the camera, GPS support and more. Whereas Flash CS5 will generate signed binary files ready for distribution, Open Plug will generate native C/C++ code from your MXML and Actionscript. This will allow you to simulate your app in Apple's iphone simulator and add manual tweaks, but it'll also make you use Apple's cumbersome deployment procedure so that's dual edged sword. Your Flex components will be replaced by native components, so your iPhone app will look like other iPhone apps. This is generally a good thing and if you don't want that, you can work around it.
We've not yet played with Open Plug and they do use a lot of superlatives such as "unforeseen performance" but we guess their history speaks for them. Open-Plug’s Mobile SDK has been around since 2004 and this is the third iteration of their product Elips Studio.
This toolkit is developed by Ansca Mobile, a company started by two former Adobe employees. Corona aims to be as easy to use as Flash once was. Simple commands do advanced things on the device and while only iPhone is available right now, Ansca has indicated that they will support more platforms than just the iPhone (read Android)
Corona development is done using the programming language Lua a fully featured and fast language that Corona offers iPhone SDKs for. Using Lua, you can make advanced iPhone apps with a base filesize of only 300Kb. The Corona API lets you read and write files, control and display sprites, text, buttons, sounds and animation (named MovieClips), respond to device events such as rotation and gestures, use audio/video/camera, open URLs/streams/alerts/phone numbers and more. Ansca is also working on integrating GPS and keyboard input for a complete experience.
The SDK comes complete with a device emulator but to deploy to your iPhone or the App store, you'll need to join the iPhone Developer Program. Corona also requires that you download and install XCode and you'll also need a good text editor with Lua support such as the excellent TextWrangler. We've played around with Corona/Lua a little and it's very enjoyable. A 30 day trial version of the Corona SDK is available and a commercial license is only $99.
Lastly, we should add that if you want to create iPhone games, check out Unity Iphone that also compiles to native iPhone code and is probably THE iPhone solution for 3D games.
Did we forget something? Add it in the comments.