Given the proliferation of several mobile device platforms, namely iOS and Android, applications should be available on all these platforms. Rather than rewrite code to make the applications available on each platform, several toolkits have been created to support cross-platform development. These cross-platform development toolkits are designed for regular applications and games. Popular toolkits for regular applications include the open-source PhoneGap project, AppMobi, and Appcelerator. Popular toolkits for mobile games include Unity and Corona.
How are these toolkits similar and different? Both PhoneGap and AppMobi require HTML5 + JavaScript + CSS code. They are essentially a thin wrapper over a web browser to get access to core features of each mobile device platform, such as camera, GPS, and contacts. These applications are noticeably slower than native applications. AppMobi provides a better GUI editor and has pay-to-use cloud-based API, which PhoneGap does not provide. PhoneGap is expected to have a cloud-based API soon from another vendor. Appcelerator takes a different approach by creating a new API in JavaScript and compiling the code into native Android and iOS code at runtime.
I do not have enough information to report on similarities and differences for Unity and Corona toolkits. Unity appears to be the most popular from what I’ve heard.