Codea breaks the mold

You need to have a desktop to develop mobile apps. BUSTED!!
This is what you would see if this was the Mythbusters show. It was true a while ago that in order for any development you need to have a desktop. Codea was first introduced as an app that allowed for editing and running an app on the iPad. It used lua as the language of choice and based on processing (the open source library) and an amazingly easy to use editor that allowed for features that made development very easy and fun.

It is said that "you can determine the destiny of a person the moment he is born by looking at his feet" (roughly translated) so, when I had my first look at Codify, now called Codea it was a lightbulb moment, WOW, this is it...

It has been a little while since Codea was released, but it was quickly accepted as the platform of choice for prototyping and trying out some lua based code. Many also used it for education, kids found it easy to work with. The burning question in a developers mind was... what do I do with this code? Not being able to publish this code in the form of an app was a bit frustrating.

Simeon, the developer of Codea, from Two lives left has provided an xCode template project that can be used to compile the lua code from Codea to create an app. Now before you diss it thinking oh, whatever, the interesting thing to note is what is it that this 7MB download contains? It contains the lua headers, spritePacks, etc.. that etc is the entire source code of the Codea engine. Simeon had promised to Open Source Codea and this is him standing true to his words. So get it now from GitHub either if you want to have a look at the code or if you want to compile your codea code into an app.

The first app that used this engine and is published as an app on the iTunes store is CargoBot, it is Free and runs on the iPads only. It can be found at

The source code for CargoBots can be download, the compiled app can be download and the entire source code for Codea can be downloaded (called the Codea Runtime).

There is just one point of criticism, that the lua files are not compiled into bytecode and are left as is in plain text, so while it works fine in open source projects, it might not be such a good idea in closed projects, so either there should be some inclusion in the xcode template that the lua files are compiled into bytecode or the developer should compile them while including them into the project to create an app. However compiling the same using luac (the lua compiler) is not that difficult.

This is the first on device IDE that allows for creation of an app from a mobile device. However you need a desktop to compile (only because Apple has a walled garden) It is worth noting that the Android App AIDE was the first app that allows for creating mobile apps from a mobile device. you can write the code on the device, compile on the device and ... best of all even install on the same device. There are no cloud services in play here, it is all done locally on the mobile device. I am sure that Simeon would want to do something like this, but it is Apple's rules that prevent this from happening.

It would be really cool and amazing if an app could be written on an iPad, compiled on the iPad and then installed on the same iPad without running this off a server somewhere over the Internet.

The spritePacks are kind of fixed with the graphics that you can and cannot use, Codea has or will have functionality where a developer can download more spritepacks from a marketplace or Dropbox sharing. Now this is a big step where you can have your own graphics instead of using Daniel Cooks' The Lost Garden - Planet Cute graphics alone.


Popular Posts