Gumbo:Whats New SDK
From Adobe Labs
What’s New in the Flex Gumbo SDK MAX Preview
It feels like only yesterday that we released Flex 3, yet we’re already providing a compelling preview to the next version of Flex. This article provides an overview of what you’ll encounter as you play with the new SDK and framework. Please note that given how early we are in the release cycle not all documentation has been updated to reflect the available functionality. You will however find links throughout the article to the functional specifications that we placed on the Open Source Flex SDK site.
The work in the Flex SDK has been focused around 3 primary themes:
- Design in Mind: providing a framework meant for continuous collaboration between designer and developer.
- Developer Productivity: improving compiler performance and adding productivity enhancements to language features like data binding.
- Framework Evolution: taking advantage of new Flash Player capabilities and adding features required by common use-cases.
The biggest feature of the Design in Mind theme is our new skinning and component architecture, code-named Spark. Building on top of the existing Halo architecture we provide a much more efficient mechanism for developers and designers to work together to control the appearance of their Flex applications. Spark currently includes approximately 20 new components and primitives, forming the foundation of our next-generation components and primed for easy integration with Adobe Flash Catalyst. We anticipate adding a few more components in this release, though we will not have Spark versions of every component that exists in Halo. However, since Spark is built on top of Halo, all existing Halo components can easily interoperate with the new architecture. For more information related to the architecture, please check out the Gumbo Component Architecture whitepaper.
Another piece that folks will find interesting is support for FXG, the new interchange format for the Flash Platform. In addition to support for using FXG directly within your Flex application, the Flex framework includes graphic primitives that align with the tags in FXG. These graphic primitives can be used directly within your Flex app (without FXG) and support all of the behavior associated with the more traditional Flex components.
The Spark architecture also includes an updated layout model, supporting the runtime assignment of layout and even support for objects that have 3D effects applied using new Flash Player 10 capabilities. Finally, Spark introduces new and improved effects, including support for filters created with Pixel Bender.
One thing that we would like to leverage better in the next version of Flex is the States feature. We believe that the concept of states is easy to understand, but the implementation in Flex 3 was not as straightforward as it could have been. Therefore we’ve introduced some new MXML language improvements in Gumbo that can make it much easier to work with states. You can learn more about those improvements here along with some other adjustments we’ve made to MXML (which we’ll call MXML 2009) to better support the tooling workflow and readability.
In the Developer Productivity theme our primary focus has been compiler performance. We’ve done a number of optimizations focused on common use-cases, and have seen some real improvements. We’ll be continuing on these throughout the release cycle. We’ve also added two common feature requests, ASDoc support in MXML documents and 2-way databinding. And one very exciting feature that was a top request is our support for more CSS selectors, which includes descendant and id-based selectors.
Finally we know that we need to continue to evolve the Flex framework, even beyond the Spark architecture. A powerful feature in Flash Player 10 is the new text engine, and the associated Text Layout Framework (currently in beta). We are incorporating the text engine and TLF directly into the Flex framework, creating new text controls as well as planning to incorporate them back into the Halo controls (hopefully later in the cycle). Not only do we get more powerful formatting features, but also we can have true bidirectional text in any of our controls. You will also see that we’ve migrated our HTML templates from being based on the old Adobe Flash Detection Kit to the open source SWFObject project, another popular request.
While we are very pleased with the MAX Preview of the next version of the Flex SDK, our work is far from complete. We intend to create more components, including a new, video display, appropriate new AIR window controls, and more; plus we still have plenty of work to do on the existing controls including adding virtualization and drag and drop support. In addition to bidirectional text we plan on implementing mirroring support so that whole interfaces can support being right-to-left. We have plenty left to do in the effects work as well as our compiler and runtime performance. Finally, our FxApplication class is by no means complete, and we'll be adding more concrete layouts (including stack, tile, and advanced constraints) following the new layout architecture. And based on feedback from the community we’ll continue to make adjustments to ensure we deliver the best product possible.
So enjoy the preview, and be sure to continue monitoring http://opensource.adobe.com/flex for the latest information on the Flex SDK.
