[Grok-dev] Re: Benefits of Grok -- please contribute

Martijn Faassen faassen at startifact.com
Tue May 15 14:51:54 EDT 2007


And the second half:

Sebastian Ware wrote:
> 4 What are the benefits of choosing Grok (over "competing" frameworks)?

Flexibility, and evolvability. These are very strong points. If you 
write code using the component architecture, it tends to stay more 
flexible later on. An existing application can have its behavior 
modified without modifying the application's code (a lot). The component 
architecture also offers a general way to make your own applications and 
frameworks pluggable.

The already discussed two-edged sword of the ZODB. Really simple object 
persistence is really great to have. I think Grok, by using the ZODB, 
can be fundamentally simpler than any framework which uses a relational 
object mapping.

I've been looking at the internals of Django a tiny bit and I see much 
metaclass code that scares me. I grokkers are much simpler to ensure 
component registration - your objects are far less magic. Systems like 
Django (or for instance, widgets in the ToscaWidget framework) use quite 
a bit of automation that looks somewhat scary to me. Normally this kind 
of abstraction makes you productive, but when it does, you're scratching 
your head.

That I think Zope 3 and Grok are less magic is probably partially due to 
perspective - I'm used to our way of doing things. That said, I do think 
Zope 3's explicitness and clearcut component and configuration systems 
help in reducing magic.

> 5 What might be considered drawbacks with Grok compared to "competing" 
> frameworks?

Relational object mappings have advantages in advanced query 
construction and also relational databases are more widely understood. 
Grok doesn't support this yet.

Zope 3 has a complexity drawback compared to some of these other 
frameworks, at least in getting started and rapid development. Grok aims 
to do away with this drawback, however. :)

> 6 If someone explained Grok in an article or review in a single 
> paragraph, what would we want it to say?

Uh, I will need to examine the about grok page again. :)

> 7 If I described a "beginner" Grok newbie, what features in Grok would 
> interest him the most?

Ease of use while knowing there's great power available. Easy form 
generation. Transparent persistence.

> 8 If I described an "advanced" Grok newbie, what features in Grok would 
> interest him the most?

Flexibility and evolvability over time. Community's understanding that 
things should be easy to get into *and* cleanly built *and* powerful. 
Grok has the benefit that we have a central architecture in place 
(component architecture and grokker infrastructure) that helps with 
constructing such code.

> 9a Is there a silver bullet? (Something that if one gets it, just puts 
> Grok in a class of itself with regards to competitors)

There is no silver bullet. :) Key benefit?

Grok should be just as easy as the competitors, but offer more reusable 
components and more flexibility, allowing you to construct great 
software now that will age well.



More information about the Grok-dev mailing list