Closed howardroark closed 8 years ago
@howardroark thanks for your thoughts. I agree on most points except maybe the SLC terms themselves ;) I started working on v0.8 this weekend, which definitely pushes towards the triumvirate approach, keep an eye on the dedicated issue for more info.
Hah! I had to throw an acronym in there :P I am excited to see what comes down the pipe!
For me I just needed a narrative in my head for explaining to others why we should go a route like this vs something like ember or angular. Not that there is anything wrong with them... they just don't offer the freedom that something like this can. Backbone and Marionette are amazing tools, but not quite enough. Maybe the triumvirate breakdown was semi-accidental, but the point is that it really does make a lot of sense when you look at the "bigger picture".
I'm excited to see docs and usage examples grow :)
I understand that Geppetto is based off of backbone, but I think it is a lot more than that. I am not really a "developer", but I am learning to be. Up until now I really just pushed things around until I got what I needed out of them. Through the process of attempting to digest the ideas behind this framework I started to understand how "all-in-one" frameworks have been crippling my ability to create things and truly understand them. Ever since @creynders used the term the "triumvirate" to explain Geppetto things have started to make so much sense. I really think there is truth behind the idea that programming is about distilling your logic into 3 core ideas per "plane" of thought. MVC has held true since the 70s for a reason and really think it has a lot to do with the fact that it distilled your overall logic into 3 groups. The things that occupy the M, V and C likely have a large role, but it is evident the the C is very subjective.
What if Geppetto defines itself as "The Triumvirate Framework" and really aims to stick to that concept. I mean it is right there already anyway. I understand that it is built upon backbone, but it is a lot more than that in my mind.
To me it is this...
1. The Skeleton
The first layer is a
Skeleton
which starts you off with three core class types which are the basis of how you would break up anything being built for human interaction. I feel backbone is spot on with the idea that those class types areModels
,Views
andCollections
. (To me "controllers" are a relatively crippling idea when your objective is likely to evolve as you learn) Effectively this layer is the spring board of the creators vision.2. The Library
The second layer is the
Library
of extensions of those classes that keep up with the state of UI that people are currently accustomed to building and interacting with. It is also a collection of functions that enable you to better implement things like templates and the current open source landscape of tools. More or less the "common sense" layer which reduces the redundancies of how you may extend theskeleton
layer to work for your objectives. (Ideally this layer could be distilled into three core ideas as well... Or maybe as the metaphorical "middle" there is a relative chaos to its nature)3. The Context
The third layer is the
Context
which takes the role of stringing things together in a way that allows things to evolve. This layer is that point at which you need to begin to trust its methodologies and let go of the urge to "see" everything in your mind at once. Sort of the idea that a core "controller" is just not a realistic objective and will only hinder your project. You really need to harness the ideas ofEvents
,Commands
andDependency Injection
and let things "come to life".I am not a "technical mind" per-say, but when things are broken down into these terms I can really see its value. In my view Geppetto should be less about Backbone and Marionette and more about distilling these fundamentals so that people attempting to leave behind "all-in-one" frameworks like Angular can really digest the nature of what it takes to build things for the future. When you start to see how things stop bloating and actually get simpler over time it is quite the realization for people.
Geppetto
is theTriumvirate Framework
which uses the S.L.C. methodology ;)