Return to bugs.adobe.com
  Log In View a printable version of the current page.  
  Flex Builder 3 Planning

Flex Wiki Home

Flex Builder 3 Planning / Roadmap

Adobe Flex Builder is an Eclipse-based Integrated Development Environment (IDE) for building Flex applications.

Adobe has announced plans to open source Flex under a Mozilla Public License (MPL). This includes the library and component code in the Flex SDK, the Java source code for the ActionScript and MXML compilers, and the command line Flex debugger. It does not include the Flex Builder IDE or LiveCycle Data Services (formerly Flex Data Services). Even though Flex Builder is not open source, we are planning to be as transparent as possible with our plans for future Flex Builder releases.

This document outlines the planned feature requirements and development priorities for Flex Builder 3, code-named "Flex Builder Moxie."
The details of the Flex SDK including the data visualization package (datagrid and charting controls) are included in a separate document: Flex 3 Planning.

Project Status

Flex 3 and related projects (Flex Builder) are currently under development.  We will be opening up the Flex 4 planning center shortly.

Flex 3 milestone schedule:

Date Target
April 9, 2007 M1 Release (Alpha)
June 11, 2007 M2 Release
October M3 Release (Beta 2) - Feature Complete
Late 2007 M4 - Release Candidate
Early 2008 Final Release

Flex 3 Release Themes and Features

Designer/developer workflow

Flex 3 should make it easy for developers and designers to work together to create unique experiences. The Flex framework should provide greater control over the look and feel of an application, and Flex Builder should make it easier for developers to incorporate graphics and animations created in the Adobe Creative Suite 3 tools used by professional designers.

Enhanced Color Picker | Pan and Zoom | Preview Item Renderers in Design View | Skinning Import Wizards | Visual CSS Editor 

Working with data

Rich Internet applications often enable users to interact with data. Flex Builder 3 should provide tools and wizards to help new developers learn how to write code that interacts with server-side data and Flex Builder should provide powerful productivity tools that help developers integrate remote services. Flex Builder 3 components should also be updated to support richer display and manipulation of data within an application (datagrids and charting).

Introductory Data Wizards | Web Services Introspection

Adobe Integrated Runtime (AIR) applications

Adobe AIR (formerly known as Apollo) enables developers to create applications that combine the benefits of web applications (network and user connectivity, rich media content, ease of development) with the strengths of desktop applications (local resource access, persistent personal settings, offline run support). Flex Builder 3 should make deployment to Adobe AIR easy by introducing new development tools.

Adobe AIR Debugging | Adobe AIR Packaging | Adobe AIR Projects

Platform evolution

Flex Builder 3 should continue to enhance the core framework, improve the end user experience, increase developer productivity, and integrate new standards and web technologies. Most features in this category are a direct result of customer feedback.

Code Refactoring | Flex Module Support | JavaScript/Ajax Wrappers | Multiple Flex SDK Support | Performance and Memory Profiling | Third Party Component Support in Design View


Adobe AIR Debugging

Planned milestone: M1

The Flex Builder debugging perspective should support attaching to Adobe AIR.

Adobe AIR Packaging

Planned milestone: M1

Flex Builder will add a new export wizard that enables developers to package Flex applications as Adobe AIR applications:

  • Introduce an "Export to Adobe AIR Installer" wizard
  • Add code signing and public key token support for Adobe AIR packages
  • Make the Adobe AIR Export wizard compatible with the Publish Source feature

Adobe AIR Projects

Planned milestone: M1

Flex Builder should offer a new project type for targeting Adobe AIR. A user should also be able to easily create an Adobe AIR library project with a lib path that is configured to expose the full range of Adobe AIR APIs.

  • Update the New Project Wizard to support Adobe AIR projects
  • Add properties to support the application.xml configuration file format used by Adobe AIR applications.
  • Support code completion for Adobe AIR APIs within Adobe AIR projects

Code Refactoring

Planned milestone: M2

Flex Builder 3 should enable refactoring tools for MXML and ActionScript that are similar to those provide by Eclipse JDT, including Find All References, Move and Rename.

  • Enable the user to find all instances/references of a unique identifier (type, variable, function, metadata, etc) in the given project/workspace/file, including references found in elements linked in from SWCs and/or other entries on the library path.
  • Enable the user to rename an identifier within a project, updating all the references as appropriate.
  • Enable the user to move types (interfaces, classes) on the file system, updating their names and references to correctly reflect this new location.
  • Find all references will be exposed to the user in two distinct ways, one based on the current file being editing and one who's scope is the entire project or the current workspace.
  • Expose the ability to mark all references in a file currently being edited. Essentially, whenever a user clicks on an identifier, all instances of that identifier will be marked depending on the user settings.

Enhanced Color Picker

Planned milestone: M3

Implement a new custom color picker for use in design mode. The color picker should permit the developer to choose a color value graphically with a "Photoshop-like" visual interface, or by manually entering hex or RGB values.

  • The current design mode color-picker should get replaced with a Photoshop style color-picker
  • This new color-picker does not need to include an eyedropper.

Flex Module Support

Planned milestone: M1

Add more assistance in using Flex modules than is provided in Flex Builder 2.01. The Flex Module wizard should create a module file in an application project (Flex, ActionScript, Adobe AIR) and populate it with appropriate default content. Unlike the other new file wizards, this new wizard should handle both MXML and ActionScript. If MXML is selected, the default content is a <mx:Module> tag. If ActionScript, it is a class that extends ModuleBase.

Note: Resource modules (a facet of the Moxie runtime localization feature) will be addressed in a separate spec on Flex Builder localization requirements.

  • MXML modules should follow the same placement and naming rules as MXML apps. That is, they are output to a location in the output folder that corresponds to the source file, with the same base name.
  • New modules property page: This is a page for all application projects (Flex, ActionScript, Apollo). It controls what modules are built, how, and where they go
  • Build only 1 module swf. By default it will include debug symbols, so both Run and Debug will work. To exclude debug symbols prior to deployment the user must uncheck the debugging checkbox on the Flex Modules properties page.

Introductory Data Wizards

Planned milestone: M3

Provide a set of wizards in Flex Builder to help new users connect to server-side data. The goal is to expose a simple UI that will guide the user in connecting to database and generate server code (PHP, CFML, ASP.NET, or Java) and/or client code (MXML and ActionScript). The generated code should demonstrate how to implement the basic CRUD operations and communicate data and commands between the client and server tiers. The wizard is primarly intended for learning the techniques necessary to interact with server-side data, but the auto-generated code can be extended and modified for use in a live application.

  • Users should be able to connect to any supported JDBC driver
  • Generated code should be simple, clear, and documented / architected using best practices.
  • If the user has the Eclipse Data Tools Project (DTP) installed in Flex Builder, the wizard should take advantage of the DTP Data Tree that presents a hierarchy of the connected database (database introspection view).

JavaScript/Ajax Wrappers

Planned milestone: M3

Make it easy for web developers to expose the properties or methods of a Flex component as native JavaScript methods or properties. This will enable developers to take Flex components and include them in their current HTML + JavaScript (AJAX) work.

  • Provide wizards that help you generate JavaScript that uses the Flex/Ajax Bridge to access properties or methods of a Flex component or micro-application.
  • Provide tool support for introspection of AS / MXML files and generation of respective JavaScript / MXML code.
  • Make it easy / automate the description of AJAX components that talk to flex for the developer.
  • Create verbose definitions of JavaScript classes so that the JS developer can take advantage of 3rd party JavaScript tool support (auto-completion and language intelligence)

Multiple Flex SDK Support

Planned milestone: M1

We realize that Flex developers cannot immediately jump to the latest version of Flex when a new release comes out. There may be projects that are in progress or an older project code base that needs to be maintained. Flex Builder should allow a user to have Flex projects that work with different versions of the Flex SDK inside Flex Builder. 

  • Given that a framework is tied to a compiler, Flex Builder should treat the two together when thinking of versions. Therefore FB should support multiple SDK directories and behave appropriately.
  • Flex Builder should allow the user to specify the installed SDKs by configuring the workspace. The workspace provides a default SDK for any project. A project dialog allows the user to override the default to specify a specific SDK for the given project.
  • Design View needs to behave appropriately for the target SDK version
  • Editor support needs to be version-aware (MXML code completion, etc)
  • Project settings for Flash Player targets need to also understand the matrix of which SDKs support which Players.

Pan and Zoom

Planned milestone: M1

Flex Builder should allow users to zoom and pan in design view using techniques that designers are comfortable with. Pan and Zoom capabilities should be enabled by keyboard shortcuts and from new toolbar buttons in the design perspective.

  • Users should be able to zoom in and out by using a context menuitem and/or shortcut key
  • Provide three new tools in the toolbar: select arrow, pan, and zoom.
  • Provide a new magnification pulldown menu to select from various preset scale factors.

Performance and Memory Profiling

The new Flex memory profiler should allow developers to see live memory usage, detect potential memory leaks, and detect excessive object creation for Flex applications. The new Flex performance profiler should help developers narrow down and understand the performance bottlenecks in their applications.

Similar to "Flex Debugging", the Flex Profiler plugin uses socket connections to communicate with player instances. The profiler would send the player instructions to suspend, resume, run garbage collection, etc. The player would send memory and timing data to the profiler. The profiler usually puts the data in some temporary area and processes only just enough for display purposes (so as to keep FB/the profiler client responsive).

  • The Flex Profiler should permit users to visually examine application performance issues such as: locating performance bottlenecks in code, locating loitering objects (a.k.a. Detect 'memory leaks'), and locating excessive object allocations.
  • The "Profile" view should display the currently connected applications, their status, and all the memory and performance snapshots that are associated with them.
  • For optimizing memory usage, users would like to try and figure out how much memory each function uses during a period of time and pick the top memory allocating functions to optimize. The "Allocation Traces" view should show how much memory each function uses.
  • When users click a class name in "Memory Snapshot" or "Loitering Objects", the profiler should open the "Object References" view. The "Object References" view allows users to examine the relationship between the selected objects individually and the other object. The view also should also show where the selected objects were instantiated.
  • The "Performance Snapshot" view should show at a given time interval, how the methods in the application perform. Users are then allowed to click on a method name in the table to open the "Method Statistics" view, which allows users to "drill down" in order to locate performance bottlenecks.

Preview Item Renderers in Design View

Planned milestone: M1

Implement support in Flex Builder design view for displaying custom item renderers. This will make it easier for users to create layouts using components such as Lists and DataGrids that use custom item renderers. Design view should display item renderers that are populated using static, inline data. (This feature only plans to support simple "dot" data binding expressions. Supporting other forms of data providers and more complex data binding expressions is not part of this feature.)

  • Add support for components based on ListBase (List, HorizontalList, TileList, DataGrid, Tree, Menu).
  • Display item renderers that are populated using static, inline data using simple "dot" data binding expressions.
  • Support both inline and external item renderers.
  • Support third party components with item renderers (B feature)

Skinning Import Wizards

Planned milestone: M2

Flex Builder 3 should enable users to import artwork from the CS3 releases of Flash Authoring, Fireworks, Illustrator, and Photoshop into a Flex project and use them as skins for components. Adobe CS3 applications will have templates to help the users create the skin artwork in the proper format to be read in by this import feature.

  • Import Skin Artwork Wizard: Access the import skin artwork wizard from the standard Eclipse Import menu item
  • For a folder of images, all files of any supported image type will be listed - the wizard should allow you to select an individual asset - or the entire folder
  • When the user clicks "Finish", the CSS for the skin definitions will be generated. If the user specified an existing CSS file, any existing properties in existing rules for the same names/styles will be overwritten if that property is redefined from our import.

Third Party Component Support in Design View

Planned milestone: M3

Flex Builder should have better support for third-party components in design view. Also, the components view and the properties view should be just as good for 3rd party components as it is for Adobe Flex components like charting and advanced data grid controls.

  • The component author should be able to specify the category for the Components panel.
  • The component author should be able to control the Standard View property sheet including the Common and Style categories
  • A component developer should be able to deliver a single component in a SWC that contains all appropriate information
  • The component author should be able to include Design view extension code to specify Design View surface behavior
  • The component author should be able to specify the default code that gets inserted when a component is dropped on the stage

Visual CSS Editor

Planned milestone: M2

Similar to the Flex Style Explorer, the improved CSS editor will enable users to graphically manipulate individual skin styles and generate the CSS rules for the application. When a user opens a CSS file, the Outline view will show all of the currently defined CSS rules. Once a particular rule is selected, Design view will show all of the visual states of the component as defined by the currently selected rule.

  • Access to CSS markup in MXML or CSS documents
  • Continuous synchronization between model and source code
  • Provide a read/write object model for CSS markup that will accommodate the needs of the new Moxie styling and Skinning features.
  • The current text-only CSS editor will be changed to a multi-part editor with Source and Design modes. The architecture and user interface will be very similar to that of the MXML editor.
  • Users should also be able to chose from one of several prepackaged themes when creating a new project.

Web Services Introspection

Planned milestone: M3

SOAP web services are one of the most popular ways for developers to access data in Flex applications. Flex Builder 3 should make it easier for developers to build applications that consume web services by helping them introspect WSDL files and automatically generating connection code for invoking web service operations. A related goal is to enhance the web service model so that developers can create client proxies that return strongly typed objects. This model is also more common in other programming languages, such as Java and .NET.

  • Users MUST be able to add a web service reference to a project by pointing to a WSDL file by URI.
  • Based on a WSDL reference, Flex Builder MUST be able to generate strongly typed client AS proxies for use in a Flex project. This will also trigger code hinting on those proxies.
  • Once a web service has been referenced, Flex Builder should provide code hinting and error checking for its operations and their associated types, including any custom types consumed or produced by an operation.
  • Users should get a hint on how to use the generated code after it is generated
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.4.5 Build:#708)

Adobe Terms of Service
    Adobe Privacy Policy