InfoQ

News

Case Study: Applying Java Programming Skill to Flex

Posted by Moxie Zhang on Jan 24, 2008 12:41 AM

Community
Java
Topics
Rich Internet Apps,
Design,
Programming
Tags
Flex

In an article published on Adobe Flex Developer Center, Bill Bejeck shares his experience creating components and enforcing separation of concerns with Flex, from a Java developer's perspective.

Bejeck's first impression when started using Flex was:

As a Java developer I was surprised at how familiar ActionScript 3.0 was, making the learning curve fairly flat.  Once I started using Flex, it was great to see that I could use most, if not all, of the approaches to writing software that I was used to.

In the article Bejeck is trying to create components with a mixture of inheritance and composition, and enforce separation of concerns, especially between view and business logic. His Java application development skills come in handy. As he writes:

As an experienced Java web developer, I learned over time that a JSP page should be used only for presentation.  All business logic should be in classes, and if you absolutely had to have code in your JSP page, you would wrap it up in a custom tag.

In Flex, ActionScript code can be included in a MXML file using tag, which is a similar feature of JSP page where Java code can be embedded. However, learned from working on other programming platform, Bejeck employes a practice called "code behind" where visual component is defined completely in ActionScript 3.0, and use MXML to decide how the components are visually rendered. Regarding this approach, Bejeck reminds the readers:

This is an architectural approach for building an application. If you are doing quick prototyping, there is no need to always use the "code behind" technique.

Then, Bejeck goes on describing the process in details, with code segments, on how he extended the Flex build-in visual components such as DataGrid, Panel, TextInput and Button to construct custom components and event handlers. At the end, a simple 8 lines of code MXML file is shown for rendering the UI and to demonstrate the clean UI design.

Bejeck concludes:

As you can see, by using the "code behind" approach, your code is very concise and maintainable.  As you develop more complex applications, not only would you have a palate of components, but maintenance and changes to your applications would be very manageable.

Bejeck also recommends two books in the article to readers who are interested in learning more about programming in ActionScript 3. They are

Essential ActionScript 3.0 by Colin Moock Advanced ActionScript 3 with Design Patterns by Joey Lott and Danny Patterson

1 comment

Reply

I agree by Matt Giacomini Posted Jan 24, 2008 4:14 PM

Back to top

I agree

Jan 24, 2008 4:14 PM by Matt Giacomini

As a Java developer that learned flex I agree with author, the learning curve was almost nothing. There are a few small thins that annoy me about Actionscript, but none of them affect my productivity, the maintainability of my code, or the quality of the final application. I think the author should also have mentioned the cairngorm framework for Flex. Cairngorm makes it easy for you to apply some of the most common design patterns in flex. From the point of view of a Java developer, used to using frameworks, it feels very natural.

Exclusive Content

Operational Scalability in the Next Generation Web World

Wayne Fenton, Director of Architecture at eBay Inc., talks about the ways in which software architects can design systems for much-improved efficiency and reliability from an operational perspective.

An Overview of the eXo Platform

Mestrallet and Grall cover the eXo platform, the Portlet 1.0 (JSR 168) and 2.0 (JSR 286) specs, eXo Web 2.0 Portal, JSR 286 Inter-portlet communication, eXo JCR and eXo Enterprise Content Management.

The Top 10 Ways to Botch Enterprise Java Application Scalability and Reliability

Purdy discusses Java scaling, performance vs scaling, rewriting frameworks, databases, bottlenecks, abstractions, disaster recovery, one-size-fits-all architecture, big JVM heaps and network failures.

Building Scalability and Achieving Performance: A Virtual Panel

Our panel of leading experts explores some of the challenges and thought processes that go into making their apps as scalable and performant as possible.

Domain-Driven Design in an Evolving Architecture

Mat Wall and Nik Silver explain how their has been using Domain-Driven Design in an evolving and Agile environment, at high traffic news site guardian.co.uk.

Avi Bryant on DabbleDB, Smalltalk and Persistence

In this interview, Avi Bryant talks about the Smalltalk web framework Seaside, DabbleDB, using Smalltalk images for persistence instead of an RDBMs, GemStone and more.

Book Review: Agile Adoption Patterns, A Roadmap to Organizational Success

With Agile adoption, context is everything: this book offers patterns and tools to help determine which practices most contribute to meeting your organization's goals.

Rob Windsor on WCF with REST, JSON and RSS

WCF is not just for SOAP based services and can be used with popular protocols like RSS, REST and JSON. Join Rob Windsor as he introduces WCF 3.5 and its new native support for non-SOAP services.


You are viewing a mobilized version of this site...
View original page here

Mobilized by Mowser Mowser