Flash RAD framework

The Flash RAD framework:
An open way to build (complex, scalable, SEO optimized and data driven) Flash sites fast and easy.

Read more about:

  1. Events and event casting here
  2. Building forms in the Flash RAD framework here

Basis
The Flash Rapid Application Development (Flash RAD) framework is created to simplify and boost the development process of complex websites. It is based on the following premises:

  1. Simple and straight forward setup
  2. Reduction of code-repetition
  3. Maximum scalability
  4. Open structure

The Flash RAD framework uses the following main objects:

  1. Wrappers/Smart Objects: offering standardized interfaces to any object you can create
  2. Panels: presenting and containing content pages
  3. Forms: editing data and posting data to the server
  4. Menus and buttons: navigating the site

The Flash RAD framework simplifies the construction of interaction models by:

  1. Event casting: by using automated registration of components and an automated subscribe/broadcast model, any object can broadcast instructions and actions to any other object in your project, regardless of it’s location
  2. Soft Binding: allowing you to add any class to any event, to execute very specific actions

The Flash RAD framework simplifies data transactions by:

  1. Mapping data to objects: by using the correspondance of tag names in XML to named objects in your Flash movie.
  2. Parsing the content of forms to XML structures you can define.
  3. Using one simple method to load XML data from- and send XML data to any location you define.

The Flash RAD framework uses XHTML as weapon of choice for page- and content definitions.
The FLash RAD framework offers:

  1. A simple and direct model for deep linking in Flash
  2. A solid searchable structure for spiders
  3. A versatile way to build and change content pages in the Flash site

Rules based

The Flash RAD framework is a Rules Based Engine. This means that each object definition from your XML / XHTML is reflected in a set of rules within the engine itself. For instance: a select list with this XHTML definition: <select class=”list2″ src=”people/peopleList.php?pagenr=[pagenumber]&companyid=[form.companyid]” pagesize=”10″ onClick=”reload *.person: id=[this.id]” mapping=”firstname+’ ‘+lastname–>label, personid–>data”> will translate into:

  1. Build a select list based on style class “list2”.
  2. Load source “people/peopleList.php?pagenr=[pagenumber]&companyid=[form.companyid]” in blocks of 10 items after replacing [pagenumber] and [form.companyid] for the corresponding values available in the list and in the form.
  3. As “pagesize” is set:
    1. Show “Next page” / “Previous page” buttons.
  4. Show the selected object in people/person.php where personid = the value stored in the “id” variable offered by the XML loaded in the selectlist
  5. Map the fields firstname + lastname to “label” and map personid to “data”

Possible building strategies

  1. In the Flash IDE: you create all pages in Flash. Using Smart Objects and by giving your MovieClips very specific names, content and behavior can be directly linked
  2. Using XHTML/XML: using XHTML/XML definitions and CSS stylesheets, pages in your Flash site can be created dynamically
  3. Combining the Flash IDE and XHTML/XML: Using named objects in Flash and references to those objects in your XHTML you can add behavior to any object that matches.

Smart Panels, Dumb Objects, XHTML and behavior mapping

To start working fast you can use Dumb Objects and Behavior Mapping. They are a solid shortcut to build sites with the Flash RAD framework What you do:

  1. You create a new MovieClip
  2. You assign the Smart Panel Class to that movie
  3. You put visual representatives of your objects (form fields, buttons, audio players, video players) inside the Smart Panel movieclip
  4. You name these representatives of your objects according to the names of your items in your XHTML

The Flash RAD framework recognizes the standard Adobe Flash components and has wrappers to make them work according to

Smart Objects and Smart linking

Smart Objects contain a set of basic actions and behaviors related to the type of object. Each Smart Object is based on either the SmartMovieClip or the SmartSprite. Both the SmartMovieClip and the SmartSprite contain the exact same toolset.

The Flash RAD framework distinguishes the following Smart Objects:

  1. Panels
  2. Forms
  3. Buttons

Smart Objects contain and perform a specific set of instructions to make your life easier. This is an overview

  1. Name based content mapping (the name you give your mopvieclip on stage will be used as a reference to find the matching content)

Interactions based on shoutcasting and goto

The Flash RAD framework uses “broadcast” and “subscribe” methods to shoutcast events. By extending the SmartPanel class in the framework you automatically get the “broadcast” and “subscribe” shoutcast system. A simple application of “broadcast” and “subscribe” is the following use case:

  1. The site opens with “Home Page 1”
  2. The user clicks on the button “About”
  3. Two events are fired (pseudocode):
    1. this.broadcast(“closeallpanels”) : closes all content panels
    2. this.goto(“about/about.html”) : goes to the page if loaded, opens the page if it is not registered yet and renders the result
  4. The requested page is presented

“goto” covers prebuilt panels in flash as loaded XML/XHTML content and external Flash movies

“goto” works via a reference list stored in an Array. Any object based on the SmartPanel in your project automatically registers itself to that list, using either:

  1. The name you gave it in the Flash IDE
  2. The file name of the XHTML you loaded.
Advertisements
Be the first to start a conversation

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: