Cross platform mobile development using LUA

One of the biggest headaches for mobile app developers is the need to support multiple platforms. Although Apple and Google supply free software development kits (SDKs) for developers to download and use, the two operating systems are very different. iOS apps must be developed on a Mac with OS X using Objective C while Android apps can be developed on Windows, OS X or Linux but uses Java.

Trying to maintain two separate versions of an app can be costly and time consuming. The good news is that there are a variety of cross platform SDKs available which allow developers to create one project and produce apps for both iOS and Android. Some of these are free and/or open source and some are commercial.

One of the most popular commercial variants is Corona, a cross platform SDK which allows developers to program in the very easy to learn LUA language. Until recently this SDK costs $350 per year for a license, a cost which some independent developers would find too inhibitive. However CoronaLabs has recently announced that it will release a free version of the SDK, known as Corona SDK Starter, which is fully functional and will allow developers to create working cross platform apps without any hidden fees, nor any obligatory watermarking.

CoronaLabs chose the LUA programming language for its SDK. It is a scripting language but can be easily embedded into other programs. Even though LUA is an interpreted language, it is designed to be fast and comes with a very small footprint – two qualities that are necessary for mobile app development.

The language is also easy to learn, especially for someone with any kind of previous programming experience in languages like Basic, C or Python. LUA is also popular and can be found in lots of unexpected places including in World of Warcraft and in the VLC media player.

The Corona SDK is designed primarily for game developers. Most of the objects on screen are OpenGL objects and there is also a built-in 2D physics engine with support for joints, collisions and variable gravity. Beyond games there is also support for Facebook, sqlite3, cryptography and simple networking.

The SDK includes dozens of example programs and the Corona website contains the full API documentation plus tutorials etc. There is a simulator which allows you to test your programs on a variety of device configurations before needing to actually create an app to test on a real device. This makes development quick as you only need to try the app on a real phone or tablet when it works fully in the simulator.

Any mobile app developer who wants to ease the burden and cost of creating cross platform apps should look at Corona.

Gary Sims is a mobile app developer, technical writer and author.

(Don't worry, we won't spam you)