I like Corona—both the beer and the SDK. This post is about the Corona SDK from AnscaMobile.
I was reticent to drop the money on it, but now that I am using it, I have to say it is worth every penny. In my last post, I wrote about why I found Flash to be a better solution than Appcelerator (and Phone Gap I imagine as it is very similar to Appcelerator). Now that I’ve used Corona, I find it much superior to Flash for cross-device app development. It is better for Android development because you can publish native apps (not AIR for Android). It is better for iOS, because it doesn’t blow up your app size with an extra layer of logic in order to get it to run.
To use Corona, you write your code in the Lua programming language. As an AS3 developer, I found it to be pretty easy to pick up. Mainly, it is just about learning the syntax differences. One thing I most struggled with is tables/objects/arrays/classes. In Lua, a table is the only data structure mechanism in Lua. So, you can pretty much throw the terms array, class and object out. In Lua, it is all table, all the time. For more about Lua, ActionScript developer/guru Jesse Warden wrote an excellent post on his blog offering a crash course in Lua for Flash devs.