Monday, February 28, 2011

Develop cross-platform iPhone and Android games with Corona Mobile Development Platform

Corona SDK is a mobile development framework by Ansca Mobile (established by a team of former Adobe mobile engineers) for creating high-performance, multimedia rich mobile applications and games for the iPhone, iPad, and Android.

Corona SDK uses Lua programming language. Although this is a new language to most application developers, I can assure you that this scripting language is pretty easy to learn and master, much easier than Objective-C, C++ and even Java.

One of the success stories of mobile application developed with Corona SDK is that: a 14 years old kid from Utah, Robert Nay, has developed a popular games with Corona SDK called Bubble Ball, and uploaded it to iTunes App Store. Within a very short period of time, this game has attracted millions of download, outshining the famous Angry Birds games.

The Corona SDK contains an integrated simulator for iPhone, iPad and Android. It also comes with a debugger, and a rapidly growing library of APIs and sample codes. It is integrated with Box2D physics engine, make it easy for games development. It can also take care of different screen size and resolution of mobile devices, and scale the application display accordingly.

Corona SDK is available for Mac OS X and Windows (still beta). It is free for trial during development stage. However, you'll need to pay for the annual Corona SDK Subscription in order to distribute and/or sell your mobile apps developed with it.

You might probably also be interested to read about:

Sunday, February 27, 2011

Coding cross-platform iPhone, iPad and Android mobile applications in Javascript

Talking about mobile application development, most of us will think about Objective-C for iPhone/iPad and Java for Android devices.

Well, there are at least 2 ways we can produce cross-platform iPhone, iPad and Android mobile applications in Javascript.

One is by using the open source PhoneGap mobile framework by Nitobi Software, which is basically a wrapper that runs your mobile application via the webview browser object and provides some access to native APIs of the mobile platform. The trade-off of using PhoneGap including: slower application runtime, limited access to OS and hardware APIs, web-like user interface (compared with native user interface), etc.

Another way is by using the open source Appcelerator Titanium Mobile development platform, which will compile your Javascript codes into native iPhone, iPad and/or Android mobile application. As a result, the mobile apps developed with Titanium Mobile will have almost the same runtime speed with native apps developed in Objective-C (for iPhone/iPad) and Java (Android SDK).

You will need an Apple Macintosh computer (with Apple iPhone SDK installed) to build iPhone applications with Titanium. You can build Android applications in Apple Mac, Windows or Linux computer, with the Android SDK and emulators installed. This also means that if you are using Titanium in a Mac, it is possible for you to develop cross-platform mobile applications for both iPhone and Android using the same code base.

One of the beauty of Titanium is that it has a rich library of APIs of 30+ modules, 80+ objects, 800+ methods and 2800+ properties  (and still expanding) which enables developers to get the most out of the mobile resources, including resources from Internet such as the Facebook APIs, Yahoo APIs, etc. It even made available a Kitchen Sink demo program, which showcases majority of its available APIs.


Mobile apps developed with Titanium including Sugar Mobile by SugarCRM, eBay Corporate by eBay, GetGlue by AdaptiveBlue, etc.

You might probably also be interested to read about:

Now it is possible to develop Desktop applications (Windows, Linux, Mac OS X) with web programming language (Javascript, HTML, CSS, PHP, Python, Ruby)

For decades, programming for Desktop applications running in Windows, Linux or Mac OS X is a different world from programming for Web applications (LAMP, Django, ASP.Net, etc.).

Developers from the Java world, and the Adobe Flash world, might argue that their development platform can go across Desktop as well as Web application development, and even Mobile application development too. That's true, but the application developed with Java or Flash will have trade-off in performance compared with native applications. There is also limited support to OS level controls, interfaces and functionalities as well.

If you are a Web developer familiar with languages such as Javascript, HTML, CSS, PHP, Python and/or Ruby, have you ever though of using your favourite web programming languages to develop desktop applications that run on Windows, Linux and/or Mac OS X?

Appcelerator Inc. has put their endeavours to make this dream come to reality with their open source rapid application development (RAD) platform called Appcelerator Titanium Desktop. In fact, you can also build cross-platform applications that run on these 3 different OS platforms, compiled from a single code-base.


Titanium platform is a similar product in a number of ways with Adobe AIR. For web developers, its main advantage is that you don't need to learn a new language like Flash or ActionScript, as you can leverage on your existing knowledge in Javascript, HTML, CSS, PHP, Python and/or Ruby. In addition, Titanium provides access to native OS controls, as well as numerous APIs for you to work with.

The Titanium Developer tool itself has separate build for installation on Windows, Linux and Mac OS X. This means regardless you are using Windows, Linux or Mac OS X, you can develop applications with Titanium in your favourite OS platform, and even develop for another OS, such as developing Linux applications in your Windows computer.

This is what they claimed: "Flaunt your geek cred with Linux applications, go mainstream with Windows, get hip with OS X, or do all three from one code base. Titanium apps take up to 1/10th the memory of Adobe AIR apps and have complete access to the local system. "

Sounds promissing? Well, Titanium is still a relatively new product, and you might hit some bugs or flaws when using it. It has been improving from version to version, and its community base is growing.

In fact, Appcelerator Titanium is more popular being a cross-platform RAD for mobile application development (iPhone, iPAD, Android, etc.)

Take a look at my next article about Titanium Mobile.

Hint: Click on the "Older Posts" link to continue reading, or click here for a listing of all my past 3 months articles.