Organic Frameworks
From Zanecorpwiki
The Nature of Organic vs. Classical Frameworks
My thoughts about frameworks in general tend to have a negative bent to them, which is unfortunate because in fact, I'm a huge fan of "organic frameworks". Organic frameworks are functionally the same thing as "classic frameworks": they (ostensibly) make "doing stuff" easier by accepting limiting assumptions in order to provide for common behaviors automatically.
How they get there, and their effectiveness, couldn't be more different:
- classic frameworks are designed while organic frameworks evolve
- classic frameworks tend to be very specific and are primarily about specific technologies while organic frameworks are implemented in specific technologies, but have a broad conceptual component
- classic frameworks tend to age badly and be short-lived while organic frameworks age well and are long lived
- classic frameworks tend to limit through prescription while organic frameworks are freeing
- as frameworks go, classic frameworks tend to be more explicit while organic frameworks tend to be more implicit
Considering the first three points together, there's also a strong sense that organic frameworks continue conceptually over time, with particular instances evolving one into the other while classic frameworks are relatively very limited with successive generations being scrapped in favor of "the new thing" which is often very different in fundamental ways.
Part of the idea is certainly one of "concept" and "archetype" vs. "implementation" and "manifestation". In practice, the question isn't whether or not you're going to use a framework because--in any interesting project--you'll always develop a framework even if you don't try and use one (which is the essence of an organic framework), the question is how you'll develop that framework. Planned and explicit vs. evolved and implicit.
Developing an Organic Framework
Developing an organic framework may be "implicit", but it should still be intentional. That is, a framework that happens by accident is really going to be hardly a framework at all. I'm a fan of organic frameworks, yes, but a good classic framework is still better than an accidental, idiomatic, and ill-defined organic framework. The key to developing organic frameworks is "intentional evolution".


