Since Macromedia shipped Flex 1.0 in March 2004, we have seen Flex used in a variety of markets including e-commerce, executive dashboards, and business process automation.
Immediately following the release of Flex 1.0, the product development team spent over 1,000 hours working closely with our consulting team, system integrator partners, and customer, to better understand their software and business needs. This effort led to hundreds of specific enhancement requests. Many of these enhancements have made their way into the Macromedia Flex 1.5 release.
As Director of Engineering for the Macromedia Flex Application Model, I will provide an overview of the new features and enhancements that you will find in Flex 1.5.
Flex 1.5 includes new features and improvements throughout the entire product, including enhancements in these areas:
Richness
UI/Usability
Performance
We updated Flex learning materials based on feedback from customers. Our team significantly improved the documentation, and continues to evolve the content based on developer feedback. You will find that the ActionScript and MXML API Reference (commonly referred to as ASDoc) has significant improvements, including more complete examples and embedded code samples that you can run.
Check out the series of articles dedicated to each of the topics in the Flex Developer Center. We've also updated many articles for Flex 1.5.
Web developers seeking highly interactive and expressive data-visualization capabilities were among the earliest Flex users. As such, the demand for charts has been present and growing since the product launched.
Flex 1.5 has refined and polished the rich set of charting components that have been part of the charting beta program since January. Code-named "Tasty" in beta form, the Flex charting components support seven common chart types: area charts, bar charts, bubble charts, column charts, line charts, pie charts, and plot charts.
Flex charts take advantage of the standard CSS styling mechanism to give you detailed customization over their design, and includes the ability to set up smooth transitions to be triggered upon a series of different events. Take advantage of new Flex charting features to create informative and interactive charts in "Beyond DataGrids: Designing Better Data Visualization with Flex Charting Components."
Check out the updated Explorer sample to see the new charting capabilities.
Perhaps the loudest feedback we received from customers using Flex 1.0 was about list support. Developers wanted more flexibility and customizability in the list classes that shipped in Flex 1.0. We added support for many of the common extensions that customers were building themselves: variable row height, word wrap, and data tips. By baking this functionality into the list-based classes, components including DataGrid, ComboBox, and the standard List component inherit these capabilities.
Beyond these enhancements to the vertical List component, we expanded the available layouts to include Horizontal and Tile. All three layout configurations—List, HorizontalList, and TileList—possess the same "virtual" capabilities, where the controls only load the items that appear in the visible viewport. This means that developers can spend less time worrying about how to handle large datasets and their associated memory issues and slow load times.
The applications that people build with Flex address a wide range of user needs. In response to customer requests, we added three new general-purpose components to the Flex 1.5 framework. We migrated the Slider component, previously packaged in the "Extras" folder, into the standard application model. We also added two new components to the "Extras" folder: the ColorPicker and ImageButton components.
The styling infrastructure delivered in Flex 1.0 was extremely powerful. In Flex 1.5, we paid close attention to the visual changes that customers wanted in their applications, and have responded by surfacing more Style properties for developers to work with when customizing the appearance of their applications. These new properties include more Border styles; more Button styles including gaps, fill, and rollover colors; and Tab properties including active tab look and feel. The Panel container has also surfaced more customization capabilities through the introduction of drop shadow and corner border styles. Changes like these significantly simplify the process that developers need to go through when altering the default look and feel of their applications.
For those Flex developers or Flash designers who seek a wholesale change to the look of their applications, we invested in making application skinning easier. By adding extensive documentation and two complete sample skins—one for the Flex Developers who want to author their component skins programmatically using ActionScript, and the another one for Flash designers who prefer using Flash authoring tools to create a graphical set of skins. Skinning your Flex application is simpler now than it has ever been before. You'll be able to check out the updated documentation and skin samples when Flex 1.5 releases soon.
Lastly, we redesigned resizing support in all of our containers to support a percentage-based concept and syntax. Doing so provides two benefits:
Moreover, find out how to use progressive layout to control the display of Flex content after it has been initialized, "Building Flex Applications with Progressive Layout."
After upgrading to Flex 1.5, expect your Flex applications to start up to 30-40% faster than they did in Flex 1.0. These performance gains are the result of changes to the Flex application model approach to object initialization and styles. Both of these areas permeate the underpinnings of a Flex application, and therefore, the time and attention spent on tuning them proved very fruitful. Your application will be able to take advantage of these gains without making changes to it.
We also paid special attention to what we call "perceived performance" and codified a few tricks in the Flex 1.5 release. For example, Flex 1.5 includes support for progressive layout, a feature that developers use to choreograph the initialization sequence of their application layout through the introduction of a more fine-grained control exposed in the object’s CreationPolicy property.
And finally, most effects will animate more smoothly in Flex 1.5 applications. You can see one specific enhancement around effects on complex object groupings, often found inside a Panel component. We changed our Resize effect logic to dissolve the Panel’s contents at the start of an animation, making them reappear at the end of the animation—yielding a notable improvement in overall effect performance.
While the progress to date has been good, it is worth noting that we have much more planned for application performance enhancements in the next major releases of Flex and Macromedia Flash Player.
We updated the article, "Tips and Techniques for Improving Flex Application Performance," for Flex 1.5. Check out: "Part 1: Flex Client Application Performance" and "Part 2: Flex Server Performance."
Developers want more control over the packaging, delivery, and reuse of their application code. In response, we enhanced the Flex compiler and Linker to support the definition and usage of runtime shared libraries (RSL). With Flex 1.5, developers can create libraries of code (MXML components, ActionScript components) and assets, which they can compile and contain in their own library.
A developer may choose to do this in order to reuse the RSL across a variety of Flex applications. The benefits of doing so are several. The feature lets developers manage assets and resources centrally for all of the applications that use them. Additionally, applications linked with RSL that have already been downloaded by another Flex application will be able to take advantage of Flash Player support for RSL (introduced in Flash Player 5), making download and startup time faster.
Find out how to improve the performance of your Flex applications with runtime shared libraries in the article, "Using Runtime Shared Libraries."
The Flex development team is proud of the enhancements in the Flex 1.5 release, and we encourage you to download a free trial when it becomes available (sign up for notification). The team is also excited to attack the next major set of enhancements for future releases. We all look forward to hearing from you as you start to develop using Flex 1.5. It is through a continual dialog with you that we can best direct our efforts.
We look forward to receiving your feedback! See you on the forums…