Another 3rd-party iPhone SDK: Corona

Corona: Another 3rd-party iPhone development SDK is now open to developers for pre-beta testing.

One thing that sets this SDK apart: The engineers are “former Adobe mobile software veterans” who worked on the mobile Flash ecosystem.

And no, the programming language is not ActionScript or JavaScript, but is Lua – a simple scripting language that should be easy for ActionScript developers to pickup. One thing uncertain to me is whether Corona is generating native Objective-C code from Lua code, or simply interprets the Lua code at runtime (I certainly hope it’s not the latter).

At the moment, there is no public distribution build. The only way to test a project is by using the Corona Simulator that comes with the SDK. Corona is still at its early stage, and the final product is targeting end of Q3 2009.

As Apple has been known to reject apps for unknown reasons, many PhoneGap developers have encountered the most-feared notice that their app is rejected. One possible reason is PhoneGap relies on the Safari JavaScript engine, and JavaScript code is interpreted at runtime, which is not allowed by the Apple SDK agreement.

For me, there are some important questions:

  1. Does Corona generate native Objective-C code or interprets Lua code at runtime?
  2. How much does the final distribution license cost?
  3. How stable is the final code?
  4. Is memory management handled efficiently?

Nevertheless, it is good to see more 3rd-party tools and SDKs for iPhone development.

Update: Today (June 24), this article talks about Corona. “When the developer has his Lua code the way he wants it, he submits it to the Ansca Web site, where it will be compiled into an iPhone application ready to submit to Apple’s App Store.”

Even though it seems to simplify the workflow, this may not be ideal because:

  1. the complete project and code is submitted to Ansca
  2. sounds like the developer does not get any Objective-C code for tweaking
  3. developer is locked into Ansca’s terms for future deployment

Hopefully Ansca would address these concerns in their FAQ or forum soon.

7 thoughts on “Another 3rd-party iPhone SDK: Corona

  1. For me, the real question is, why do people – developers! – continue to support Apple with all these freebies when they’re clearly out of touch with what devs want, regarding the PhoneGap fiasco and everything else?

    You’d think at this point people would be supporting WebOS, Android or any other system that doesn’t treat them like prisoners in a nazi camp.

  2. Hi Dave! Long time … (-;

    Yeah – totally agree with your points.

    I would sincerely hope it’s compiled into Objective-C or C in the runtime. (One would assume performance is at least on a par with the Haxe > iPhone Xcode conversion project that’s going on.)

    Seems like the rendering is all in OpenGL ES rather than using UIKit, but it would be a shame to not have any hooks between Corona and UIKit. And it would be good to have hooks into Cocoa Touch – can’t imagine that the Lua API would provide everything we need. SQLite? XML Parsing?

    Memory management is a huge one for me. I don’t trust a runtime to do memory management on a mobile device, if I don’t have any way to explicitly dealloc. Don’t want or trust a garbage collector. Noel Llopis has a series of really great blog posts on how the memory management scheme on the iPhone is already “no-so-great”(tm). http://gamesfromwithin.com/?p=428 and more … I worry that a black box runtime will make it even more unmanageable for anything slightly more ambitious than the sample apps that Coronoa’s promoting in their gallery. FlashLite is really bad at dealloc-ing images in the Player – Corona seems even more of a black box.

    And the whole submitting Lua app to Ansca for compiling sounds weird. What happen to jd’s mantra of test early, test often, test on all your target machines … (-: Maybe because Corona’s in very early beta.

    Still interesting times ahead with …
    – Cocos2D
    – Haxe for iPhone
    – Corona

    – Ian

  3. @tim – maybe because the platform has over 40 million potential customers …?

    I’d put up with a lot for that.

    PhoneGap is a temporary solution I think. WebKit has enough memory issues/leaks under Cocoa Touch. I wouldn’t want to build an app using that as my core runtime. Maybe under OS4.0 it might be more reliable? (-:

Leave a Reply

Your email address will not be published. Required fields are marked *

nine × 1 =