Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

28
Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    2

Transcript of Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Page 1: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Everything you always wanted to know about flex*

*BUT WERE AFRAID TO ASK

Brian Genisio

Page 2: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

What is Flex?

How does it compare to Silverlight/WPF?

What can we learn by studying both?

Page 3: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

It Is OK To Be Curious!

Page 4: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Take Both Pills!

Page 5: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

What Can Flex Do?

Page 6: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Toolset Overview

Silverlight ApplicationXAML/C#/VB.NET/F#/etc

Flex ApplicationMXML/ActionScript

SilverlightSDK

Silverlight RuntimeFlash Player

Flex SDK

Managed CodeResourcesCompiled AS3

Page 7: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Runtime OverviewBrowser

Flash Player Silverlight Runtime

Desktop

Silverlight Out Of

BrowserAir Player

iOS Android Blackberry Windows Phone 7

App 10001010

Air Player

Air Player

Silverlight Runtime

Flash Player in Browser

Air Player ?

Page 8: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Side-By-Side

Page 9: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Declarative Story

• Flex– MXML– Flex Builder– Catalyst

• Silverlight• XAML• Visual Studio• Expression Blend

Page 10: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Imperative Story

• Flex– ActionScript 3– Haxe– C/C++ Alchemy– Converters

• Java• C#

• Silverlight• C#• VB.Net• F#• Ruby• Python

Page 11: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Primary Language

• ActionScript 3.0– Dynamic by

default– Static by option– Classes/Interfaces– MetaData Tags– Quazi-Generics– XML Literals

• C#• Static by default• Dynamic by option• Classes/Interfaces• Attributes• Lambdas• Generics

Page 12: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Integrated Development Environments (IDEs)

• Flash Builder– Designer– Refactoring tools

• JetBrains IDEA• FlashDevelop• Tofino• Command line

• Visual Studio• Designer• Refactoring tools• Rich plug-ins

• Mono Develop• Sharp Develop• Command line

Page 13: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

SDKs & Toolkits

• Flex– Flex SDK– FlexLib– Cairgnorm– Robotlegs– Mockito– FlexUnit

• Silverlight• Silverlight SDK• Silverlight Toolkit• Prism• MEF• Moq• NUnit

Page 14: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Design

• Flex– Photoshop– Illustrator– Catalyst– Over-the-wall

• Silverlight• Photoshop• Illustrator• Expression Blend• Tight integration

“The more designers are involved in the workflow, the more it looks like the original art”

– Bill Wagner –

Page 15: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Silverlight Designer <-> Developer

ProjectXAML, C#,

assets

Designer uses Expression Blend to

apply design

Designer uses Photoshop/Illustrator

to create mocks & assets

Developer uses Visual Studio to apply behavior and architecture

Page 16: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Flex Designer <-> Developer

Designer uses Photoshop/Illustrator

to create mocks & assets

Flex Project

New Flex Project

Designer uses Catalyst to apply design

Designer makes changes using Catalyst

Developer imports Flex project and works on it

Developer imports Flex project and merges it

into existing

Page 17: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Separation

Presentation Model

View Model

View

Model

Page 18: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Data Binding

• Flex– Expression-based– [Bindable]– Execute Methods– Formatters

• Silverlight• Declarative• INotifyPropertyChanged• ICommand• Value Converters

Page 19: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Testing

• Flex– FlexUnit– Mockito /

ASMocks– FB Runner

• Silverlight• MSTest / Nunit• Moq / Rhino Mocks• VS Runner / TD.Net

Page 20: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

XML

• Flex– ECMA 4 XML– XML Literals– ActionLinq

• Silverlight• LINQ to XML• XDocument

Page 21: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Data Display

• Flex– DataGroup– List– DropDownList– Item Renderers– Data Grid

• Silverlight• ItemsControl• ListBox• ComboBox• Data Templates• Data Grid

Page 22: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Mobile

• Flex– Air for Android– iOS Pakcager– Blackberry

Playbook

• Silverlight• Windows Phone 7

Page 23: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Top 5 Things Silverlight is Good At

• Designer-Developer Workflow• Development Tools• Language Support• Third Party Support• Performance (including mobile)

Page 24: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Top 5 Things Flex is Good At

• Data Binding• Location, Location, Location• Visual State Management• Skinning Model• Form Validation

Page 25: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Flex.org

Get it!Try it!

Learn it!

Page 26: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

• With James Ward – Adobe Evangelist• 3 Day Jam• http://FlexJam2011.eventbrite.com

Page 27: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Questions– http://HouseOfBilz.com– [email protected]– Twitter: @BrianGenisio

• Demos:– http://bitbucket.org/briangenisio/crosstra

ining

• ActionLinq:– http://

bitbucket.org/briangenisio/actionlinq

Page 28: Everything you always wanted to know about flex* *BUT WERE AFRAID TO ASK Brian Genisio.

Smart People Developing Smart Software.www.srtsolutions.com