Skip to content
TomAuger edited this page Feb 12, 2016 · 2 revisions

#About Kestrel

Kestrel is an Adobe AIR framework using ActionScript 3.0 and the Adobe Flash IDE for developing robust cross-platform mobile apps. It abstracts a lot of the gruntwork that every app needs to be able to do (handle bricking the app when a phone call is received, handle different device orientations, handle operating system inconsistencies, create modals and alerts, etc), while providing (what we hope is) an efficient workflow to managing a multi-screen, potentially multi-lingual App.

##Development Workflow

Kestrel was created for developers who wanted to be able to leverage the power of the Flash IDE for creating assets, screens and interactions (like we did in the good ol' days of Flash), without getting all up inside FlashBuilder, Flex, MXML, SWCs and all that jazz. But it still allows a very modular approach to loading assets, and allows your app to be "split" into multiple SWFs (generally corresponding to different "sections" of the app).

##Version Notes

This Wiki is being written for Kestrel V2.0, which is NOT currently on the Master branch.

##Where to go from here

Admittedly, there's not a lot going on in the way of GitHub documentation yet. I've tried to do a reasonable job of ASDoc-style inline documentation, so there is a lot to be learned by just jumping in and looking at the code.

Some of the key Classes you'll want to familiarize yourself with are:

  • AppBase: the main base class for your App. Your app should extend AppBase. In theory, you shouldn't have to do very much at all in order to be able to create a working app.
  • ScreenView: the main base class for any "Screens". A Screen in Kestrel corresponds generally to a MovieClip on the SWF's main Timeline. The ScreenView gains access to all the DisplayObjects you place in the Screen in Flash, and converts them into Assets.
  • ScreenAssetView: the base class for any Assets your ScreenView needs to know about. The ScreenAssetView is the "glue" that allows you to link a Flash DisplayObject to code. This was done because iOS would throw errors if any loaded SWFs contained ActionScript Byte Code (ABC), which included Linkages within a SWF's Library. Assets are identified by their unique Instance Name (set in the Properties panel in the Flash IDE).
  • ViewBase: all ScreenViews and ScreenAssetViews extend ViewBase. It contains a lot of the logic for handling and manipulating text, especially if that text gets Localized.
  • TransitionManagerBase and TransitionBase: if you want "funky" transitions whenever you switch Screens, look here. Each Kestrel App gets a copy of the TransitionManager to work with. The TransitionManager fires whenever a Screen change is detected. The TransitionManager selects a Transition (a subclass of TransitionBase) to determine how to transition one Screen into another (for example, a slide or a fade).
Clone this wiki locally