Personal tools
You are here: Home About Competition


Can other web frameworks do what Grok can do, with its Zope technologies? Haven't they caught up with Zope by now? What makes Grok special?

Of course other web frameworks can do what you can do with Grok: build web applications. We have been doing it for a while in the Python community, but other Python web frameworks have certainly come a long way since the development of Zope started. Other web frameworks now also do things like model/view separation, and automatic form generation. We also don't deny that other web frameworks have started doing things that Zope didn't do yet: object relational mapping (ORM) is an example of this, though even that is debatable - our community did do some early pioneering in that area with things like ZPatterns, back in the year 2000 or so.

In other ways, Grok still offers many features that other systems don't offer. If we didn't believe we were doing some things better, we wouldn't be working with Grok!

The rest of the Python web world still typically doesn't use object databases. Some people only dream about an object database as some form of "future magic" that will finally allow them to eliminate the impedance mismatch between object oriented programming and a relational database. Meanwhile in the Zope community we are so used to an object database we know about all the drawbacks too. We therefore also offer ORM integration in addition to an object database. The combination of both opens up new possibilities.

The highly advanced CMSes built with Zope offer some evidence that the use of an object database helps developers to combine objects and components into new higher-level frameworks and applications. This is perhaps a bit more easy than with relational database systems, where everybody needs to coordinate on database schemas.

We believe Zope is also ahead in providing an advanced permission-based security system. Zope is ahead of the curve in working with an extensible buildout system, though zc.buildout is also being adopted by others now.

Zope's strongest area is undoubtedly the component architecture, which provides a uniform system for extensibility, and the catalog of powerful components that we've built. We've seen a vast explosion of components over time - evidence that our component-driven approach is working.

We are forward-thinking about making Zope technologies reusable in other contexts. We also actively look to reuse in Grok what web frameworks developed, such as WSGI. We are all about component creation, exchange and reuse! We see the Python web framework world as an ecosystem where there is more cooperation between frameworks than competition.