On 2010-01-22, Lennart Regebro <rege...@gmail.com> wrote:
> On Fri, Jan 22, 2010 at 04:55, Alex Clark <acl...@aclark.net> wrote:
>> We certainly
>> have not reached the goal of helping newcomers understand the Zope ecosystem
>> in any other way to date, IMO.)
> If this is so, then I'm surprised. It seems perfectly clear to me.

Ah! This is tremendously helpful, thanks. Just a few questions/comments.

> 1. In the beginning there is Python, the language.

> 2. Then you get ZCA a component architecture for Python. It has
> nothing to do with Web whatsoever.

E.g. zope.component and one or two others?

> 3. Then we have ZTK. A toolkit for building web frameworks.

This is where you lose me. What's an example of a ZTK package? I can't
think of one off the top of my head… ah ok, I just found this:

    - http://docs.zope.org/zopetoolkit/releases/packages-trunk.html

So ZTK is ZCA plus the bits that make it suitable for building
web frameworks. And is it fair to say I can just build any web
app with the ZTK? I don't need any of the frameworks that are
already built, I'm free to reinvent the wheel if I choose too.

> 4. On top of that we have Zope 2, BlueBream and Grok.

I.e. The Frameworks™

> 5. There is also BFG, which doesn't include/build on the ZTK (as the others 
> do).

Right, it's "loosely coupled" with the ZCA, but you can throw that out too, 
if you like?

> It's pretty clear to me. Notice the almost complete lack of naming
> confusion, and the plethora of marketable names and TLA's. The paper
> pushers like these kinds of graphs (although I think we need something
> prettier, I might try do do something this weekend, but I'm no
> designer...)
> And when it comes to separating the frameworks it obviously becomes
> more complex. So we need to explain this, what the different framworks
> are good at in a clear way. I see it like this, but I could be wrong:
> * Zope 2 is the granddaddy of the frameworks. It's not really built on
> top of ZTK, but includes it. You basically only use Zope 2 if you are
> using some sort of software that builds on it, like Plone, Silva, or
> something custom.
> To build on my earlier car analogy: Zope 2 is an old pickup truck. You
> can get it to do anything. You can drop it from the top of a building
> and it will run. When it breaks you whack it with a hammer until it's
> not broken anymore. But it's diesel engine kinda stinks.
> * BlueBream used to be called Zope 3 and is a component based
> enterprise kick-ass do everything framework. Everything is
> configurable and it doesn't just include batteries, but a whole power
> plant. Which admittedly can be tricky to run.
> BlueBream is a train. Fast, big and pulls heavy loads, and good for
> the environment. If that's what you need, you know it.
> * Grok is an easier to use (and at least in the future also
> smaller/lighter) framework than BlueBream, while retaining the
> flexibility. Instead of having to configure everything, you have
> sensible defaults. Less typing, and it doesn't feel like J2EE.
> Inspired by frameworks like Django and Turbogears, you get the nice
> Python framework feeling with the power of ZTK behind you.
> Grok is a an hybrid minibus. Easy to drive, infinitely reconfigurable
> just by switching the seats around.
> * BFG is a minimalistic web framework built on Zope ideas and
> experiences, but as a part of it's minimalistic nature does not
> include *anything* of the ZTK, it just builds on the ZCA. But you can
> use the ZTK, if you want to, you are just not required to do so. It's
> for the purist, for the guy who wants to build his own streamlined
> speedmonster.
> BFG is a frame with four wheels and an big engine. The rest is up to you.

Right, and the apps built with those frameworks, e.g. Plone, Cyn.in, Zenoss, 
Would be very helpful to include these in a discussion about this, IMO.


Alex Clark · http://aclark.net
Practical Plone 3 · http://tinyurl.com/practical-plone

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope )

Reply via email to