Gaia Framework for Adobe Flash

Q. What is Gaia?
A. Gaia is an open-source front-end Flash Framework for AS3 and AS2 designed to dramatically reduce development time.

Gaia is targeted at anyone who develops Flash sites. It provides solutions to the challenges and repeated tasks we all face with front-end Flash site development, such as navigation, transitions, preloading, asset management, site structure and deep linking. It provides speed and flexibility in your workflow and a simple API that gives you access to its powerful features.

Gaia's revolutionary scaffolding engine generates all your Flash files and classes for you and gets you up and running with a fully functional site in less than 10 minutes without writing a single line of code!

Gaia enables you to develop feature-rich websites with significantly less code, and comes with built-in best practices including seamless integration with SWFObject and SWFAddress.

Most Flash frameworks are back-end frameworks, or require senior level coding experience to use. Gaia stands out because it focuses on front-end development. It is easy enough for novice Flash developers, yet powerful enough that advanced coders can use it without feeling limited.

Gaia uses a pragmatic and agile approach, and is focused on helping you do your job without getting in your way. And, it is flexible enough to enable you to work the way you like to work without forcing you to change your style. Whether you write everything in strictly-typed AS3 or AS2 classes, hack AS1 on the timeline or anywhere in between, Gaia helps you get the job done.

Q. What does Gaia mean?
A. Gaia is pronounced "guy-uh". In Greek, it means "Earth as a goddess." It also means "Earth personified". In the movie Final Fantasy, Gaia is the life force of the Earth. I thought it was a pretty cool name for a framework. Smiley

Q. What version of Flash is Gaia for?
A. Gaia is available for AS3 and AS2/AS1, Flash CS4/ Flash CS3 and works on both Windows and OSX. Flash 8 and below are not supported.

Q. How much does Gaia cost?
A. Gaia is free and legal to use. It is distributed under the GPL License.

Q. How big is Gaia?
The current AS3 release compiles to a svelte 37.7k, and AS2 is even smaller at 30k! Better yet, the page template files are just 3.7k each in AS3, and 2.5k in AS2.

"These savings make HUGE differences on enterprise size Flash sites like Ford Vehicles and Disney; basically any huge Flash portal that gets one million+ visitors a day. Akamai or other CDN’s aren’t exactly cheap. The 10k you save per SWF could be $10,000 in bandwidth costs per month. But screw the bandwidth costs, it’s all about the user experience, baby! Fast for the win." – Jesse Warden

Gaia is compact, powerful and excels at helping you work faster without having to change the way you like to work.

Q. What's the learning curve for Gaia?
A. Gaia is designed to have an easy learning curve for even beginner Flash designers and coders by following natural Flash nomenclature, and requiring very few conventions. It's possible to build an entire Gaia site using just a single API function! While Gaia is simple to learn, it is powerful and flexible for novice and expert developers alike.

Q. How does Gaia save me time, exactly?
A. Gaia comes with a panel that you use in Flash, like your Align, Transform and Library panels. The Gaia Framework panel does what is known as "Scaffolding" (popularized by Ruby On Rails) which builds a fully functional version of your site in seconds.

The Gaia scaffolding engine and framework saves you not just hours, but days of development time!

Here's a quick overview of how Scaffolding in Gaia works, and how fast and easy it is to get up and running.

First, you make a new project folder, click a Project button (AS3 or AS2). Then, select that folder and Gaia sets up the project for you.

Next, you edit the simple site.xml file located in the deploy folder, which is the file Gaia uses to structure sites. Once you get the hang of it, which doesn't take long, you can write a site.xml file in just a few minutes.

After your site.xml file is ready, you go back into the Gaia panel, click the "Scaffold Gaia Project" button and Gaia will automatically build, publish and launch a working skeleton of your site with all the .fla files, publish and class paths already set up. It creates a Flash project, as well.

One of Gaia's strengths is its Class Scaffolding, which generates class files for each of your pages and connects the FLA files with those class files. Gaia also generates exclude.xml files for AS2.

Gaia is fully integrated with the popular SWFObject 2.1 and SWFAddress 2.3 javascript classes built right in for maximum compatibility right out of the gate. It also includes the popular TweenMax family of classes.

Two clicks and an easily edited xml file and you've got a fully working Flash site skeleton with preloading, deep linking and right-click navigation in minutes!

Q. Frameworks are sometimes restrictive. Does Gaia force me to work a certain way?
A. Gaia is designed to speed up your workflow, not get in the way of it. Gaia has a few built-in and well-established workflow conventions that seasoned developers are familiar with, and those new to it will see the benefits very quickly.

For project setup, Gaia uses folders named "src" and "deploy". The src folder is where all your Flash files and classes go, and deploy is the folder that you upload to your server. Gaia also uses the popular setup of using a folder called "classes" in the src folder, which contains all your class packages.

Gaia uses a forward-slash tree branch convention, just like file systems and browser urls we're all familiar with.

Beyond that, Gaia is extremely flexible when it comes to actually building your site. There is just one function call Gaia uses to navigate, and you have complete control over how Gaia handles this behavior. There are two properties and four methods that your page MovieClips need to use, all of which are scaffolded for you in the template files and classes.

Gaia is designed to help you, not force you to change the way you like to work or follow somebody else's conventions.

Q. I'm an advanced Actionscript coder. What does Gaia offer me?
A. Gaia is not a framework that tries to do everything. Gaia is designed to take care of a lot of low-level stuff for you, leaving you free to make your magic happen on the pages of your site. If you need custom behavior, Gaia has great flexibility to support that. One of the coolest features of Gaia is the ability to hijack the primary framework events, and the API for doing this couldn't be simpler.

There are nine primary events in the framework that you can listen to. You can choose to merely listen to an event, or you can choose to "hijack" the event, which pauses the framework when the event occurs and makes it wait for you to tell it you're finished before moving on. Hijacking allows asynchronous processes to occur (such as timeline animations) while the framework waits for them to finish. You can also choose to only listen to the event a single time and automatically remove itself as a listener when it's done. More about these events and how to hijack them can be found in the Events and Hijacking section of the documentation.

Since Gaia is open source, feel free to look around in it as much as you like. All the classes are included, and the appendix to the documentation on this site explains how they work.

Both the AS2 and AS3 versions of Gaia follow the strict standards that advanced developers are accustomed to, while being accessible enough that less experienced developers can catch on quickly.

Q. Can Gaia be used for CD-ROMs or inside of Flash wrappers?
Yes! All you have to do is publish main.fla as a Flash executable or embed the swf in your favorite wrapper.

Q. Does Gaia support tracking?
Yes! SWFAddress has built-in Google Analytics support, and Gaia has a simplified universal tracking class for use with Omniture, Hitbox, Doubleclick, or any other javascript-based tracking solution you need.

Q. Is Gaia MTASC/MXMLC compliant?
A. Absolutely! The AS2 version is MTASC strict-compliant and the AS3 version is mxmlc and FDT compliant.

Q. Alright, you've piqued my interest. How do I get started using Gaia?
A. Go to the website and download it!

http://www.gaiaflashframework.com

About Steven Sacks

I am a professional Flash developer with over 13 years of programming experience. I have consulted for high-profile agencies and companies in San Francisco, Los Angeles, Atlanta and New York, and developed numerous award-winning websites and rich internet applications for clients including Adobe, Fox Sports, FX Networks, Anheuser-Busch, GE, DirecTV, ESPN, The Weather Channel, Home Depot, and Coca-Cola.

I am the author of the open-source Gaia Framework for Adobe Flash, which dramatically reduces development time and makes developing Flash sites much easier.