Please No, Not Another framework
Take a quick peek on osflash and you’ll see tons of cool frameworks available. This begs to ask the question, why develop another open source framework?
Each framework has its own strengths and weaknesses. But most important, it’s a matter of personal choice! For us there is not a single framework out there that fits our needs. We do not believe in re-inventing the wheel, that’s why we started to develop our own framework based on others and or combined with our own modifications.
So here’s a very short list of our personal pros and cons from other opensource frameworks. Again we’re not trying to judge or flame here, it’s all a matter of personal choice, right?
-
Pros:
- Decoupling of business logic is cool
- Well documented
- We don’t want to add a controller for each and every view, Grant Davies (ARPX) CommandController is superior in this
- CommandController (ARPX), we dislike the dependency on xfactor studio XPATH
Cons:
-
Pros:
- TaskManager is the best task manager available, period.
- difficult learning curve (must not use the word ‘steep’ here)
Cons:
-
Pros:
- Good utility base
- Excellent set of loaders
- Uses it’s own eventobserver structure, we like ours to be mx compatible
- personally we dislike it’s package structure, ASAP’s structure is superior
Cons:
-
Pros:
- Good utility base
- Excellent package structure
- We like the event bubbling mechanism of ui components to the LocalController
- Within our LocalController we don’t want to assign the timeline to a variable, we want to extend the timeline
- UI components are not that well evolved, we prefer the far superior Metaliq mCOM Component set
- Actionqueue is cool, but gugga’s taskManager is far superior
Cons:
So what does this all boil down to? In short:
- One namespace, no external dependencies
- ARP/ARPX used for business logic
- ARP commands can be encapsualted within an ARPTask (Gugga ITask compatible), so commands can be used in a flow
- For dispatching ARP commands we use a modified ARPX CommandController without the xfactor studio dependency
- Our LocalController (ASAP naming convention) is an extended version of ARPForm, we’ve added doLater, findNearestLocalController functions etc..
- Our logger system is a modified version of pixlib’s logger (modified to use our eventdispatcher)
- Loaders have been taken from CASA and have been made ITask compatible
- Our user interface components are NOT publicly available they are within the metaliq mCOM component set or inherit from metaliqs UIObject
- Each and every class has been converted to use our own EventDispatcher (which is based on Grant skinners GDispatcher and is fully mx compatible)
- There should not be two utilities having the same functionality. All classes have been modified to use the same utility, for ex. Delegate, Framedelay, etc..
What needs to be done? Lot’s of things, write documentation / tutorials but most important evolve…
Qi’s framework release
The very first release of our own Qi framework has been made available for download through the Google Code download area.
Our own source code is released under MIT license and will be maintained in our private svn repository. Other parts of the framework come from a variety of other frameworks, which forces us to include the following licenses: