Fuse day - Flex session summery

Our first Fuse day concentrated on developing the basics of the Flex Foundation – An open source framework which incorporates common features for enterprise Flex applications, so that they can be activated in a “push of a button” style.


The code can be found in GitHub: git@github.com:Tikal-Fuse/Flex-Foundation.git



We had 3 objectives for this day:
1.POC - Developing the skeleton, along with a single feature as a Proof Of Concept.
2.Multi framework support - Research the possibilities of using the code not only for PureMVC based application, but for other frameworks as well (I.e Cairngorm)
3.Multi core support - Research the efforts required to make it support multi-core applications.


A video of the opening presentation:


The Fuse day Experience:
We split to 3 pairs, one for each task:


POC (Oren, Nadav)

The Foundation skeleton was ready beforehand, along with a sample application which uses the loadup utility. The original sample uses quite a bit of code in order to use this utility, and we wanted to test the framework's ability to incorporate this utility into it's core, so that it can be used with minimal knowledge of it's interface.
As the hours passed, the original code was gradually modified up to a point where any interaction with the utility itself was refactored out of the developer's hands and into the Foundation's core.


Multi Framewok support (Sefi, Yossi)
A lot of brainstorming was involved around this issue. Mostly around feasibility issues, but also around marketing concerns (mainly, is it worth the effort). Can a common ground be found to meet various Flex frameworks? Can the Foundation be useful for no-framework applications?
The first half of the day was all about discussions, while the second half was dedicated to writing a demo which will demonstrate using the same utility (logging) both for PureMVC and Cairngorm framework. (the code will be included soon as a zip file).


Multi Core Support (Shay, myself)
After some discussions on this issue, we took a look on the way that existing utilities support multicore.
Turned out that the only effort involved to support multicore is to duplicate the single core code, and just change the import statements to use the multicore libraries. Sweet.


Achievements and conclusions:

The final code of the POC includes the foundation's skeleton, with the loadup utility included, along with the loadup demo application, demonstrating the use of this utility.
The original code which demonstrated registration to the utility, creating utility-specific wrappers etc. was all moved to the framework, leaving the developer with the single task of marking it's classes with the appropriate interface in order to allow the Foundation to perform all of this behind the scenes.


Multi Framewok support
The day ended with a working sample, partially demonstrating a very basic generic logger for both frameworks. However, the final conclusion is that achieving multi framework is possible but requires quite a lot of time investment, which we currently don't have.
So we will currently support PureMVC framework based applications.


Multi Core Support
We came to the conclusion that supporting multicore is practically effortless.


Final words
The day was extremely productive, not only with respect to achieving its goals, but also with the fact that all participants ended with the same vision.
I personally had a lot of fun this day, and would like to thank all the organizers and participants.