FCG (Flex code generator) goes final and open source

After lots of delays (and headaches), I've finally released the v 1.0 and the source code of FCG, my Flex code generator. Note : Beta users will have to manually upgrade to v 1.0 by reinstalling the AIR file from the project's page, as the update mechanism has switched to the official Adobe AIR update framework. As some of you may have noticed, things didn't actually go as I had first expected. My initial goal was to let users develop their own generators and parsers as plugins (in the form of modules or RSLs) and share it with the community. Unfortunately, after a lot of time spent on rewriting the whole architecture, I had to face the fact that I was unable to properly deliver this feature. During this time, bugs arised, new frameworks came out, and many of you have written me various requests to add this or that feature, always kindly reminding me that things would be much easier for everyone if the application was open sourced (I take this opportunity to thank you all for your help and encouragements). Your were totally right about this, but I first had to clean my own mess. So I've finally spent some time un-implementing the crappy architecture I had put in place and go back to a structure which has the great advantage of not driving you completely insane trying to understand it (let alone explaining it). Grab the source code here. Be warned : this can be a lot of work. The source code is (not enough) commented but doesn't come with a proper developer documentation, and it probably never will. However, I'll be glad to answer your questions by email. I won't create any public code repository anytime soon neither. First because I simply don't have enough time for this, and second because I'm not sure what my commitment to the project will be in the near future. Moreover, Flex productivity is a topic which has finally been taken seriously, both by Adobe (see Flex 4 specs) and third parties - more on that on a later post. So I'm not sure FCG's model will be relevant in the future months. That said, if you want to get involved with the project (not only adapt it to your private needs), then let me know by contacting me. I'm open to any reasonable proposition. I'm not saying I'm going to stop FCG's development with this build. The 1.0 version does not mean much since the roadmap has been very cahotic. In terms of features and bug fixes, it's a very minor update from v0.9.6 which provides AIR.1.1 and AirUpdater framework compatibility. Let's just say that I want to take a break, take some time to think about it, see the shape of things to come, and most importantly, let you guys be part of this. [ Jeez ! Do all of my posts need to sound so dramatic ? Sorry for that ! :) ]

Anonymous on August 25th 2008

This has come a long way since you first released it. I am primarily interested in the PureMVC generator aspects. I LOVE the way you can import the VOs from java objects and create form views. That is awesome. I might look into adding support for the multi-core PureMVC. It is what Cliff recommends new projects use, and what I use in all my projects. Great work. Thank you.

Anonymous on August 25th 2008

I just downloaded your FCG open source code, at first look it uses Cairngorm... damnit i stopped using that for 1 year now :-p So im gonna refactor it a bit, with puremvc multicore and add pipeutility and startupmanager support to it. Also im gonna make a startup wizard so you can decide through wich VO, source and gateway you want to preload arrays, variables. Ill keep you posted. What you think? Ill deliver the code first to you.

david_deraedt on August 26th 2008

You shouldn't have to worry about cairngorm : you're not supposed to modify this layer as it concerns the main FCG behavior. What you should do, if you want to add another generator, is - Create the corresponding IGenManager in FGL. You could extend FlexGenManager or even PureMVCGenManager to do so. - Edit the "myConfig" of the SetUpModule to add an object which g_class property refers to the IGenManager you've created. - If you need so, create new OperationDialog and OperationData classes to add new options and dialogs for your generator.

diamondTearz (not verified) on September 04th 2008

Hey- any news on the PureMVC multicore FCG. If you need a hand let me know cuz I sure need it and am willing to chip in to push progress along on developing it. Mani