When you make a native extension using the AIR C API, your native code tends to have two parts:
- one that's concerned with exposing functionality in a way that AIR can call, in other words, dependent on the AIR C API;
- functional part, which deals with the platform-specific stuff. This part of your code doesn't (and shouldn't) care about whether it's used in an AIR native extension, a purely native app or something else.
Ideally you want to keep the dependency between these two parts one-directional: the AIR-concerned part should depend on the functional part, but the functional part should not know about and depend on AIR. If you decide to reuse your, say camera or speech recognition functionality, in another project that's not AIR-related , you don't want to force that to include the AIR C API.
So, what happens if you need to dispatch an event from the functional part of your code? Say, the camera refused to start or the speech processor is ready with results and you want you alert AIR to this... Read More
Do you remember the three ways that native code can send data back to ActionScript? Here they are for a quick revision:
- Returning a FREResult object from a call to FREFunction.
- Using output parameters in a FREFunction.
- Sending an event to ActionScript.
The Extension Initializer and Finalizer are the entry and exit points to your native extension. They are also two of the ingredients that make your extension known to the world and make it distinguishable from other extensions in an app. This is why they need to have unique names. Their signatures however need to be exactly as prescribed by AIR. Today we look at what these are in the AIR C API. Read More
This is the title article for a series of posts that take a look into the components you'll need, in order to make a native extension for four different platforms. Read More
Before we define what Adobe AIR Native Extensions (ANEs) are, let us first marvel at Adobe AIR for a bit, starting with what it can do for you. Then we will move on to what it can't do for you. That's where it gets interesting and where ANEs come in. Read More