Subititled: “The Rise of ‘Burger King’ frameworks….’have it your way’”.

I am loving the new trend I’m seeing in a lot of the frameworks (both client- and server-side) I’ve been checking out lately. What I’m seeing is a move away from the monolithic, “do it my way or suffer trying to work around it” approach, towards more architectures that provide a more generalized, “less is more” approach, even to the point that some of the functionality and/or features of the “do-it-all” frameworks are being broken out into smaller, specialized bits that allow the developer to pick and choose between whichever approach best suits their style.

To me, the main benefit of the new trend is readily apparent: just as different individuals would write the same story different ways, the same goes for writing code. For one framework to dictate too much influence over too many aspects of an application, or even worse to make it difficult to extend or adapt to suit your needs, provides too much lock-in and and can hinder more than it’s trying to help.

On the flash/flex side, frameworks like RobotLegs , Cairngorm 3, Gaia, and even libraries like CasaLib provide example of this (ok, Gaia probably goes a little further as far as initial structure, but once you start developing it stays out of your way). On the backend, for php you have things such as Konstrukt, a “URI-to-controller-mapping” (i.e., REST) framework which handles “routing based on logic rather than rules”, and the Outlet and phpDataMapper ORM frameworks.

One thing about the above mentioned frameworks is that most, if not all, can be used in conjunction with each other (like so). If you don’t like the way one part does it’s job, you can more than likey swap out that part with a similar one without affecting the other parts of an application, provided you we good with encapsulation and keeping things pretty cleanly separated. This is not an insignificant side effect of the “less-is-more” approach, it’s the central theme. It’s having it your way.