Corona Enterprise

Revision Current Public Release (2014.2511)
Keywords extensions, enterprise, plugins, modules
See also Native coding
Native API (iOS)
Native API (Android)
CoronaEnterprise Setup Guide

Overview

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).

Architecture

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

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.

Getting Started

Instructions to setup CoronaEnterprise are available on our our Corona Enterprise Setup Guide. There is also information on upgrading daily builds.

Creating a project

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.

Directories

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.

Native extensions

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.

System Requirements

Corona Enterprise is currently supported on OS X 10.9 or later.

In addition, for each target platform you will need the following installed: