flex framework smackdown
DESCRIPTION
A talk I gave at FlexCamp OCTRANSCRIPT
Code and Slides:http://thillerson.googlecode.com
Flex Framework Smackdown!Tony HillersonSoftware Architect
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: The TimesinkWhy isn’t this a solved problem?
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Why?Why?Why?Why Why Why Why Why?
Frameworks: Why?
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: Why?
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: Why?
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Roll Your Own?
Frameworks: Why?
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Roll Your Own?Go for it!
Frameworks: Why?
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks are acommon vocabulary
Frameworks: Why?
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
CairngormPureMVCSwizMate
Frameworks: Why?
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: Judgement DayWhat if your framework were a Breakfast Cereal? Pro Wrestler? Adobe Evangelist? Homestar Runner Character?
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: How to compare?
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: How to compare?
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: How to compare?http://github.com/thillerson/twitteria/
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: How to compare?
De gustibus non
disputandum est
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: How to compare?
The Most Memorable Framework Discussion Ever
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: How to compare?
con·ceit (noun)In literature and poetry, a device of analogy consisting of an extended metaphor.1350–1400; ME conceyte, conceipt, deriv. of conceive by analogy with deceive, deceit and receive, receipt; cf. AF conceite; see concept
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: How to compare?
WWII Generals?
Cairngorm
PureMVC
Swiz
Mate
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: How to compare?
Presidents?
Cairngorm
PureMVC
Swiz
Mate
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: How to compare?
The Most Memorable Framework Discussion Ever
Cairngorm
PureMVC
Swiz
Mate
Roll Your Own!
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: How to compare?
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: How to compare?
Without further ado,Four Flex Frameworksas Superheroes
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Cairngorm: Mr. Fantastic
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: Cairngorm
Characteristics:• Singleton Model accessed through a ModelLocator• Views bind to model• Command pattern• Events correspond to Commands• Its own event dispatching system
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: Cairngorm
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
PureMVC: Doc Ock
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: PureMVC
Characteristics:• No dependency on the Flex framework• No framework objects in views• A Mediator controls views and listens for view events• Views dispatch regular Actionscript Events, but it has
its own internal event dispatching (Noti!cations)
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: PureMVC
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Swiz: Wolverine
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: Swiz
Characteristics:• Inversion of Control to inject framework objects• Use of [Metadata] to con!gure framework• Two-way communication between views and
controllers• Dynamic Commands
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: Swiz
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Mate: Batman
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: Mate
Characteristics:• Inversion of Control to inject data into views• Actionscript Events only!• Framework con!guration is all MXML
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: Mate
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: FinaleCairngorm
PureMVC
SwizMate
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.comCairngorm:
Mr. Fantastic• Pretty "exible• No matter how hard you pull,
you can’t break it apart
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: Cairngorm
I Like:• Commands• Delegates• Self dispatching events
I Don’t Like:• Singleton (by popular demand)• Hard Wiring• Testability
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.comPureMVC:
Doc Ock• Ignore the villain part• Very Smart• There’s a whole lot of “arms”
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: PureMVC
I Like:• Separation of Concerns• Mediators
I Don’t Like:• Unwieldy and Large• Too many moving parts• Hand wiring• No Flex dependency
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.comSwiz:
Wolverine• Pragmatic• Razor sharp
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: Swiz
I Like:• IOC!!• Using Metadata
I Don’t Like:• Big Controllers (I’d rather have commands)• Not easy to use the regular command pattern• Still (some) self event dispatching
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Mate: Batman
• Lots of tools• Stealthy• The Bat Signal!
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: Mate
I Like:• IOC!!• Flex con!guring Flex• Lots of tools
I Don’t Like:• Some tag names are not that memorable
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Cairngorm
PureMVC
SwizMate
Flex Framework Smackdown!
Saturday, January 31, 2009
Code and Slides:http://thillerson.googlecode.com
Frameworks: Thank you!
http://slideshare.com/thillersonhttp://github.com/thillersonhttp://insideria.com
http://EffectiveUI.com
Tony HillersonSoftware Architect
Saturday, January 31, 2009