Jonathan Beebe, a developer who creates games such as Cavern Drake with his wife and publishes them under the name Beebe Games, says he was attracted to Corona because Lua is much less daunting than the pointers that dominate the C syntax. "When I first came across it, I was about to learn Objective-C," he recalls. He noticed that Lua is very similar to PHP, which he had used before. "It's very easy to transition from PHP to Lua."
Aside from converting existing ActionScript code to Lua, Corona developers have the same challenge of shoehorning a desktop app into the small screens of the smartphones -- often a bigger challenge than porting the app's logic. "The funny thing is because the iPhone has such high resolution, [developers] spent more time updating the graphics and bringing them up to iOS quality," notes Luh.
One of the biggest differences between developing for Flash and Corona is working with libraries. The Flash platform is well established, and there are hundreds of libraries, both commercial and open source, available to programmers who want to do the integration.
Corona, on the other hand, comes with several features that Flash developers using Adobe's tools must get by linking in outside libraries, and Corona's version is often simpler. One example Corona pushes is called "Physics in 5 Lines," a simple project that illustrates how objects can be created and set in motion by setting just a few fields. You can use the techniques to build basic games that employ the simple physics to create a world, then watch it break apart as the objects hit each other. Luh said he's watched developers clone Angry Birds in about a day's work.
Beebe said he's enjoyed working with the physics engine because it's simplified most of the hard slog of creating arcade games that accurately simulate the behavior of two-dimensional objects on Earth. "It's really good," he says. He also notes it's based on the Box2d open source library that offers a continuous physics engine simulating how objects can bounce off each other.
The Corona SDK also offers access to several libraries to dig into the guts of the smartphone, including connecting with the camera, speakers, GPS, and accelerometer. One of the more surprising is a native library for posting updates to Facebook.
Beebe was particularly thankful for the newer library that simplifies in-app purchases. "I've read some pretty detailed horror stories about implementing them in your app," he says. "In Corona, the most complicated part is dealing with iTunes Connect, and that's something everyone has to do regardless of the SDK used. "
The reality of cross-platform mobile app development
One of the big attractions of Adobe's and Ansca's tools is the chance to write the same code for multiple platforms. But the reality is not nearly as attractive as the promise.
Mark Sigal, a co-founder of Unicorn Labs, a developer of mobile applications, says although developers can just choose the Save As menu option, they won't usually be satisfied with the results. "It's like anything else: There's going to be that 10 or 15 percent of the time that you'll spend refining your target," he explains.
Sigal said that the proliferation of Android devices is an especially taxing challenge because there are so many different sizes and versions with slightly different hardware configurations. But using a neutral development platform like Flash or Corona kept that variability manageable, he says: "Effectively we're supporting 22 different targets." Thanks to the tool, "It wasn't a big deal."
This story, "Escape the iOS SDK: Building iPhone (and Android) apps via Flash," was originally published at InfoWorld.com. Follow the latest developments in programming and mobile technology at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.