Afik Gal [email_address]  , 0524-601740 Flex
So Many Questions…. So Little Time… Rich Internet Applications?  What are my RIA technological options? Is Flex like flash? (Enterprise development vs. Banner/Site building) What do I get when using Flex? How does it look like?  What can I do with it? Is Flex robust/scalable/does it have enough track record?
RIA – It is All About User Experience (UX) Desirable – sexy (iPhone?) Usable –  easy  to use /  leads  the user  Accessible  – maximal 3 clicks for most options  Useful – does what the user needs Adaptable – fits user’s methods of work The UX makes the application engaging
RIA Technological Options Ajax – Asynchronous JavaScript and XML Dojo, JQuery, Google’s GWT 1.7.0 Sun’s JavaFX 1.2 Microsoft’s Silverlight v.3 Adobe’s Flex  (v.4 in beta) Options are not equivalent!!!
Flash Authoring Time and animation metaphor Narratives to teach concepts, advertise products and services.  Inherent limits when developing complex applications Lightweight Wide community of developers  (Different from Java/.Net developers) Created using adobe CS4 – designer tools
Flex Authoring Screens and states metaphor (like other languages) Timeline capabilities (Motion and effects) are used  to improve user comprehension through feedback Includes complex mechanisms to allow creation of  enterprise grade applications Heavier than flash ,slower to load Not better than flash for simple tasks  Programmers are usually ‘converted” Java/.Net programmers Created using Flex Builder (Eclipse plugin)
RIA – Important Considerations Logic (business/view) can run in the client-side, thus making the server smaller and more scalable RIA technology is very easy to abuse, creating over-kill applications and annoying UI Forgetting the speed constraint can lead to a non-desirable outcome EVERYTHING is user centric (Optimizations, etc) Choice of proper technology is important
Cross Browser/Cross Platform JavaScript code is not really cross browser… Flex is 100% cross-browser.. Silverlight is aiming there Flex is also almost 100% cross platform…  Flash player runs well on almost every  browser  and it is lightweight….Net CLR is heavy….
Penetration The numbers for Java are similar to Flash , only 20% less Some assumption say that all .Net together are ~ 58% or 34% or 6%.... Non-mobile devices!
Flex A work in progress…more than 6 years old Latest version 4,Runs on Flash Player (v 9-10) Eclipse Plugin (Netbeans,IntelliJ) Implemented using ActionScript 3 & MXML(XML) Allows creation of desktop applications (AIR) Open source framework  Huge extendable SDK filled with goodies Includes Optimization mechanisms for heavily graphical applications (Allow you to do everything)
Flex Demo sites 1. Mercedes-Benz       mbusa.com 2. FlauntR Online Photo Editor       http:// www.flauntr.com/flauntr / 3. Volkswagen UK Used Car Locator       http:// www.volkswagen.co.uk 4. Toufee Online Flash Video Maker       http:// www.toufee.com / 5. 24 Hour Fitness Member Services Online       http://www.24hourfitness.com
http://www.scion.com/ http://iexpenseonline.com/# http:// www.picnik.com /app http:// www.pepsi.com / http://archive.bigspaceship.com/hungrysuitcase/home.html https://customizer.harley-davidson.com/GMA_customizer.jsp http://www.adobe.com/flashon/ http://www.scrapblog.com/ http://www.adobe.com/cfusion/showcase/index.cfm?event=finder&productid=26724&loc=en_us http://gpsmission.com/gps-mission/missionadmin/create.do http://www.buildyourhonda.eu/ Flex Demo sites
How Flex Works  Compile Existing Applications & Infrastructure  XML/HTTP REST/SOAP WS Flex Class Library Compiler+Debugger SOAP HTTP/S AMF/S RTMP/S Web Server Data Services Browser’s Cache Flash Player Flex Builder IDE MXML AS3
So What Do You Get…. A lot of ready made, extendable and styleable (CSS) component/capabilities  Asynchronous request / response model Extensive data services capabilites: XML, SOAP, Binary data communication + Streaming Client-side caching + Many Optimization mechanisms + Modularization mechanisms Many impressive and open source components (community) including free data services
Ready made components
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
3rd Party Charting Components
Flex 3 Pricing and Packaging Price Notes Adobe® Flex™ 3 SDK Open Source Free Adobe® Flex™ Builder™ 3 Standard edition Adobe® Flex™ Builder™ 3 Professional edition  $249 $699 Standalone or plug-in Adds testing tools, charting,  and advanced datagrid BlazeDS – Flex Remoting  and Messaging Free Open Source – BlazeDS project
Desktop Applications –Adobe AIR Adobe Integrated Runtime (AIR) Cross-OS application engine that enables hybrid desktop-internet applications Same language…same skills…same team Ability to integrate Internet and desktop Access to local Filesystem/Database
Flex 4 beta (FlashBuilder…) Support for RTL languages Improved component model Lots more effects/skinning/styling options 25% faster compiler… Code Generation Unit Testing built in support Usage of Flash Player 10 – Better graphical performance + 3D. Sophisticated text rendering
Disadvantages of Flex Using Flex is easy…. Using it correctly…NOT! Flex application  can  have huge bottle necks and very poor performance…Proper usage of flex demands understanding of the work of the AVM (ActionScript Virtual Machine) and acquaintance with Flex’s MANY optimization mechanismsFlex is based on AS3…… Despite the Open-Source SDK.. Flex is propriety Flex builder is not cheap…. Flex compiler is SLOW!
Anatomy of a Flex Application
A Whole Data Driven Program
Components Tour de flex Components
Hands On Experience

Afik Gal @alphageeks: Flex Intro

  • 1.
    Afik Gal [email_address] , 0524-601740 Flex
  • 2.
    So Many Questions….So Little Time… Rich Internet Applications? What are my RIA technological options? Is Flex like flash? (Enterprise development vs. Banner/Site building) What do I get when using Flex? How does it look like? What can I do with it? Is Flex robust/scalable/does it have enough track record?
  • 3.
    RIA – Itis All About User Experience (UX) Desirable – sexy (iPhone?) Usable – easy to use / leads the user Accessible – maximal 3 clicks for most options Useful – does what the user needs Adaptable – fits user’s methods of work The UX makes the application engaging
  • 4.
    RIA Technological OptionsAjax – Asynchronous JavaScript and XML Dojo, JQuery, Google’s GWT 1.7.0 Sun’s JavaFX 1.2 Microsoft’s Silverlight v.3 Adobe’s Flex (v.4 in beta) Options are not equivalent!!!
  • 5.
    Flash Authoring Timeand animation metaphor Narratives to teach concepts, advertise products and services. Inherent limits when developing complex applications Lightweight Wide community of developers (Different from Java/.Net developers) Created using adobe CS4 – designer tools
  • 6.
    Flex Authoring Screensand states metaphor (like other languages) Timeline capabilities (Motion and effects) are used to improve user comprehension through feedback Includes complex mechanisms to allow creation of enterprise grade applications Heavier than flash ,slower to load Not better than flash for simple tasks Programmers are usually ‘converted” Java/.Net programmers Created using Flex Builder (Eclipse plugin)
  • 7.
    RIA – ImportantConsiderations Logic (business/view) can run in the client-side, thus making the server smaller and more scalable RIA technology is very easy to abuse, creating over-kill applications and annoying UI Forgetting the speed constraint can lead to a non-desirable outcome EVERYTHING is user centric (Optimizations, etc) Choice of proper technology is important
  • 8.
    Cross Browser/Cross PlatformJavaScript code is not really cross browser… Flex is 100% cross-browser.. Silverlight is aiming there Flex is also almost 100% cross platform… Flash player runs well on almost every browser and it is lightweight….Net CLR is heavy….
  • 9.
    Penetration The numbersfor Java are similar to Flash , only 20% less Some assumption say that all .Net together are ~ 58% or 34% or 6%.... Non-mobile devices!
  • 10.
    Flex A workin progress…more than 6 years old Latest version 4,Runs on Flash Player (v 9-10) Eclipse Plugin (Netbeans,IntelliJ) Implemented using ActionScript 3 & MXML(XML) Allows creation of desktop applications (AIR) Open source framework Huge extendable SDK filled with goodies Includes Optimization mechanisms for heavily graphical applications (Allow you to do everything)
  • 11.
    Flex Demo sites1. Mercedes-Benz       mbusa.com 2. FlauntR Online Photo Editor       http:// www.flauntr.com/flauntr / 3. Volkswagen UK Used Car Locator       http:// www.volkswagen.co.uk 4. Toufee Online Flash Video Maker       http:// www.toufee.com / 5. 24 Hour Fitness Member Services Online       http://www.24hourfitness.com
  • 12.
    http://www.scion.com/ http://iexpenseonline.com/# http://www.picnik.com /app http:// www.pepsi.com / http://archive.bigspaceship.com/hungrysuitcase/home.html https://customizer.harley-davidson.com/GMA_customizer.jsp http://www.adobe.com/flashon/ http://www.scrapblog.com/ http://www.adobe.com/cfusion/showcase/index.cfm?event=finder&productid=26724&loc=en_us http://gpsmission.com/gps-mission/missionadmin/create.do http://www.buildyourhonda.eu/ Flex Demo sites
  • 13.
    How Flex Works Compile Existing Applications & Infrastructure XML/HTTP REST/SOAP WS Flex Class Library Compiler+Debugger SOAP HTTP/S AMF/S RTMP/S Web Server Data Services Browser’s Cache Flash Player Flex Builder IDE MXML AS3
  • 14.
    So What DoYou Get…. A lot of ready made, extendable and styleable (CSS) component/capabilities Asynchronous request / response model Extensive data services capabilites: XML, SOAP, Binary data communication + Streaming Client-side caching + Many Optimization mechanisms + Modularization mechanisms Many impressive and open source components (community) including free data services
  • 15.
  • 16.
    Flex Data ComponentsAdvanced 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
  • 17.
  • 18.
    Flex 3 Pricingand Packaging Price Notes Adobe® Flex™ 3 SDK Open Source Free Adobe® Flex™ Builder™ 3 Standard edition Adobe® Flex™ Builder™ 3 Professional edition $249 $699 Standalone or plug-in Adds testing tools, charting, and advanced datagrid BlazeDS – Flex Remoting and Messaging Free Open Source – BlazeDS project
  • 19.
    Desktop Applications –AdobeAIR Adobe Integrated Runtime (AIR) Cross-OS application engine that enables hybrid desktop-internet applications Same language…same skills…same team Ability to integrate Internet and desktop Access to local Filesystem/Database
  • 20.
    Flex 4 beta(FlashBuilder…) Support for RTL languages Improved component model Lots more effects/skinning/styling options 25% faster compiler… Code Generation Unit Testing built in support Usage of Flash Player 10 – Better graphical performance + 3D. Sophisticated text rendering
  • 21.
    Disadvantages of FlexUsing Flex is easy…. Using it correctly…NOT! Flex application can have huge bottle necks and very poor performance…Proper usage of flex demands understanding of the work of the AVM (ActionScript Virtual Machine) and acquaintance with Flex’s MANY optimization mechanismsFlex is based on AS3…… Despite the Open-Source SDK.. Flex is propriety Flex builder is not cheap…. Flex compiler is SLOW!
  • 22.
    Anatomy of aFlex Application
  • 23.
    A Whole DataDriven Program
  • 24.
    Components Tour deflex Components
  • 25.

Editor's Notes

  • #14 Lets have a look at how Flex works and fits into existing infrastructure. First is the application server, Flex uses the existing application server. If you don’t have one, Macromedia can provide one for you. On top of the application server, sits the Flex Presentation Server. Flex is broken down into two areas. A client-side Application Framework and the server-side Run-time services. The Application Framework consists of an XML declarative programming language for laying out and defining rich user experiences, which is code named MXML ActionScript which is the Flex programming language for procedural programming The class library, which consists of components like containers & controls and managers for commonly used services. These provide the building blocks for creating great user experiences Flex Run-time Services provide services for Flex Web Services proxy for interaction between the client and enterprise data sources Java object connectivity which allows you to invoke methods on local or remote objects Player detection which detects and locally deploys Flash client as necessary and performance optimizations like content caching and deferred instantiation. And Flex applications can be built using leading IDEs or text editors. We’re also working on a new technology, code named Brady, which is based on Dreamweaver MX 2004 and enables visual layout and code editing of Flex applications. Note to speaker: If you click on the “IDEs and text editor” box, that will take you a large screen shot of Flexstore code in Brady. If you click that image, it will take you back to this slide. If you click on the Brady box, it will take you to a large screenshot of Brady. And then if you click on that image it will take you back again.
  • #19 Our goal with the Flex 2 pricing and packaging is to achieve rapid viral adoption of the Flex programming model and build a sustainable software licensing business that scales from departmental to the most complex data projects.     Key talking points: Getting started is free We expect the free SDK to be a driver for tools purchases We ’ ve optimized FDS pricing so that developers can try it out for nothing, departments can build a real application for around $20K, and pricing for large-scale applications can support a direct sales force.