2006 Adobe Systems Incorporated. All Rights Reserved. 1
JUGAT Flex 3
Christoph AttenederFlash / Flex Development
Technical Lead
May 2008
®ADOBE FLEX 3
A highly productive, free open source framework for building expressive web applications that
deploy consistently on all major browsers and on the desktop with Adobe AIR
3
Where Flex is used
Product Configuration
Rich Media Applications
Data Visualization
Authoring Applications Product Selection
Line of Business Applications
Flex Builder IDE
Flex Builder IDEEclipse Plugin or turn-key install
Accelerates Design
Design view and code view
Understanding Flex
2 languagesMXML (actually a library of ActionScript)
ActionScript 3
Compilers
Debuggers
Rich Component Library
Flex SDK
Flex Class Library
MXML ActionScript
Debuggers
How Flex Works in the Browser
Flex Builder IDE
Flex SDK
Flex Class Library
MXML ActionScript
Compile
SOAP HTTP/S AMF/S RTMP/S
Web Server
Existing Applications & Infrastructure
J2EE Application Server
LC Data ServicesXML/HTTPRESTSOAP Web Services
Browser
Flash Player
Flex 3 is Open Source
Open Source Flex SDK
SDK source (framework, compiler, and debugger) is available under Mozilla Public License (MPL)
Public bug database, roadmap, and daily builds available
opensource.adobe.com/flex
Enabling Open Source Innovation
Invites active participation from the Flex development community
Allows open source projects to extend Flex and embed it in projects
Enables small ISVs to bundle the Flex SDK at no cost
Growing the Flex Market
Non-open source SDK licenses available for commercial ISVs that require it
Raises Flex awareness by increasing usage and driving further adoption
Expands the market for commercial Flex products from Adobe and partners
Open Source BlazeDSFlex remoting and messaging
Available under Lesser General Public License (LGPL) v3
Commercial license, certified builds and enterprise support are available
Public bug base and daily builds
opensource.adobe.com/blazeds
Flex 3 –
Major Themes
Designers and Developers
Hybrid Desktop- Internet Applications
Framework EvolutionWorking with Data
Working with Data –
Flex Data Components
Advanced DataGrid
Hierarchical data displays
Flexible grouping and sorting APIs
Custom cell/row/column formatting
Charting Enhancements
Data-oriented graphics API
Per-item labels and fills
Arbitrary number of display axes
Region selection
New List and Data Effects
Choreograph data as it appears or disappears in a list
ILOG Elixir –
Advanced Data Visualization for Adobe Flex
Graphical data display components for Flex and AIR applications
ILOG is the first major component vendor to ship a Flex component library
Adobe is the exclusive reseller of ILOG ElixirAvailable direct from the Adobe Online Store and all Adobe channels
Advanced displays include:3D Charts
Country maps for interactive reports or dashboards
Organizational charts
Planning / scheduling component
Treemap for visual analytics
Radar charts (also named spider charts)
Gauges
US$799
ILOG Elixir Components
Working with Data –
Connecting to Remote Services
Web Services Introspection
Generate client proxy classes from WSDL signatures
Includes support for complex types returned from web services
Enables complete code hinting for service methods and custom types
Introductory Data Wizards
Generate both server and client code from existing database tables
Resulting applications demonstrate best practices
Supports ASP.NET, ColdFusion, Java, and PHP
RIAs
for the Desktop –
Flex and Adobe AIR
New AIR-enabled Flex Capabilities
Native OS drag and drop support
Multi-windowed applications
Access to local file system
Local database storage
Complete rendering support for HTML content
Flex Builder Support for AIR Development
Full code hinting and error reporting
Complete debugging and profiling support
Application packaging and signing
Platform Evolution –
Reduced Application Size
Persistent framework caching significantly reduces size of Flex applications
Users only need to download the Adobe-signed Flex 3 platform component once
Flash Player cache stores it for use by any Flex-enabled site
Entire Flex applications can now be as small as 50KB
FlashPlayer 9
Flash Player
Cache
Site ACustom
Code Site B
Flex 3 RSL
Custom
Code
Platform Evolution –
Advanced Developer Tooling
Memory and Performance Profiling
Use performance snapshots to quickly locate application bottlenecks
Easily detect memory leaks and excessive object allocations
Optimize memory usage by monitoring per-function usage
Source Code Refactoring
Find all references to a class, variable, or function
Quickly rename variables or methods across projects or workspace
Preview all changes before committing
Platform Evolution –
Enhanced Browser Integration
JavaScript/Ajax Wrappers
Easily incorporate Flex components or micro-applications into existing web pages/logic
Flex Builder wizard generates code to expose any Flex component property as native JavaScript
Deep Linking
Automatically updates browser URL to represent application state
Enables users to bookmark particular points in an application or share URLs
Integrates with existing browser history features in Flex HistoryManager class
Flex JavaScript
Platform Evolution –
Other
Additional Flex Builder Enhancements
Flex Builder 3 works with Flex 2.0.1 or Flex 3 SDK
Significant improvements in compiler performance
Design view extensibility for third-party components
Additional Flex Enhancements
Dynamically load localization resource bundles at runtime
Flex compiler shell (FCSH) and ANT tasks
Standalone web-tier compiler modules for IIS and Apache
Adobe Flex Customers
Enterprise Web 2.0ISVs
Flex links
Flex and Java (http://www.adobe.com/devnet/flex/flex_java.html)
Flex.org - See Flex in Action, Community, Components,...
Flexcoders (http://tech.groups.yahoo.com/group/flexcoders)
Flex Examples (http://blog.flexexamples.com)
Metadudes (http://www.metadudes.com)
Tools
Flexunit (http://code.google.com/p/as3flexunitlib)
Flexcover (http://code.google.com/p/flexcover)
Apache Ivy (http://ant.apache.org/ivy)
Frameworks
Parsley (http://spicefactory.org/parsley)
Prana (http://www.pranaframework.org)
PureMVC (http://puremvc.org)
Cairngorm (http://labs.adobe.com/wiki/index.php/Cairngorm)