Recommended project structure for a Flex build
I am starting a new project using Flex3 for a fairly complex UI getting its data from a collection of RESTful web services. I am wondering what experiences others have had when structuring a moderately complex Flex project. The questions I am thinking of include:
- I want to use our FlexBuilder licenses to visually edit layouts and debug code on Eclipse
- auto build script so that we can use the CI server
- testing strategies, in particular automated unit tests
- cross-platform development environments for Linux and Windows (yes, I know the Linux version of FlexBuilder doesn't do visual editing, but everything else should ideally work cross-platform).
- dependency management, at least for Java code (are there any library dependency libraries for Flex?)
I just burned a day trying and unable to get the maven2 / flex / jetty plugin working smoothly (based on Jeff Maury's tutorial ). I'm not dead - against using Maven as we go along, but I'm sure there should be a less painful route. The main problem I ran into (other than the fix in maven) is that the maven "single artifact per build" Rule means you have to jump over many complex build hoops and I am missing the maven initiator to avoid traveling on the hoops and fall on my face!
Will Ant and Ivy be better than maven2? What other options are there?
source to share
I don't know Flex development, but I know CI, so I'll comment on that aspect.
I am working on CruiseControl to use what I am using (when you are not being paid to install something else). There are also blog posts describing setting up Flex projects under CC for Windows and Linux . CC has been around for a long time, so there is a large user community and many third-party tools that work with it.
But other people are more 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 interface. This project is very active, has a lot of fans and a lot of buzz, and matured very quickly. I have nothing to say about this. This blog post describes how to run acceptance tests under Hudson .
I don't know enough about Maven to offer advice there, but I'm currently working with Ivy on the client and I really love it. We have a mix of Java and C ++ code, and we can get Ivy to do what we want.
source to share
Well we are using maven. With a few different web styles, I have an enterprise application that is built with maven.
This article via adobe really helps 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 config project that will be shared by both flex and java, and possibly your C ++ code. This article explains how to install everything.
Downstairs if you are not familiar with maven, there is a little learning curve.