[Grok-dev] Re: Grok sprint for PyCon 2008: grokcore
faassen at startifact.com
Sat Mar 15 21:09:45 EDT 2008
Philipp von Weitershausen wrote:
> Ideally, grokcore.component is very lean and just needs zope.interface
> and zope.component. When you look at my experimental branch from a while
> back , this is exactly what ended up happening. No fat requirements,
> no browser-awareness, no ftests (!), etc...
Yes, this looks like a good goal. (Presumably it'll also need Martian,
and possibly the grokcore.testing you discussed). We can explore
detaching other things (such as views and viewlets) from the core later.
I really like how Grok's refactoring has gone over time, going from
specific code to more general, declarative code:
* completely integrated, ad-hoc code (result of the first sprint in '06)
* grokkers (extraction work between the first sprint in '06 and the
second one in early '07)
* martian (sometime last year)
Hopefully now we'll get:
* grokcore.component (good luck sprinters!)
I've also started work in Martian on more declarative directives, that
know about their default behavior and how to extract values from
components. This should also simplify the grokkers eventually.
The one aspect people are most worried about is "magic": the fear that
Grok has too much ad-hoc behavior that will get in your way and has many
details to remember. I hope that that this overall movement to
declarative behaviors and dedicated components such as Martian and
grokcore.component results in more and more reusable code.
Even though I believe special behaviors for reasons of convenience have
their place in Grok, I hope that all this will reduce the perception and
fear that Grok has too much magic.
More information about the Grok-dev