Author Archive: Deepa Subramaniam

Reminder: First Hero Open Iteration Meeting on Friday

The Flex SDK team would like to remind folks that the first Hero Open Iteration Meeting is scheduled for Friday, October 1st. The purpose of the Hero Open Iteration meetings is to discuss the changes in development process with the Hero release as well as review the features (both desktop and mobile) that were completed in past Hero iterations and identify the work that will be tackled in the upcoming iterations. There will be time for some short Q and A with the product team as well. The meeting will be recorded and posted onto the Hero open source site.

Meeting: Hero Open Iteration Meeting
Date: October 1, 2010
Time: 8 – 9 AM PT (11 am ET, 4pm UK, 5pm CET)
Connect Details: http://my.adobe.acrobat.com/hero-open-source/

For anyone interested in the Hero release and learning more about the capabilities the Hero SDK will contain, this is a meeting that should not be missed!

Introducing….Hero!

It is with great pleasure that we introduce to you the next release of the Flex SDK, code-named Hero. The Hero release has three main themes:

  • Multi-Screen Development: Allow developers to build applications that target the web, desktop or mobile devices using a single unified framework.
  • Spark Maturation: Polish and grow the Spark architecture by adding new Spark components and capabilities.
  • Large-Application Development: Support developers building large applications by improving fundamental Flex infrastructure pieces.

What’s even more exciting is that these three themes are being satisfied by taking advantage of new features in the next generation Flash Player and AIR runtimes. As those runtimes become publicly available, you will be able to download Hero builds and exercise in-development Hero features in order to learn and provide feedback.

Let’s dive into more detail for each of these themes.

Multi-Screen Development

We are currently building new mobile development capabilities into the Flex framework. The Hero release of Flex will enable developers to continue to create application experiences that translate well across platforms, in addition to making it easy to build applications that work well on a wide variety of mobile devices. Hero will augment a number of existing Flex components with mobile- and touch-optimized skins and functionality and will also add new components that support mobile-specific UI patterns. Developers already familiar with core Flex concepts like data binding, MXML and dynamic layout will be able to quickly leverage that knowledge into building applications that can target numerous mobile devices.

Previously, we had investigated splitting off mobile development into a separate, new branch of the Flex framework, code-named Slider. However, the rapid increases in performance on smartphone-class devices over the past year, combined with the highly optimized performance of Adobe runtimes on these devices, now make it feasible to support mobile use cases directly with the core Flex framework. This unification of both mobile- and desktop-targeted features into a single framework is one of the cornerstones of the Hero release.

You can learn much more about the mobile features targeted for the Hero release by reading the Flex and Mobile Whitepaper and the Flex and Mobile FAQ, as well as perusing Hero Mobile feature specifications on the new Hero open source site.

Spark Maturation

With the Flex 4 release, we introduced a new component and skinning architecture called Spark which allows for designers and developers to separate component logic from behavior and declaratively customize the visuals of a component. Spark has proven to be a key addition to the Flex framework, and the Hero release focuses on building more Spark-based components as well as providing new Spark capabilities to existing Flex features. Some of the new Spark components being offered in the Hero release include Spark Form, Spark Image and Spark DataGrid controls. These new Spark components not only provide parity with the previous MX versions, but also expose capabilities that allow for more modern component designs.


Large-Application Development

As people use Flex to build much more complex and mature applications, core pieces of the Flex framework must be retrofitted in order to support these efforts. The Hero release aims to improve the compilation experience (with regards to full and incremental compilation times as well as memory consumed during compilation) for large applications that make heavy use of modules or themes. Additionally, the support for linking runtime shared libraries has been enhanced to allow for smaller download size and faster startup time. You can read more information about the changes to RSL linkage by reading the Hero feature specification here.

Changes to Build Availability

More so then ever before, the Flex SDK is tied directly to the evolution of Flash Player and AIR. The Hero release is being built atop the latest, in-development (and as of yet un-released) Flash Player and AIR runtimes. Because of this tight coupling, we are unable to provide nightly builds that showcase in-development Flash Player and AIR features. Once the current in-development Flash Player and AIR runtimes are showcased in a public release, Hero nightly builds will resume. In the interim, we will release semi-regular builds that showcase Hero features not dependent on features under development in the latest Flash Player and AIR runtimes. We will be posting the first of such builds over the next coming days. These special builds will feature several of the items mentioned in the Spark Maturation and Large-Application Development themes above. Builds showcasing Hero mobile capabilities will follow in later months. Watch the Hero open source site for more information.

More Information

This is just the start of many documents outlining new features in the Hero release. Keep an eye on the Hero open source site for the sharing of whitepapers, special Hero builds, feature specifications and design documents. Additionally, we will soon be announcing our first Hero Open Iteration Meeting, where work completed in past iterations is reviewed and upcoming feature work is previewed. Also, you can find out more about AIR for Android and participate in the pre-release program by going here. We hope you are just as excited as we are with all of the new applications and workflows Hero will enable you to build!

Sincerely,
Flex SDK Product Team

Flex SDK 4 and Flash Builder 4 Updates Now Available!

The Flex team is very excited to announce the release of Flex SDK 4.1 and Flash Builder 4.0.1 which are available for download today! Flex SDK 4.1 is an update to Flex 4 and includes:

  • Support for mirroring layouts and text in order to support right-to-left- locales. The goal of this new feature is to trivialize the work involved to re-purpose Flex applications designed for left-to-right locales for deployment in right-to-left locales.
  • Native support for Flash Player 10.1 and AIR 2.
  • Critical bugfixes and enhancement requests.

To support this new SDK, Flash Builder has shipped an update which lets developers target Flex SDK 4.1 (as well as support applications that target AIR 2). Additionally, the Flash Builder 4.0.1 update contains critical bugfixes. You can grab the Flash Builder 4.0.1 updater here.

Finally, be sure to check out newly shared information about the next release of the Flex SDK (code-named: Hero)!

Sincerely,

Deepa Subramaniam & Andrew Shorten
Flex SDK & Flash Builder Product Managers

Mirroring Layouts in Flex

Now that Flex 4 is out the door, don’t be fooled into thinking the Flex SDK team is resting on their laurels! We are planning a followup release to Flex 4 which should come out in the first half of 2010. This release will include support for Flash Player 10.1 and AIR 2 as well as contain some new feature work and critical bugfixes.

The feature I’m most excited about is the new “layout mirroring” feature. This feature allows developers to mirror their layouts for right-to-left locales. The intent of this feature is to trivialize repurposing a Flex UI designed for a left-to-right language (like English or French) for a right-to-left language (like Hebrew or Arabic).

To support layout mirroring, some new APIs have been added. The two most important are layoutDirection (defined by the new interface mx.core.ILayoutDirectionElement) that is settable on any UIComponent, GraphicElement, SpriteVisualElement or UIMovieClip. [Note: on UIComponent, layoutDirection is a style and for GraphicElement, SpriteVisualElement and UIMovieClip, layoutDirection is implemented as a property].

The new layoutDirection property can be set to “ltr”, “rtl”, or null. When set to “rtl”, a mirroring transform is applied to mirror the layout. This mirroring transform is implemented atop the advanced layout features that was introduced in Flex 4.

What about text? First off, applications that depend on layout mirroring need to use FTE text which supports bi-directionality. If you have a Spark based application or component, FTE is used by default. If you intend to mirror a Flex 3 application, you need to enable FTE text in order to have bi-directional text. Once the text in your application is FTE-based, all you need to do is turn “on” bi-directionality by setting direction=”rtl” on the text components (this style inherits, so you can simply set it at the top-level and it will percolate down). This will ensure the default embedding level of all text blocks in your application is right-to-left.

There are definitely some parts of your application you will want to hand-tweak as the UI gets mirrored. However, in order to get your feet wet, I’d suggest taking the application you want to mirror and setting layoutDirection=”rtl” and direction=”rtl” on the top-level container of your application. This will percolate down through the display list and mirror according to the default Flex implementation.

So, what does this all mean? Well, on Tuesday, 3/31/10 the layout mirroring feature signed off! This is a huge accomplishment for the SDK Dev and QA teams as this feature required a lot of coordination across multiple engineers on the team (as well as input from our globalization teams and external customers). I encourage people to use the multi-SDK feature in Flash Builder 4 to download a build containing the newly landed layout mirroring feature, and give it a try. The best build to download would be 4.1.0.15132 or any build posted after that changelist. To learn more about the layout mirroring feature, please read the specification and if you find issues, file them in JIRA.