[Grok-dev] Teach me Grok

Sebastian Ware sebastian at urbantalk.se
Thu Apr 10 03:18:10 EDT 2008

I am no hard core developer, but I will give you my view anyway.

10 apr 2008 kl. 02.01 skrev Jonathan Ellis:

> Okay, that's a big subject. :)  Let me narrow it down to something
> hopefully more manageable:
>    * Grok offers a lot of building blocks for your web application.
>    * Grok is informed by a lot of hard-earned wisdom.
> What are some specifics?  What does Grok give me that, say, django
> does not?

Zodb is excellent for storing randomly and semi-structured data. The  
value of this is easily underestimated if you are used to only working  
with RDBs.

The plugability of the component architecture is really solid. This  
touches every corner of the framework.

All the components of the framework are well documented on a code  
level. If you don't mind reading the doc tests, you'll be jocking  
cutting edge stuff as well as those parts that are covered by higher  
level documentation. (Even I manage to read that stuff at times...)

> My impression is that in the past couple years the rest of
> the world has rapidly caught up to zope3; is that incorrect?

I would say it is the other way around. Zope 3 has (through Grok and  
other improvements) caught up with the rest of the world in terms of  

I doubt any framework will catch up with Zope 3 by incremental  
improvements. It requires a total rewrite (in the same way as Zope 3  
is a rewrite of Zope 2). Zope 3 is a component based framework from  
the origin, the others are not.

Where Grok/Zope3 might be lacking is in the get-your-admin-interface- 
for-free department and out-of-the-box UI-goodies. The prior is not a  
biggie for me, but the latter is a bit of a bummer. UI-elements will  
tend to be unpolished = you have to polish them yourself.

Grok/Zope3 is also a different mindset. Once you nail it, the code is  
compact and efficient, but it can be a mind twister.

> Question 2, to people who came to zope via grok instead of the other
> way around: how quickly did you find you had to learn about zope3 gory
> details?  I.e., how leaky of an abstraction layer is Grok?

I learnt Grok first (coming from Zope 2 TTW-development...). My  
impression is that the abstraction layer is very solid. If you look at  
the Grok code it is often quite trivial but the effects in terms of  
increased usability are great.

Another factor is that you could at any time refactor the application  
to be a vanilla Zope 3 app, although the general consensus on this  
list is that you really shouldn't have to.

mvh Sebastian

More information about the Grok-dev mailing list