[Zope-dev] In Defense of ZClasses

Martijn Faassen faassen at infrae.com
Thu Sep 28 05:38:49 EDT 2006


Christopher Lozinski wrote:
> At the risk of going down in history (and Google Searches) as the man 
> who supports ZClasses, I think that someone deserves to come to their 
> defense.
> 
> I think that there is a different tool for every job.  Sometimes I think 
> Plone is the best solution, sometimes Zope 2 is the best solution. 
> Sometimes Zope 3is the best solution, and  sometimes ZClasses are the 
> best solution. 
> When are ZClasses the best solution?   Frequently a ZClass is the 
> fastest way to build an application.  I can put up a simple list of 
> types in ZClasses and DTML so incredibly quickly.  Frankly developing a 
> file system based python application is just way too much overhead for 
> bringing up simple web applications quickly.

I think this is a good point. I agree that in Zope 2 and Zope 3 it's 
rather a lot of overhead to create a file-system based application, 
though Archetypes + Plone probably helps a lot.

What I'm hoping is that eventually in a Zope 3 context we can create 
something that is as easy to develop with as ZClasses are, though 
filesystem based. (I myself am mostly interested in solving this on the 
code level, but people are welcome to write a UI for it) Some of us are 
going to invest a bit of time in trying to get this project off the 
ground, so we'll see what next year brings. That's not to say we're 
going to come up with something very similar to ZClasses, it's just that 
we're trying to make something that's close to being as easy to develop 
for, in the simple case, as Zope 2 is with its through the web 
development model.

Note that this doesn't help people using ZClasses currently in 
maintaining their application at all, so this point is perhaps a bit 
useless. I just wanted to make sure that we are aware of the usecases 
surrounding ZClasses and hope to be able to fulfill at least some of 
them, in quite a different way, in the future.

Note that ZClasses also have another feature that right now we're not 
going to tackle - changing them on a live server without restarts. You 
describe these usecases eloquently. This is an issue that *also* needs 
more work in a Zope 3 context, I just declare it out of scope for my 
project. :)

Regards,

Martijn


More information about the Zope-Dev mailing list