David Coletta Architecting A Shared Codebase For Browser And Desktop Final
by dcoletta on Nov 22, 2008
- 2,932 views
Learn from our experience in adapting a complex codebase like the application Buzzword to run also as an Adobe AIR application. This session addresses the architectural challenges of developing SWF fil...
Learn from our experience in adapting a complex codebase like the application Buzzword to run also as an Adobe AIR application. This session addresses the architectural challenges of developing SWF files to be shared between browser and AIR versions. We’ll cover user interface considerations, such as reconciling a single browser window with multiple AIR windows, and technical issues, like problems with the Singleton pattern when using multiple native windows. Other topics include abstracting code that must call AIR only APIs and packaging code into modules that load over HTTP for browsers and load from the file system under AIR.
Accessibility
Tags
More...Upload Details
Uploaded via SlideShare as Adobe PDF
Usage Rights
© All Rights Reserved
Statistics
- Favorites
- 3
- Downloads
- 0
- Comments
- 1
- Embed Views
- Views on SlideShare
- 2,889
- Total Views
- 2,932

Thank you for giving this presentation. This is very helpful in clearing some of design issues in my own project.
I was going with the 'Empty Shell and filled with Swc' approach based on the Todd Prekaski's 'Building Flex and Adobe AIR app from the same code base' article.
But I am very intrigued with 'Browser SWFs included AIR file' approach.
Please correct me if my understanding is wrong, you basically just have one AIR project that contains all AIR implementations. And on each of your module's functionalities, you extract them out to an interface and then have Flex-specific and AIR-specific class implements the interface.
The part that I have a hard time in understanding is having all AIR implementations in one AIR project. What happens to implementations that need to access some user-defined classes that's located inside the project module?
For example:
Project Module A
-------------------------
public function implementThis(pUser:User):void;
//Class User is only located in Project Module A
So how does the AIR project access that 'Class User' that lives inside project Module A?
I hope you could help me in clearing that out.
Thank you very much! 3 years ago Reply