flex framework smackdown

44
Code and Slides: http://thillerson.googlecode.com Flex Framework Smackdown! Tony Hillerson Software Architect Saturday, January 31, 2009

Upload: tony-hillerson

Post on 19-May-2015

2.808 views

Category:

Technology


2 download

DESCRIPTION

A talk I gave at FlexCamp OC

TRANSCRIPT

Page 1: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Flex Framework Smackdown!Tony HillersonSoftware Architect

Saturday, January 31, 2009

Page 2: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: The TimesinkWhy isn’t this a solved problem?

Saturday, January 31, 2009

Page 3: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Why?Why?Why?Why Why Why Why Why?

Frameworks: Why?

Saturday, January 31, 2009

Page 4: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: Why?

Saturday, January 31, 2009

Page 5: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: Why?

Saturday, January 31, 2009

Page 6: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Roll Your Own?

Frameworks: Why?

Saturday, January 31, 2009

Page 7: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Roll Your Own?Go for it!

Frameworks: Why?

Saturday, January 31, 2009

Page 8: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks are acommon vocabulary

Frameworks: Why?

Saturday, January 31, 2009

Page 9: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

CairngormPureMVCSwizMate

Frameworks: Why?

Saturday, January 31, 2009

Page 10: Flex Framework Smackdown

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

Page 11: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: How to compare?

Saturday, January 31, 2009

Page 12: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: How to compare?

Saturday, January 31, 2009

Page 13: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: How to compare?http://github.com/thillerson/twitteria/

Saturday, January 31, 2009

Page 14: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: How to compare?

De gustibus non

disputandum est

Saturday, January 31, 2009

Page 15: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: How to compare?

The Most Memorable Framework Discussion Ever

Saturday, January 31, 2009

Page 16: Flex Framework Smackdown

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

Page 17: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: How to compare?

WWII Generals?

Cairngorm

PureMVC

Swiz

Mate

Saturday, January 31, 2009

Page 18: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: How to compare?

Presidents?

Cairngorm

PureMVC

Swiz

Mate

Saturday, January 31, 2009

Page 19: Flex Framework Smackdown

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

Page 20: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: How to compare?

Saturday, January 31, 2009

Page 21: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: How to compare?

Without further ado,Four Flex Frameworksas Superheroes

Saturday, January 31, 2009

Page 22: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Cairngorm: Mr. Fantastic

Saturday, January 31, 2009

Page 23: Flex Framework Smackdown

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

Page 24: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: Cairngorm

Saturday, January 31, 2009

Page 25: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

PureMVC: Doc Ock

Saturday, January 31, 2009

Page 26: Flex Framework Smackdown

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

Page 27: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: PureMVC

Saturday, January 31, 2009

Page 28: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Swiz: Wolverine

Saturday, January 31, 2009

Page 29: Flex Framework Smackdown

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

Page 30: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: Swiz

Saturday, January 31, 2009

Page 31: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Mate: Batman

Saturday, January 31, 2009

Page 32: Flex Framework Smackdown

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

Page 33: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: Mate

Saturday, January 31, 2009

Page 34: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Frameworks: FinaleCairngorm

PureMVC

SwizMate

Saturday, January 31, 2009

Page 35: Flex Framework Smackdown

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

Page 36: Flex Framework Smackdown

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

Page 37: Flex Framework Smackdown

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

Page 38: Flex Framework Smackdown

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

Page 39: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.comSwiz:

Wolverine• Pragmatic• Razor sharp

Saturday, January 31, 2009

Page 40: Flex Framework Smackdown

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

Page 41: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Mate: Batman

• Lots of tools• Stealthy• The Bat Signal!

Saturday, January 31, 2009

Page 42: Flex Framework Smackdown

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

Page 43: Flex Framework Smackdown

Code and Slides:http://thillerson.googlecode.com

Cairngorm

PureMVC

SwizMate

Flex Framework Smackdown!

Saturday, January 31, 2009

Page 44: Flex Framework Smackdown

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