flex/as3 architecture and dependency injection frameworks overview
DESCRIPTION
This is my presentation deck from Adobe MAX 2010. It is about Flex/AS3 architectural patterns and DI frameworks.TRANSCRIPT
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Flex/ActionScript 3.0 Architecture and Dependency Injection Frameworks Overview Piotr Walczyszyn | Platform Evangelist
var blog:URLRequest = new URLRequest("http://riaspace.com");var twitter:URLRequest = new URLRequest("http://twitter.com/pwalczyszyn");
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Agenda
Architectural Patterns
MVC
Presentation Model
Other
DI Frameworks
Sample app overview
Mate
Parsley
Robotlegs
Spring ActionScript
Swiz
2
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 3
Model View Controller
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Model View Controller
Model View Controller Diagrams
4
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Model View Controller
Model View Controller & Command Pattern
Model View Controller Diagrams
5
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 6
Presentation Model
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Presentation Model Diagrams
Presentation Model
7
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Presentation Model Diagrams
Presentation Model
Presentation Model with Command Pattern
8
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 9
Other
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Model View Presenter
Model View Presenter (Passive View)
10
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Model View Presenter
Model View Presenter (Passive View)
Model View Presenter (Supervising Controller)
11
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Spark Architecture
12
MXML
Graphics Layout
Animation Parts States
Skin
CSS properties
ActionScript
Component
Behavior Logic Data
Spark Component
Model
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Spark Architecture
13
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 19
AS3/Flex DI Frameworks == Commodities
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AS3/Flex microarchitecture frameworks
20
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
LOADING_USERS
Demo Application
21
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
USERS_LIST_STATE
Demo Application
22
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
ADD_USER_STATE
Demo Application
23
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Demo Application Diagram
24
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Typical microarchitecture elements
Configuration
DI implementation
Event/Messaging bus
Command pattern API
Helper classes
25
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 26
Frameworks Demo
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Links
Frameworks:
Mate - http://mate.asfusion.com/
Parsley - http://www.spicefactory.org/parsley/
Robotlegs - http://www.robotlegs.org/
Spring ActionScript - http://www.springactionscript.org/
Swiz - http://swizframework.org/
UsersAdmin projects: http://github.com/pwalczyszyn/MAX-2010-Projects
27
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.