BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Adobe's James Ward on Upcoming Flex 3 Enhancements and Silverlight

Adobe's James Ward on Upcoming Flex 3 Enhancements and Silverlight

This item in japanese

Adobe has been working hard on their upcoming Adobe Flex 3.0 release, expected in early 2008. Adobe Flex is a developer toolset for building Rich Internet Applications that run in the browser with Flash Player or on the desktop with Adobe AIR. InfoQ talked with Adobe’s James Ward, Technical Evangelist, to learn more about the upcoming release. In addition to the information he provided us, you can read more on his blog at: jamesward.org.

Ward started by discussing the additions and updates coming with the Flex 3 SDK and Flex Builder 3:
Already in the first public beta release of Flex 3 there have been significant changes to both the free Flex 3 SDK and Flex Builder 3.

Some of the most noteworthy changes include:
  • A new memory and performance profiler in Flex Builder
  • Support for creating applications which utilize the Adobe Integrated Runtime (AIR)
  • ActionScript class name refactoring
  • Significantly improved first-run application startup time when using the Persistent Framework Cache
  • Numerous improvements to the Design View in Flex Builder

  • ... elaborating on the changes:
    One of the best new features for Flex 3 is the Persistent Framework Cache. With the Persistent Framework Cache if a visitor to your RIA has already visited someone else's Flex application then they will likely already have the 495KB Flex Framework in their Flash Player Cache. This will dramatically reduce the size of the application which the user would now need to download. In many applications this will reduce the initial application download to below 100k.

    Another great feature of Flex Builder 3 is the memory and performance profiler. This allows you to see exactly where your applications maybe leaking memory or where there might be performance bottlenecks.

    Along with new components like the Advanced DataGrid and improvements to the Charting Components there have been numerous foundational improvements to Flex. These include improvements to accessibility, runtime localization, and built-in deep linking support (browser back, bookmarking, etc).

    To see a full list of the planned features for Flex 3, see the Roadmaps:
    The Flex 3 SDK Roadmap http://flexwiki.adobe.com/confluence/display/ADOBE/Flex+3+Planning
    The Flex Builder 3 Roadmap http://flexwiki.adobe.com/confluence/display/ADOBE/Flex+Builder+3+Planning

    InfoQ asked how the changes with Flex 3 fit into the process of open sourcing the framework, and an update on the status of the open sourcing effort.
    The open sourcing effort for the Flex SDK is well under way. There is actually a pretty significant time investment required to open source a project as large as the Flex SDK. Like the Sun JDK this isn't something that all happens overnight. The goal for us is to make the Flex SDK fully open source by the time Flex 3 is released. Some of the tasks along the way have already been completed. We have an email list on Google Groups called "flex-open-source" for discussing items related to the open source effort. We also now have moved the entire bug database for Flex (even all the historical bugs) to a public JIRA system. You can create an account and start filing bugs, voting for bugs, etc at bugs.adobe.com/flex. We have also made the Flex roadmap publically available at: http://bugs.adobe.com/confluence/display/ADOBE/Home

    On, Flex 3 licensing:
    The Flex 3 SDK will be free and will most likely be MPL licensed. We will also offer a dual license for OEMs who are unable to bundle MPL software. We haven't yet announced licensing for Flex Builder 3.

    Ward was then asked about Silverlight, Microsoft's entry in the RIA market:
    Microsoft hasn't really entered the RIA market. They are building a new platform which is centered around video on the web. This is one aspect of an RIA platform. Yet the quality of Silverlight's VC1 video codec did provoke us to release the higher quality H.264 codec sooner than we had originally planned. We also added hardware video scaling to support full-screen 1080p video playback in Flash.

    He also provided more detail on the differences between Flex and Silverlight, and why the typical developer should choose Flex:
    One central aspect to RIA where Flex is a few years ahead of Silverlight is with our component library. With Silverlight you pretty much have to build your entire UI from scratch. The Flex community and Adobe provide hundreds of skinable, stylable and extensible components like DataGrids, Accordions, TabNavigators, and Charts. Other aspects where we are a few years ahead include built-in support for accessibility, internationalization, deep-linking, unit testing, automated testing, data-binding, effects, drag-and-drop management, and a ton more things that you really need when you build RIAs. To see what components are included in Flex you can browse the Flex Component Reference documentation, check out the Flex 2 Component Explorer, or the Flex 2 Style Explorer. For a list of other community components see flexbox and the Flex Component Exchange.

    With Silverlight you can use the Expression Blend technology which generates XAML markup which you can use directly in your Silverlight project. With Flex the designers use tools like Photoshop, Illustrator, and Flash CS3 and export their assets as binary objects (bitmaps or swfs) and then the developer uses those assets as skins or components within Flex.

    One of the biggest differences between Flex and Silverlight is with adoption. 90% of the PCs on the internet already have the runtime for Flex applications installed. Flash Player is the most quickly adopted and most installed piece of software in the world. It's hard to compare Silverlight's lack of adoption with that kind of momentum.

    For those building RIAs now there is really no better option than Flex. It is backed by a free and soon to be open source SDK, great Eclipse based developer tools, and a giant community. Clearly there is a lot of momentum behind Flex.

    With the buzz around Adobe Integrated Runtime (AIR), InfoQ asked how Flex 3 and AIR fit together:
    The Adobe Integrated Runtime (AIR) is a desktop runtime for Flex, Flash, Ajax, and HTML applications. It allows developers to use their existing skills and many times existing code to build applications which run on the desktop and have additional functionality. AIR applications can do things like access system resources, integrate with system drag & drop functionality, display system notifications, and save data to an embedded database. Developers can use the Flex 3 SDK and Flex Builder 3 to easily build AIR applications. AIR also allows developers to easily build RIAs that have a more custom branded experience and work offline.
    There are several large companies, including eBay and Salesforce, already using AIR. The buzz around AIR is primarily because many applications need functionality and customizability beyond what exists in the browser. AIR is also built using a number of open source technologies including Mozilla Tamarin (the VM for Flash Player), Webkit (the HTML rendering engine in Safari), and SQLLite.

    InfoQ asked for clarification on the confusion with Flash CS3 having Flex extensions and there also being Flex Builder:
    Flash CS3 is still the primary tool for designers building Flash content and Flex is the primary tool for developers building Flash based applications. Shortly after the CS3 release we posted the Flex Component Kit for Flash CS3 on labs.adobe.com that allows designers to easily work together when building Rich Internet Applications. Now designers can create assets in CS3 and hand them off to a Flex developer who can use those assets in their applications. You can watch a great walk through of using the Component Kit here: http://adobedev.adobe.acrobat.com/p75214263/

    Ward offered the following information on the Flash Player runtime requirements for Flex 3:
    Flex 3 will require the same runtime as Flex 2, Flash Player 9. However a developer may choose to require a newer version if they wish to take advantage of new features in Flash Player. The Persistent Framework Cache and H.264 support will require the newest version of Flash Player 9 which is currently in beta. Developers can check the user's version of Flash Player and either not take advantage of the new features or initiate an express install of the new version. Express Install is only a single click and 1MB download. But it's up to the developer how and when they use features beyond the Flash Player 9 initial release.

    New versions of Flash Player take 9 months to reach 80% adoption and 12 months to reach 90% adoption. You can find a detailed analysis of the Flash Player adoption statistics on Emmy Huang's (Flash Player Product Manager) blog: http://weblogs.macromedia.com/emmy

    In closing, Ward encouraged everyone to check out the Flex 3 beta from labs.adobe.com. Any bugs can be logged at bugs.adobe.com/flex. Finally he offered the Flexcoders Yahoo Group and the Adobe MXNA news aggregator as resources for developers looking to get started in Flex.

    Rate this Article

    Adoption
    Style

    BT