Revision Current Public Release (2013.1076) Keywords extensions, enterprise, plugins, modules See also Native coding Native API (iOS) Native API (Android)
Corona Enterprise allows you to extend the standard Corona APIs by adding your custom native extensions.
While Lua already supports the creation of new libraries via the module/require mechanism, on various OS's this functionality is restricted to libraries implemented in Lua.
Corona Enterprise removes this restriction by enabling you to add libraries that are implemented as native code. In other words, you can wrap native code behind a Lua interface so it looks just like any other Corona API (e.g. the 'display' library).
In Corona Enterprise, you will have access to a special Native API that lets you create you own Lua-based API's for use by your project code (e.g. main.lua).
The following diagram shows where your custom native extension fits in the Corona technology stack:

Corona Enterprise Architecture
The layer called 'Native Extension' is the native code that you write to offer new functionality that's accessible by your Lua project. It builds on Corona's Native API that's part of the Corona Engine.
On iOS, the native API is Objective-C. On Android, it's Java.
The App project is a project template that allows you to develop for both iOS and Android. You should copy this project for each new Enterprise project.
This project has several sub-folders:
ios Contains all iOS-specific code, projects, etc.android Contains all Android-specific code, projects, etc.Corona This is the classical Corona project, e.g. main.lua, images, etc.For your convenience, the projects are structured so that your extensions are packaged as plugins. In both the iOS and Android version of the App project, the Lua library plugin.library is created.
See 'Plugin Projects' under the Plugin guide for more information.
Corona Enterprise is currently available on Mac OS X 10.7.4 and higher.
In addition, for each target platform you will need the following installed: