views:

1061

answers:

2

I'm starting a new project using Flex3 for a reasonably intricate UI getting its data from a collection of RESTful web services. I wondering what experiences others have had in structuring a moderately complex Flex project. The issues I'm thinking about include:

  • I want to use our FlexBuilder licenses for visual editing of layouts and debugging code on Eclipse
  • automated build script so that we can use a CI server
  • testing strategies, particularly automatable unit tests
  • cross-platform Linux and Windows development environments (yes, I know the Linux version of FlexBuilder doesn't do visual editing, but everything else should ideally run cross-platform)
  • dependency management for at least the Java code (are there library dependency managers for Flex?)

I've just burned a day trying and failing to get a maven2/flex/jetty build setup working smoothly (based on Jeff Maury's tutorial). I'm not dead-against using Maven as we go forwards, but I'm sure there must be a less painful route. The main issue I had (other than maven documentation being patchy) is that maven's "single artifact per build" rule means that you have to jump through a lot of hoops with a complex build, and I'm not enough of a maven initiate not to trip over the hoops and fall on my face!

Would Ant and Ivy be a better option than maven2? What other choices are there?

+2  A: 

I don't know Flex development but I know CI so I'll comment on that aspect.

I work on CruiseControl, so that's what I use (when not being paid to setup something else). And there are blog entries that describe setting up Flex projects under CC for both Windows and Linux. CC has been around for a long time so there is a large community of users and lots of 3rd party tools that work with it.

But other people are likely to recommend Hudson and it would be hard to argue against them. Hudson is very easy to get up and running and has a nice web based UI. This project is very active, has lots of fans and lots of buzz and has matured very rapidly. I don't have anything bad to say about it. This blog entry describes running acceptance tests under Hudson.

I don't know enough about Maven to offer advice there but I'm working with Ivy at a client right now and I really like it. We've got a combination of Java and C++ code and we're able to get Ivy to do what we need.

Jeffrey Fredrick
A: 

Well we are using maven. With some help of a lot of different web sties I have an enterprise application being built using maven.

This article via adobe has really help a lot.
http://www.adobe.com/devnet/flex/articles/fullstack_pt1.html
http://www.adobe.com/devnet/flex/articles/fullstack_pt2.html
http://www.adobe.com/devnet/flex/articles/fullstack_pt3.html

You really need a common configuration project that will be shared between both flex and java, and possibly your c++ code. This article explains how to set that all up.

Down side, if you are not knowledgeable with maven there is a slight learning curve.