What Is RobotLegs?
What?
- RobotLegs is an Architectural (or Structural) Action Script 3 Framework.
- It provides a mechanism for wiring objects together.
- It promotes a usage pattern for keeping your code loosely coupled and easy to test.
- It has a narrow scope: wiring.
How?
RobotLegs relies on two things fairly unique to the Flash Platform: A powerful, built-in, standardised Event Model, and a Display List that is 100% integrated with that Event Model.
Why?
Using these two things (and any compliant Dependency Injection framework) RobotLegs is able to offer a minimally invasive solution for wrapping an application around a display object hierarchy – even if you don’t have access to modify the Classes within that hierarchy. Depending on your style, this may be hugely advantageous.
But What About The Lolrus?
Swiz, Parsley, Mate, PureMVC, HydraMVC and Cairngorm exist to solve the same basic problem, but they suffer from blurry scopes and/or poor implementations.(*) Here are some initial thoughts on that: http://shaun.boyblack.co.za/blog/2009/04/29/another-architectural-framework-but-why/
Some may defend their violations, claiming pragmatism over purism – that is dangerous: the library that you use to wire your application together directly affects the flexibility and, more importantly, testability of your code. I am being pragmatic: if my Classes are hard to test (Singletons, Statics) then my application will be fragile and I won’t be free to refactor with speed and confidence. If code can’t be refactored easily it is dead. If I can’t refactor my code easily my progress as a developer slows down drastically.
So, Is RobotLegs Perfect?
Well no, but it does everything that it’s advertised to do, and tests are being set up to ensure that it stays that way. A framework must pick it’s battles carefully. There are one or two things that need some very careful consideration before RobotLegs can reach 1.0
Also, some peer review would be nice. I’m a mediocre programmer at best. I’m on that part of the curve where I’m knowledgeable enough to know exactly how bad I am.
Where Is The Website? OMG, Where Are The Docs?
I thought it would be best to determine whether or not I have completely missed the point before investing time and energy into support artifacts.

Dude, You’re Wearing Sunglasses Indoors. WTF?
So, have I missed the point? Do you really think that ANY of the architectural frameworks out there are good enough?
(*) Actually, it’s not really that, it’s more about how your application code looks when written on top of these frameworks.
