Andrew Shorten: Transitioning from Flex Builder 3 to Flash Builder 4
It’s been a little over a month since Adobe unveiled version 4 of its Flex Framework, along with Flash Builder 4 (previously named Flex Builder). DZone caught up with Adobe’s Andrew Shorten to see how the community's response has been so far to the new release, as well as to get an overview of the migration path from Flex 3 to Flex 4. According to Andrew, you don’t need to use the Flex 4 SDK to benefit from most of the new features added to Flash Builder 4 – in fact, FB4 makes it easy for you to import your existing Flex Builder 3 projects and continue compiling against the Flex 3 SDK.
DZone: Andrew, can you tell us a little bit about yourself and your role at Adobe?
Andrew Shorten: Sure, my name is Andrew Shorten and I’m a Senior Product Manager at Adobe for Flash Builder – my role is to make sure that we build a product that makes ActionScript and Flex developers successful; that involves listening to customer feedback, anticipating future requirements and working with our engineering team to add features and workflows that developers will want to use and that will enable new types of applications to be built on the Flash Platform.
Prior to taking on that role earlier this year, I was a Platform Evangelist for Adobe based in Europe, so I spent a lot of time talking with developers who use Flex and the other Flash Platform technologies – that background has been incredibly helpful as I’ve taken on the product manager position.
DZone: In March, Adobe unveiled the latest versions of its Flash Platform technologies, namely: Flex 4, Flash Builder 4, and ColdFusion Builder. How has community response been so far?
Andrew: This was an eagerly anticipated release – the community gave us great feedback during the public beta period for these products and we saw significant usage of Flash Builder 4 on real-world projects, even whilst it was in beta. Of course, most developers will wait until we have shipped the final version, so it is great that we’ve now got these products to market.
With the release of the Flex 4 there are plenty of reasons to consider migrating an existing application as well as using it for new Flex projects you’re starting work on - there is an entirely new component model (named “Spark”), enhanced text, improved compiler performance, language enhancements and support for Flash Player 10; all of which means you can build more expressive and high performance rich Internet applications.
For Flash Builder 4 though it’s important to note that you don’t need to use the Flex 4 SDK to benefit from most of the new features added to the development tool itself.
We’ve made it really straightforward to import existing Flex Builder 3 projects and continue compiling against the Flex 3 SDK, so there won’t be any lost time in having to migrate your applications upfront.
With ColdFusion Builder, this is a brand new product for developers who are developing with ColdFusion – the ColdFusion community has long requested an IDE from Adobe so hopefully folks will be excited to see this release! We’ve also included Flash Builder 4 Standard with ColdFusion Builder, so it is now really easy for ColdFusion developers to build Flex-based client-side applications that work with ColdFusion-based backend services.
DZone: Why did Adobe decide to rename ‘Flex Builder’ to ‘Flash Builder’?
Andrew: After the release of Flex Builder 3, we found that it wasn’t just Flex developers who wanted to make use of the code editing, debugging and profiling features that were available in the product; developers who were writing ActionScript-only projects and those working with Flash Professional, but who were also spending a significant amount of time coding, were turning to Flex Builder.
The appeal of Flex Builder to an ever-widening audience of non-Flex developers, combined with the increasing momentum behind the Flash Platform and recognition that whether or not the Flex framework was involved, developers were building Flash applications, gave us the opportunity to evaluate whether a name change made sense. Now, with the release of Flash Builder 4, I’m really glad that we changed the name – Flash Builder continues to offer Flex developers the most productive development environment available, but also adds workflows for those using Flash Catalyst, includes new support for Flash Professional projects and offers robust code editing capabilities demanded by ActionScript developers.
DZone: Have people responded well to the re-naming of ‘Flex Builder’ to ‘Flash Builder’? Is there still any confusion around this name change?
Andrew: Any product rename takes time for people to adjust to, but hopefully we’ve made the distinction between the Flex SDK and the tooling clearer.
Really all we’re saying here is that Flash Builder is the professional development environment for anyone building applications that target the Flash Platform – i.e. if you’re writing MXML and/or ActionScript code then Flash Builder should be for you.
Flex now relates purely to the Open Source SDK that can be used to build rich Internet applications, with or without the use of an IDE from Adobe.
DZone: What are some of the major changes/enhancements that have been made going from Flex Builder 3 to Flash Builder 4?
Andrew: In the Flex 4 SDK, we've implemented a completely new component and skinning architecture (Spark) that supports a level of expressiveness in RIAs not seen previously. With the new Spark component and skinning architecture, component logic is "divorced" from component visuals such that customizing either the behavior or look and feel of the component is much more straightforward. Additionally in the Flex 4 SDK, we have improved the Flex compiler performance, enhanced numerous language and infrastructure features and provided first-class support for the new runtime capabilities in Flash Player 10.
In Flash Builder 4, we’ve made it easier than ever to connect to back-end services with a complete set of data centric development features, enabled new design and development workflows with Flash Catalyst and Flash Professional; in addition, we’ve enhanced the core code development features that are essential to developer productivity.
In this area alone, we've implemented new refactoring options, improved the debugger to support conditional breakpoints, watchpoints and expression evaluation, added code generation features and made it easier to test applications with the new network monitor and FlexUnit support.
DZone: What do people need to be aware of if they are transitioning from Flex Builder 3 to Flash Builder 4?
Andrew: As I mentioned earlier, you can move existing Flex 3 applications, developed using Flex Builder 3, to Flash Builder 4 without needing to migrate the application to use the Flex 4 SDK - this enables you get the benefit of the new Flash Builder 4 features straight away on an existing project.
I’ve written an article to explain the process of importing projects into Flash Builder 4, but the key thing to remember when moving projects is to specify during the import process that you want to continue compiling against the existing Flex 3 SDK.
If you do want to take advantage of the Flex 4 SDK, then there are a number of different approaches you can take, depending upon the extent of the new SDK features you want to use and the amount of migration work that you’re prepared to undertake.
To use the faster Flex 4 compiler with an existing Flex 3 project, you can import it into Flash Builder 4 and use a “Flex 3 compatibility mode” – this maintains the existing behavior of the application and shouldn’t require changes to your code, but you should see significantly improved compile times for the project.
If you want to make use of the new Flex 4 language features, such as the new states syntax, advanced CSS and two-way data binding, in your existing project then you can turn on an “MX only” mode that means you don’t have to worry about incorporating the new Spark components. Even if you do want to go all the way with moving your application to Flex 4 you can still mix the existing MX with the new Spark components in your application.
As you start to use Flex 4 features you may need to undertake some migration work to ensure that your application compiles successfully. Adobe has published a migration guide to help developers with the task of updating an existing application and we also have resources on the Adobe Developer Connection site that provide guidance on this topic.
DZone: What trends are we seeing in the industry that may be driving more organizations to invest in RIA development? How is this impacting the adoption of Adobe’s Flex platform?
Andrew: One of the main trends we’re seeing is a need for content publishers and application developers to deliver rich Internet applications to a number of platforms and devices. This will only increase as we continue to see new mobile and internet-connected portable devices, from a range of manufacturers, appearing in the marketplace.
Adobe has already enabled developers to build and deploy Flex applications that are available via the browser in Flash Player and out-of-browser with Adobe AIR. We’re actively working on mobile versions of our runtime technologies, as well as a mobile-optimized Flex framework and mobile-related tooling support, to be made available in a forthcoming release of Flash Builder, code named “Burrito”.
You can expect to hear more about Adobe’s plans for mobile and multi-screen development throughout 2010, but our aim is to enable Flex and ActionScript developers to be able to build, test and deploy applications across multiple screens and platforms using the tools and languages they are already familiar with.