Adobe's Flex platform has emerged as one of the main rich-client frameworks in use today. Part of Flex's attraction is that it works inside Flash Player, a virtual machine environment present on a vast majority of desktop computers and even on mobile devices. As a result, Flex insulates a developer from the browser idiosyncrasies some other rich-client platforms, such as Ajax libraries, must contend with.
Flex has also had in increasingly capable, Eclipse-based development environment, Flex Builder. With the release of the Flex 4 framework, Adobe re-christianed its IDE to Flash Builder 4. In this interview with Artima, Dave Gruber, Adobe's Flash Builder marketing manager, explains how new features in Flash Builder 4 improve developer productivity:
Today we released Flex 4, the latest iteration of the open-source Flex framework. Together with Flex 4, we also released Flash Builder 4, the most recent version of our Eclipse-based development tool. In addition to allowing developers to take advantage of all the new features in Flex 4, FlashBuilder 4 offers significant enhancements to developer productivity.
Flex 4 is all about enhancing the collaboration between developers and designers of rich-client applications. Developers and designers not only have different skill sets, but also different tools, and we made it seamless in Flash Builder 4 for developers and designers to work together on the same application.
Easier developer-designer collaboration is enabled by our new
component infrastructure in Flex 4, Spark. Spark-based components
separate the visual aspects of a user interface from the more
programmatic parts, such as presenting and formatting data. Developers
can continue using the older Flex components, based on the Halo
architecture, but moving to Spark over time can make it a lot easier to
reap the benefits of working designers on rich-client projects. Flash Builder 4 allows you to work both with new Spark and the older Halo components.
Connecting to Data
In addition to allowing you to benefit from all the new capabilities
of Spark components, we've added a tremendous amount of features to
Flash Builder 4 to make it easier and faster for developers to connect
to data and to build data-rich applications.
In a typical Flex application, you have local data that you deal with
on the client side, and you have back-end business logic and data that
sit back on the server. The new data-centric features in Flash Builder 4
allow people to introspect back-end services and data in a common
fashion, be those Java-based back-end services, PHP, ColdFusion, SOAP,
or RESTful services—you can access them all using a common data
and services browser built into Flash Builder 4.
When you introspect those services, you can interact with methods
offered by those services via simple drag-and-drop gestures. You can
also use data binding to bind data from those services to user-interface
components in your application. These features make it easier and faster
for experienced Flex developers to develop data-aware applications. At
the same time, the new data-centric features also open the product to a
broader developer base—to developers who didn't want to learn all
the hand-coding required to make the necessary data connections to
different kinds of back-end services in the past.
We're particularly excited about the PHP and ColdFusion audiences
finding these features useful. Of course, you can connect to a
Java-based back-end infrastructure as well, using the Adobe LifeCycle
Data Services or the open-source BlazeDS technology. You can install
BlazeDS for free to help you introspect all types of Java back-end
services from a client and from Flash Builder 4. We also have some
additional built-in integration with the Spring Framework.
For a typical Java enterprise application, you would first install
BlazeDS on your server. Then you can connect to your BlazeDS
implementation through Flash Builder 4. The wizards in Flash Builder 4
walk you through setting up that connection very easily. At that point,
you have full visibility of all your EJBs, and you can expose specific
objects, and even methods within those objects, through the tool. You
can then invoke those methods from the Flex client.
Our soon-to-be-released LifeCycle Data Services tool offers a few
additional features. Rich-client developers often want to make use of a
data model on the client that was already defined for a server-side
application. A new library that you can install into Flash Builder 4
provides a modeler that allows you to replicate much of your server-side
object model in the client. That functionality is not available in
BlazeDS, but you can download it for development purpose for free.
Coding Productivity
Another productivity-enhancing feature is a new Network Monitor in
Flash Builder 4. It allows you to audit all the data that moves back and
forth between the client-side app and your server-side business logic.
Not only does it audit the network communication, but it also gives you
the amount of time the data transfer took and the amount of data that
was transmitted. You can view the data broken out by specific
elements.
There are new debugger features that we added, with the capability to
set watch points and conditional breakpoints. Then there are many new
intelligent coding capabilities, such as code indentation, code
formatting, and code hinting. We've added more refactoring capabilities,
too, such as moving code from one class to another, or inside the same
class.