Flex Presentation

download Flex Presentation

of 22

Transcript of Flex Presentation

  • 8/8/2019 Flex Presentation

    1/22

    Creating Software that Saves Lives

    Introduction to Adobe Flex 3.0Brian Mitchell

    February 18, 2008

    PS Reston

  • 8/8/2019 Flex Presentation

    2/22

    Monday, January 21, 20082

    What is Flex?

    Group of technologies that produce SWF (Shockwave file)binaries, a.k.a Flash movies

    Tag based XML programming language: MXML

    ActionScript 3.0 scripting language

    Flex Builder IDE mxmlc compiler & debugger

    Develop Rich Internet Applications, instead of traditionalpage based web applications

    Direct manipulation (drag & drop) behavior

    Client side state management

  • 8/8/2019 Flex Presentation

    3/22

    Monday, January 21, 20083

    Why Flex?

    Flex 3 Beta 3 is open source under MozillaPublic License

    Free SDK with command line compiler and

    debugger Support for AIR (formerly the Apollo project)

    UI Components are amazing!

    Excellent standard components

    Open source libraries like flexlib are great

    Large community of Flex developers

    Excellent documentation from Adobe

  • 8/8/2019 Flex Presentation

    4/22

    Monday, January 21, 20084

    ActionScript 3.0

    ECMA-4 compliant

    Object oriented

    Packages

    Classes Inheritance

    Interfaces

    Strong andweak typing Online API

    http://livedocs.adobe.com/flex/201/langref/index.html

  • 8/8/2019 Flex Presentation

    5/22

    Monday, January 21, 20085

    ActionScript 3.0 II

  • 8/8/2019 Flex Presentation

    6/22

    Monday, January 21, 20086

    Compilation

    mxmlc compiler

    1. Stage one

    1. Parse MXML into ActionScript classes

    2. Compile ActionScript into bytecode3. Insert bytecode into a binary SWF file

    2. Stage two (just-in-time compilation)

    1. Flash Players contain an ActionScript Virtual

    Machine (AVM). At runtime, the AVM turnsthe bytecode into machine language codethat the particular OS can interpret.

  • 8/8/2019 Flex Presentation

    7/22

    Monday, January 21, 20087

    Compilation II

    Compilation can be done from:

    Command line

    Ant script

    Flex Builder IDE Web compiler (part of LiveCycle Data ServicesES)

    Like JSP compilation model, pages arecompiled when first requested, then cached

    mxmlc --show-actionscript-warnings=true

    c:/myDir/firstProgram.mxml

  • 8/8/2019 Flex Presentation

    8/22

    Monday, January 21, 20088

    Build tools

    Free SDK includes:

    mxmlc command line compiler

    Debugger

    Component class library

    Documentation

    Flex Builder 3.0 (Beta) includes:

    Eclipse based IDE

    SDK

    Debugger

    Design view

    Flex Builder 2 is $250, no pricing on latestversion yet

  • 8/8/2019 Flex Presentation

    9/22

    Monday, January 21, 20089

    Data

    HTTP session is unnecessary! As Flex creates an RIA, youkeep state on the client.

    Asychronous

    Remote object invocation (access Java POJO)

    Web service

    HTTP GET/POST Callback required to give client the response data

    User can continue working while request is processed

    HTTPService (make GET & POST requests)

  • 8/8/2019 Flex Presentation

    10/22

    Monday, January 21, 200810

    Data exchange protocols: SOAP

    SOAP?

    You can use it, but passing XML is not asefficient as using binary exchange. Adobeclaims it is 10 times slower.

    http://labs.adobe.com/technologies/blazeds/

  • 8/8/2019 Flex Presentation

    11/22

    Monday, January 21, 200811

    Data exchange protocols: AMF

    Action Media Format (AMF) data protocol

    Binary data exchange over HTTP

    Default protocol behind ,which is used to access data using remoteobject invocation

    Now open source!

    Goal is to provide AMF for all platforms

  • 8/8/2019 Flex Presentation

    12/22

    Monday, January 21, 200812

    Remote Object Invocation

    Add Java classes to Flex app classpath

    WEB-INF/classes

    WEB-INF/lib

    Integrates with J2EE security Class by class exposure to Flex via

    deployment descriptors

    Asynchronous method call

    Callback handler

    Fault-handling

  • 8/8/2019 Flex Presentation

    13/22

    Monday, January 21, 200813

    Remote Object Invocation II

    Example

    com.me.myServiceapplication

  • 8/8/2019 Flex Presentation

    14/22

    Monday, January 21, 200814

    Blaze DS

    What provides access to Java objects? Blaze DS

    Taken from LiveCycle Data Services ES, the finalrelease will be open source under the LGPL v3

    license Release Candidate became available 2.1.08

    Offers remoting and messaging capabilities

    LiveCycle Data Services ES

    Rather expensive Provides remoting and messaging capabilities, data

    synchronization between client and server,publish/subscribe messaging, and PDF creation

  • 8/8/2019 Flex Presentation

    15/22

    Monday, January 21, 200815

    Flex vs. Flash

    Flash is a great tool for developing videos,animations, or any small application that iswell suited to be developed on a timeline, orby layering visual elements

    Flash requires the $700 IDE

    Flex is a web application developersapproach to creating web applications

    Flex development can be free

  • 8/8/2019 Flex Presentation

    16/22

    Monday, January 21, 200816

    Flash IDE

  • 8/8/2019 Flex Presentation

    17/22

    Monday, January 21, 200817

    Cairngorm MVC framework

    Open source implementation of MVC designpatterns from J2EE and .NET

    Singleton

    Service to Worker

    ModelLocator

    Front Controller

    etcetera

    Written in ActionScript 3.0

    Not yet for Flex 3

    http://labs.adobe.com/wiki/index.php/Cairngorm

  • 8/8/2019 Flex Presentation

    18/22

    Monday, January 21, 200818

    Thirty-minute Flex test-drive for Java developers

    http://www.adobe.com/devnet/flex/articles/java_testdrive.html

    A couple tips for the installation

    Set JAVA_HOME environment variable to, for example:C:\Program Files\Java\jdk1.5.0_11

    Do not include the \bin directory on the path!

    Your root directory may be C:\Documents and Settings, but forsimplicity, place the fds-tomcat directory in your C:\ drive.

    A class not found exception is thrown for the word andbecause the pathname is not quoted.

  • 8/8/2019 Flex Presentation

    19/22

    Monday, January 21, 200819

    Adobe AIR

    http://labs.adobe.com/technologies/air/

    Adobe Integrated Runtime (AIR) is a cross-operating system runtime being developed by

    Adobe that allows developers to leveragetheir existing web development skills (Flash,Flex, HTML, JavaScript, Ajax) to build anddeploy rich Internet applications (RIAs) to the

    desktop.

  • 8/8/2019 Flex Presentation

    20/22

    Monday, January 21, 200820

    Capital Area Flex User Group

    http://www.dc-flex.org/

    Meetings usually held at AboutWeb inRockville, MD

    Next meeting Wednesday, March 05 2008 6:00pm - 9:00pm

    6177 Executive Blvd, Rockville MD 20852

  • 8/8/2019 Flex Presentation

    21/22

    Monday, January 21, 200821

    Resources

    Flex Developer Center http://www.adobe.com/devnet/flex/

    Adobe Flex 3 Language Reference

    http://livedocs.adobe.com/labs/flex3/langref/ Flex Component Explorer

    http://www.adobe.com/devnet/flex/samples/code_explorer/

    FlexLib http://code.google.com/p/flexlib/

    www.flex.org

  • 8/8/2019 Flex Presentation

    22/22

    www.PlatinumSolutions.com