Main

June 11, 2009

The Blueprint Eclipse plug-in is live on Adobe Labs (for Flex Builder 3 and Flash Builder 4)

I want to tell you about Blueprint, which we released on Adobe Labs last week and just last night updated to include support for Mac, Windows, Flex Builder 3, and Flash Builder 4.

Blueprint is an innovative code-centric search application, initially delivered as an Eclipse plug-in. It is a custom search tool that searches only for code (for now, it searches just for MXML and ActionScript). So, for example, if you search for DataGrid, it returns a set of code examples that use the Flex DataGrid control. But what's really cool is that you can easily highlight, copy, and paste chunks of code right into your application, all without leaving Flex/Flash Builder.

For more information, see the Blueprint page on Adobe Labs

August 13, 2008

More Specs Available for Gumbo (the Next Version of Flex)

New specifications for Gumbo, the next version of Flex, are now available. Go to the Gumbo page of the Flex Open Source site to read, and comment on, the plans for Gumbo.

Of particular interest is the Skinning and SkinnableComponent spec, which is a must read for those interested in the new Gumbo framework. There also have been modifications to the Gumbo Architecture whitepaper.

Other new specs that are available include those for TrackBase, Range, Slider, and ScrollBar.

July 14, 2008

Learn About Gumbo: The Next Version of Flex

Gumbo is the code name of the next version of Flex. New information about Gumbo has been made available on the Gumbo page of the Flex Open Source site.ᅠ

Highlights of the new information about Gumbo include the following:

1. Themes of the Release
Gumbo is being planned around three primary themes:


  • Design in Mind
    A framework for continuous collaboration between designer and developer.

  • Developer Productivity
    Improve compiler performance and add productivity enhancements.

  • Framework Evolution
    Take advantage of the new Flash Player capabilities and add features required by common use-cases.


2. Recorded Presentations
3. White Paper: An Introduction to the Gumbo Component Architecture
This white paper provides a comprehensive look into our plans for the next version of Flex.

4. Gumbo Feature Specifications
Read, and comment on, the recently published specifications for Gumbo. Currently, there are eight specs available, with more on the way.

June 2, 2008

The Security Sandbox in Flex Builder 3

We recently received a question from a user about Flex Builder security sandbox settings. I thought the answer to this question would be of general interest.

Question: In Flex Builder 2, the security sandbox settings for both debug mode and release mode was local-trusted. In Flex Builder 3, why is release mode now local-with-network?

Short Answer: Whether a given SWF, when run locally in a non-trusted location, is local-with-filesystem or local-with-network is a compilation setting. This setting is stored as a flag in the SWF header and is the only compiler flag. The default is local-with-network and has not changed in Flex Builder 3.

What is new with Flex Builder 3 is that we no longer put the release SWF inside the trusted debug output folder by default. The advantage to the developer is that the release SWF will run in the same security sandbox in which it will be deployed. Thus you get accurate application behavior instead of the more permissive local-trusted, which is only available to the developer.

Detailed Answer: In Flex Builder 2 we put the release SWF alongside the debug SWF, which was inside an output folder that we configured the flash player to trust for the following reason:

You could click, debug, and launch your application and have it access network services without first configuring the project to host the SWF on a web server (and thus have to launch it with a proper http:// URL). Basically, you can launch your application from the file system using file:/// URLs.

The problem with this approach is that when testing the release SWF, even if you edited the launch URLs to use http://, you would be running the application out of local-trusted instead of the actual deployment sandbox (remote).

There are other problems with this arrangement, such as facilitating the accidental deployment of both debug and release SWFs in the output folder.

So, for Flex Builder 3 we separated the notion of the Run button from the release SWF. The Run button merely launches the debug-capable SWF with debugging turned off. The Export Release Wizard creates the actual release SWF. Flex Builder 3 encourages you to put the release SWF somewhere other than your debug output folder. Thus, to test the release version, you must launch and test it as an end user would using a browser and web server (that is, unless you actually want the end user to try to run it locally).

Note: Use the custom compiler option, use-network=false, if you want to override the Flex Builder default compiler option. This would change the settings to local-with-filesystem.

April 30, 2008

Master-Detail Flex Application

I’m an Adobe writer assigned primarily to Flex Builder and the Flex SDK. I joined Adobe in October of 2007 and have spent the first few months learning and using Flex and Flex Builder.

I’ve recently completed my first Flex application, and am using this blog to write about my learning experience, and also to describe some of the concepts behind the application that make it work. Actually, these are two applications that work together, vRadio and RadioLoginDB.

These applications illustrate how to use Flex to create a master-detail application that accesses data from a PHP server, and also incorporates PHP sessions.

At the end of this posting is a list of documentation sources I used to learn how to create the applications. I also have links to the source files.

vRadio and RadioLoginDB applications

I have always been a fan of Community Radio, and in the past I’ve Googled “Community Radio” to find new stations to listen to over the web. I created the vRadio application to provide a Flex alternative that lists Community and Talk radio stations, providing details about each station including station name and location, station graphic, and clickable links to open the station. RadioLoginDB is a CRUD application to update the database of radio stations used by vRadio.

vRadio is a Master-Detail application, and corresponds to many type of applications that present stored data in a variety of presentation formats, and also provide forms for updating the data.

What is interesting about the the vRadio application is the way Flex handles XML data using the E4X format. By providing an XML feed into the vRadio application, the application displays the XML data in a tree view. When the user clicks a node in the tree, details are displayed.

Continue reading "Master-Detail Flex Application" »

April 3, 2008

Adding Java Development Tools to Flex Builder Standalone

Many Flex, Adobe AIR, Adobe BlazeDS, and Adobe LiveCycle ES developers choose to use the Eclipse plug-in configuration of Flex Builder so that they can develop Java code in the same IDE that they use to develop the MXML and ActionScript code. While the standalone version of Flex Builder does not contain tools to edit Java code by default, you can install them as Eclipse plugins. That lets you use the standalone version of Flex Builder to edit Java code.

To install the Java development tools in the standalone version of Flex Builder:

1. Use the Help > Software Updates > Find and Install menu command to open the Install/Update dialog box

2. Select Search for new features to install.

3. Click Next.

4. In the results, choose Europa Discovery Site.

5. Click Finish.

6. Select the Java Development package to install.

7. Click Next.

8. Accept the license.

9. Click Finish.

Note: You might be prompted to install additional plugins required by the Java Development package.

To change perspective:

1. Use the Window > Perspective > Other to access all perspectives.

You can also click the Open Perspective button in the upper-right corner of the workbench window, then select a perspective from the pop-up menu.

2. Select Java from the list of perspectives.

March 3, 2008

Creating ASDocs for Custom Adobe AIR Components

The Flex ASDoc tool parses one or more ActionScript class definitions to generate API reference documentation for all public and protected methods and properties, and for all [Bindable], [DefaultProperty], [Event], [Style], and [Effect] metadata tags. By default, the ASDoc tool links in all of the Flex SWC files required to compile custom Flex components. However, to use ASDoc to generate documentation for custom Adobe AIR components, you must link in the necessary AIR SWC files.

For example, you create a custom component named MyAirComboBox that extends the AIR mx.controls.FileSystemComboBox component. The directory location of your custom component file is:

C:\myApplication\myComponents\MyAirComboBox.as

Use the following ASDoc command to generate API reference documentation for MyAirComboBox:

..\bin\asdoc -doc-sources C:\myApplication\myComponents\MyAirComboBox.as -library-path+=..\frameworks\libs\air -main-title "My AIR API Documentation" -window-title "My AIR API Documentation" -output air-asdoc

This command assumes the following:

  • You run the command from the directory C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\asdoc in your Flex Builder installation directory structure. If you are using the Flex SDK, or have installed Flex Builder on another operating system, modify the paths in this command as necessary.
  • The AIR SWC files are installed in the directory C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\frameworks\libs\air. This is the default directory location for a Flex Builder installation.

    This command uses the library-path option to the ASDoc tool to specify the directory location of the AIR SWC files. The"+=" operator to the -library-path option specifies to append the AIR SWC files to the Flex SWC files.

  • The ASDoc tool writes the output to the directory C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\asdoc\air-asdoc.

If you have created multiple AIR components, you can use the following ASDoc command to generate documentation for an entire package:

..\bin\asdoc -doc-sources C:\myApplication\myComponents -library-path+=..\frameworks\libs\air -main-title "My AIR API Documentation" -window-title "My AIR API Documentation" -output air-asdoc

See the Flex 3 documentation for more information on the ASDoc tool.

February 29, 2008

Migrating applications from Flex 2 to Flex 3

Migrating from Flex 1.x to Flex 2 was -- how can I put it -- painful. We scrubbed the APIs to make them consistent; as a result, many properties, methods, events, and even some constants changed, and sometimes changed again. We added and removed classes and interfaces. Heck, we even changed the capitalization of "Void" to "void". In addition, the underlying language went from ActionScript 2.0 to ActionScript 3.0. There was no shortage of tasks for updating apps from 1.x to 2.

This time around, however, the APIs have already been through the scrubbing and many of the issues have been ironed out. Most of the migration duties you'll encounter will be related to updated features, like:

Localization -- The l10n system has changed alot (for the better!). It's now much simpler to implement, and it supports runtime locale-switching. You can use the same properties files, but you might have to rewrite the way they are accessed. Check out the localization doc.

Style properties -- A number of style properties have changed to support the new subcomponent style feature.

Deep linking -- This is a new feature, but if you were using the HistoryManager class, you really should switch to using the BrowserManager class to do all your browser/Flex app communication.

Compiler and configuration args -- A few compiler arguments have changed. If you use config file or ant tasks to do your compilation, you might have to modify your files.

Here are some resources that should help with migration issues:

  • Deprecated elements in the Language Reference -- A list of all the class elements that are now deprecated. The compiler will also warn you about these when you try to compile, but you can get a sense of what has changed from this list.
  • Backwards compatibility -- This includes a list of differences between the configuration files for SDK 2.0.1 and SDK 3, as well as a list of the changes to the framework.

  • Understanding Flex 3 Migration Issues on Joan Lafferty's blog: Part 1 and Part 2


It's also important to realize that with Flex Builder 3, you can compile your apps against the new compiler (version 3), or against any version of the compiler that you have installed. This way, if your code does not use any of the new features and you don't want to migrate yet, but you want to use Flex Builder 3, then you can without any issues. Of course, there's doc on that, too.

February 24, 2008

Flex 3 (and Flex 3 Documentation) is Live!

We started shipping Flex 3 today. Wow! This has been quite a release and, although you're probably reading this on all the Adobe blogs, we think it's pretty special. I know that we've made a number of improvements to the docs, and am going to ask the writers to create their own posts to enumerate their personal favorites. For my part, I'll call out two:

  • The Flex 3 Getting Started Experience - With Flex 2 and 2.0.1, we had a lot of negative feedback from Flex newbies.My manager, in her infinite wisdom, gave us a lot of support in hiring Inquirium (an instructional design firm) to interview Flex developers, figure out their common patterns/problems, and create a new getting started roadmap. Some hurdles we knew about (understanding that Flex access data indirectly through a server), but others were a surprise (a lot of people got caught up with asynchronous events). We then hired Trilemetry (big thanks to Emily, Annette, and Bob) to "realize" the Getting Started Experience. This turned out to be bigger than we thought, but I think it works really well, and the Beta feedback has been extremely positive.
  • Revised table of contents (TOC) architecture for Flex Builder online Help and LiveDocs - In our work with Inquirium, it became clear that viewers weren't thinking about "books" in the online doc experience. The revised TOC feels more navigable and I think it makes it easier to find stuff. Please check it out and let me know what you think. Note that we only did this for the core Flex books, so Flex Builder, Data Visualization, AIR, and ActionScript are still presented as books. Also note that material is still available as books through the Flex Help Resource Center.

OK. I lied. Two more things:

  • Obviously, I'm focusing on Flex, but AIR went live today, too, and this is a significant milestone for Adobe. For Flex developers, it's pretty simple: Any app you write for the browser should just run in the AIR runtime (and the Flex 3 LiveDocs include Developing AIR Applications with Flex). You can also take advantage of the extended functionality inherent in a desktop application and I recommend scanning the discussions of windows, menus, taskbars, files, data, HTML content and Rich media content. In particular, I think the drag & drop and local SQL database discussions are cool.
  • Please use the public bugbase to report problems with the Flex 3 documentation. You can also search the bugbase to see if anyone else has already reported an issue.

Thanks everybody for your feedback during the Flex 3 Beta cycle. You made a difference.

On to Flex 4!

February 15, 2008

Measuring Message Processing Performance in BlazeDS

One place to examine application performance is in the message processing part of the application. To help you gather this performance information in BlazeDS, you can enable the gathering of message timing and sizing data.

When enabled, information regarding message size, server processing time, and network travel time is available to the client that pushed a message to the server, to a client that received a pushed message from the server, or to a client that received an acknowledge message from the server in response a pushed message. A subset of this information is also available for access on the server.

Download the new chapter's PDF: Measuring Message Processing Performance

January 16, 2008

Java-based Compiler API

Flex 3 includes a Java-based compiler API that lets you compile SWF and SWC files from Java applications. The API supports all the same options as the mxmlc and compc command-line tools. The API includes classes like Application, Logger, and Project.

Downloads

The API's JavaDocs are here: flex_compiler_api.zip (245K)

There is a PDF which describes usage here: Compiler API Guide (194K)

December 13, 2007

BlazeDS Beta 1 Documentation

Adobe has made a very exciting announcement. We announced a new open source data services project called BlazeDS. BlazeDS Beta 1 is now available on Adobe Labs.

BlazeDS contains the latest versions of the Message Service, Remoting Service, and Proxy Service that were previously only available as part of Adobe® LiveCycle® Data Services ES. BlazeDS is a server-based Java remoting and messaging technology that lets developers easily connect to back-end distributed data and push data in real time to Adobe Flex™ and Adobe AIR™ applications.

BlazeDS usage documentation is available in HTML format on LiveDocs and as a PDF file:

BlazeDS ActionScript and Java reference documentation is available in these ZIP files:

Information about setting up a BlazeDS project in Flex Builder 3 is available here:
http://learn.adobe.com/wiki/display/Flex/Using+Flex+Builder+with+your+J2EE+server

Key features and benefits of BlazeDS are highlighted in the release notes. A great way to get started quickly with BlazeDS is the Test Drive application. The Test Drive is one of the sample applications included in the BlazeDS installation.

November 14, 2007

Are you using the Flex 3 Getting Started Experience?

For Beta 2, we introduced the online Flex 3 Getting Started Experience, found at http://learn.adobe.com/wiki/display/Flex/Getting+Started. This site is also available from the Flex Builder 3 Start Page.

We think that this site is a big improvement over the Flex 2 Getting Started manual and I encourage you to check it out. However, we're seeing something puzzling, and would like your feedback.

We are seeing very few comments (about 2 per week) and are trying to figure out why. If any of you have tried to add a comment to a page on the Flex 3 Getting Started Experience and given up/failed for any reason, can you please respond to this post?

October 10, 2007

Conditional compilation in Moxie

Moxie includes conditional compilation support. Conditional compilation lets you include or exclude blocks of code when you compile. It is generally used for debugging or instrumentation where there might be large blocks of code, classes, or entire libraries that you want to use during development but then want to exclude from your release version of the application.

The documentation did not get into the release of Beta 2, so here is the PDF that describes how to use this feature:

Download file (40K, PDF)

October 3, 2007

Documentation for the Flex Skin Design Extensions

This article describes how to create skins for Adobe Flex applications by using Adobe Flash CS3, Adobe Illustrator CS3, Adobe Photoshop CS3, and Adobe Fireworks CS3, and then import the skins into a Flex Builder project. To create skins, you must install the Flex Skin Design Extensions from Adobe Labs.

Download the PDF: Importing Skins into Flex Builder.

October 1, 2007

Flex 3 Beta 2 Documentation Improvements

Today, we released Flex 3 Beta 2 on Adobe Labs. We're all very proud of this release and I'd like to take a minute to describe some of the improvements that have been made to the learning resources:

  • The Flex 3 Getting Started Experience, which is fully integrated with the Flex Builder 3 Start Page, provides a series of modules designed to help new users dive into Flex. With the aid of Inquiriuum, an Instructional Design firm, we put a lot of effort into this and the improvements include:
    • Code, code, and more code - Each module displays all the code involved, all modules are available in a ZIP file, suitable for importing into Flex Builder, and certain modules are displayed in Code Anatomy format (Code Anatomy is an innovative Flex application, written by NJ, and enhanced by our friends at Trilemetry).
    • Step-by-step tutorials - Show you how to create the applications in Flex Builder.
    • Learn more links - If you're not a sequential learner, we provide links to all sorts of related material, include Adobe Training, LiveDocs, Quick-Starts, Blog postings, and chapters from O'Reilly books.
    • Finally, it's on online, wiki-based experience - By using a wiki, we'll be able to make continuous improvements and to respond quickly to your feedback.
  • LiveDocs pages now use the CS3 format and they load much faster. Yeah!
  • Runnable code examples in LiveDocs pages now include the running SWF. This looks much cooler than it sounds. To see what I mean, click on the SWF at the bottom of http://livedocs.adobe.com/labs/flex3/html/createeffects_14.html.
  • Flex 3 documentation is now in the Flex Builder Help system. The Help system also include AIR for Flex documentation and quick-starts. As usually, you can link from the Help system to LiveDocs.
  • Items that you might find particularly interesting include:
    • Create application from database - In Flex Builder, select Data > Create Application from Database, and follow the wizard to automatically generate a CRUD application that accesses one of your existing databases. For instructions, see http://livedocs.adobe.com/labs/flex3/html/data_03.html. (Please ignore the %embedded% lines. After all, this _is_ a Beta release...)
    • OLAP - Flex SDK now supports OLAP through the OLAPDataGrid control. Check it out!
    • Profiler - People have been anxiously awaiting the profiler. The documentation is part of Using Flex Builder.

Useful links

Bugs and known issues

The Eclipse 3.3 online Help engine requires XHTML-compliant HTML and it throws a servlet error when it encounters and offending page. If you run into this, please file a bug in the public bugbase.

August 13, 2007

Using the Flex Component Kit for Flash CS3 to Create Flex Containers

You use the Flex Component Kit for Flash CS3 to create Flex controls, containers, skins, and other assets in Flash CS3 Professional, and then import those assets into your Flex application. The documentation that is currently shipping with Flex Builder does not contain the information on how to create Flex containers. This article contains a documentation update with this information.

This documentation will also be included in the next beta release of Flex Builder.

Download the PDF: Importing Flash CS3 Assets into Flex