Flex 4 & FlashBuilder Impressions - Catalyst, FXG, Spark Components

By M&S Consulting (Mark) on Jun 8th, 2010
Filed Under Industry Trends, Technical Tips // Tags: , , ,

This past week I was able to write a small application with the Flex 4 API and FlashBuilder. I have quite a bit of previous experience with Flex 3. As a side note, it seems that the name change from FlexBuilder to FlashBuilder came about to emphasize the new integration capabilities with Adobe’s new Catalyst product. Catalyst advertises as a visual (no code) designer tool to create composite applications with existing Photoshop, Fireworks and Illustrator artifacts. These can then be imported with FlashBuilder into your Flex 4 projects.



One of the major changes is an entirely new set of UI components called Spark. These will take a little bit of getting used to as you create separate mxml files (FXG Flex 4 XML Skinning markup) to handle visual aspects of your components. Once you get a grasp of this new architecture it will become apparent how much easier it will be to skin your custom components and work with state. This will also enable the separation of the visual design from the component. You can now have someone that specializes in visual design more easily skin components. This is also where Catalyst comes in to work with FXG to create your skinning.



Another aspect that I really like is the ability to continue to use Flex 3 objects with Flex 4. This will allow you to gradually integrate some of the new features. A piece of advice though is to remember which component group you are using. For instance, MX RadioButton events are not always captured by a Spark RadioButtonGroup. Make sure you are always paying attention to your name spaces:

Spark Component

<s:RadioButton/>

MX Component

<mx:RadioButton/>

Some of the other aspects that win kudos:

  • Two way binding e.g. @{object}. Cuts down the amount of code, that’s always a good thing!
  • The new Group and Scroller classes. Using the Group to handle layout while having a defined scroller object makes it easier to work with containers and makes dynamic scrolling easier. For Instance, bring a component into view:
    • Mxml:
      <s:Scroller width="100%" height="100%">
      <s:Group id="content">
      <s:TextInput id="myField"/>
    • ActionScript:
      var myFieldBounds:Rectangle = myField.getBounds (this)
      content.verticalScrollPosition = myFieldBounds.bottom;
  • Faster compile times. It is not as fast as Java but it is helping with one of the gripes developers have about Flex.
  • Find/Replace across the entire project. Another extremelly useful feature is now part of Flex and FlashBuilder.
  • FlexUnit integration, improved refactoring and new data tools are all new features that should make Flex even more enjoyable to work with.



Just scratching the surface with the changes but they do look very positive. Like any tool set there are always frustrating aspects, but all-in-all, I believe Flex is heading in a very positive direction.



Lastly, owning a MacBook Pro allows one to appreciate Apple’s innovation and craftsmanship. Apple’s reluctance to install the Flash player on the iPhone and IPad is problematic for all. There are an enormous amount of websites using Flash and now Flex/Flash applications. There needs to be a meeting of the minds between Steve Jobs and Adobe. Any concerns voiced or changes that need to be made should be in an open and transparent fashion. It will be interesting watching this story play out.

Bookmark and Share

Related Information:

  1. Flex Builder 3 Download - Where’s the link?
    It is now more difficult to find Flex Builder 3 for download. I just got a new laptop and wanted...
  2. Flex 3.0 Introspecting Utility: Handling Collections Bug
    Even Flex Builder with all its awesomeness is not without its own set of quirks. It seems the introspecting utility...
  3. Modular Flex Development - Multiple SWFs
    I have been tasked with coming up with a modularized approach for logically separating out an extensive Flex application I...
  4. Flex on Android - Nexus One Mobile Device
    I just can’t wait for Flash on Android…and for Apple’s hand to [hopefully] get forced into supporting Flash as well....
  5. Dynamic forms and dependent dropdowns in Flex
    I had the age-old requirement today to build a data-driven, dynamic form…only this time with my RIA written in Adobe...
  6. Flash-Based Oracle MetaLink Sucks
    I am a big fan of RIA, Flex, and Flash UIs in general. So, why do I feel that the...
  7. Oracle APEX Main Components
    One of the main functions of APEX is to be able to easily build applications and perform basic database administration...

Leave a Reply


Archives

Recent Comments

  • Tony Hale said: What a great resource these videos are! These are all very helpful. Anything you can do to popularize...
  • Mohammed said: Hello, Thanks for the tutorial, but I’ve noticed that the link isn’t setup right,...
  • shekar said: thanks mate, you saved my day… the link is still working….
  • romit said: thnx a lot.. i had been searching for this link from last 4 days. and was just about to quit my search...
  • Ram said: By the way, FB 4 includes both SDK 4 and 3. Therefore if you are looking for FB 3, download FB 4 and point...

Calendar

September 2010
M T W T F S S
« Jul    
 12345
6789101112
13141516171819
20212223242526
27282930  

Featured Testimonial

"M&S has taken 'partnership' to a new level. They are not only a deeply skilled service provider, the M&S team is actually a mission critical component to our operations, taking on new initiatives as well as maintaining custom, open source, and COTS solutions."

CEO, MedPivot

Free SQL Service