mike watkins dot ca : Web Framework Popularity

Web Framework Popularity

Benji asked in Web Framework Popularity Contest

Can anyone tell me why they don’t like/don’t know about/are afraid of Zope 3?

I was one of the commenters on his blog and said: “As a former systems integrator working with high end document, workflow, records and content management systems, I can appreciate the careful thought that went into Zope3.

As a developer who now needs to do things quicker, cheaper and on less expensive hardware (often), I find Zope still has too much overhead, both from a learning curve perspective as well as from a performance pespective.

For example, your Hello World quick start:
http://www.benjiyork.com/quick_start.txt

Contrast that with a single file hello world example in any other Python web framework, I’ll use Quixote but they can all be made to look similar I’d expect – compare and contrast the Zope quickstart to the Quixote quick finish: Quixote mini demo

Note: I am NOT saying that other web frameworks are offering anything near functionally equivalent to Zope, not at all, but all that functionality has some costs.

I keep wandering back to have a look at Zope with an open mind, but still have been unable to justify adopting Z3, although at least its much cleaner now (but still obtuse enough to defy casual understanding).

When I weigh the trade-offs, I keep sticking with ‘simpler’. Clearly there are benefits to having internationalization ‘for free’ in your web framework; in Quixote I have to sort this out on my own. But that effort was less than what was required to adopt Z3, so…

Perhaps the lack of a fairly comprehensive, extensible, pre-built, CMS in Zope3 (correct me if my impression is wrong) is hindering broader adoption.

I’d like to think that if I had something like CMF only better (please dont ask me to define this right now) there for the taking and simple extending, then I might be willing to overlook Zope performance per page view down in the single or low double digits per second.

A quick comment on performance – pages per second is not the only yardstick I use, far from it, but the higher it is, the more leeway a system designer has with the tools at hand. Clearly some intended application usage would find even 1 page per second more than adequate; but for many public facing sites, Z2/3 performance means taking other steps – caches, static site renderers, whatever, that only increases complexity.

Back in the old days we made a lot of $ selling customizations on top of a monolithic ‘black box’ Windows (and later web) client-server enterprise DM system; our success with the software and our client’s success with the solutions was due to one factor – the CMS designers, by accident or by purpose, had made it possible to simply and quickly extend what they provided, often in ways completely unintended. That the CMS used bog-standard SQL backends certainly made that task easier too.

I started looking at Zope a number of years ago, thinking that an open source CMS/app server with a lot of thought behind it could be very useful in the enterprise DM (doc management as opposed to Content Management) space – but by and large I think I’d be fighting performance as a critical issue. Many of my old clients had managed document collections measuring in the millions of documents, with tens of thousands of active workflow instances live at any given time.

Integration with legacy systems… even to this day… also tends to be more SQL than XML although now some of the web/xml solutions we and others built are now old enough to be called “legacy” systems ;-). Zope offered a path here; but I mention it because integration [with legacy systems] was always, always, a big issue.

Leaving off with something positive, I see no real downside to all the interest in multiple web frameworks… clearly there is plenty of python activity out there, which can only be good for the community as a whole.”