Personal tools
You are here: Home Weblog Archive 2008 March 19 Why do I use Zope 3?
Document Actions
  • Send this page to somebody
  • Print this page
  • Add Bookmarklet

Why do I use Zope 3?

by tibi last modified 2008-03-19 10:33
Filed Under:

I'm in the process of beginning a new project and I'm debating on what framework to use. Of course it will be Zope 3, but why do I use it. Well, it's sure something that has to do with these facts:

  • it's open source, with a strong, mature community around it
  • while it's still actively development, it has a stable API
  • it's written in Python, one of the easiest and most powerful languages
  • it's built around a component architecture, which means writing pluggable applications comes naturally
  • solves the problem of publishing objects through the web
  • everything is transaction based. You won't lose data with it, you won't get garbage data inside your database
  • it has fast, configurable storages (ZODB, Relstorage)
  • internationalization and localization is easy
  • it's a library as much as it is an application server. When it's a library, it's very slim and as a full application server has a lot going on, including XMLRPC, ftp, webdav, sql connectivity, its own http server, etc.
  • has a cool, extensible templating language (the Zope Page Templates)
  • makes it extremely easy to create and store objects through ZODB
  • has facilities to query for objects using indexed data, through zope.catalog and extensions
  • writing a new catalog index is not an extremely complex task
  • it has an event framework; no complex application should run without an event framework
  • has advanced, flexible form libraries that can generate forms introspected from the models (zope.formlib, z3c.form)
  • has advanced templating concepts and content placement, such as the pagelets and viewlets
  • it's "enterprise ready": it's possible to load balance zope clients using ZEO or relstorage
  • comes with extensible authentication and user sources
  • promotes an extensible build system for applications (zc.buildout)
  • follows python standards, for the most part: library packaged as independent eggs and while it's not built around WSGI, it has full support for it
  • it can do document workflows (hurry.workflow)
  • it has some very cool packages from the community:
    • zc.table
    • z3c.form
    • Storm and sqlalchemy wrappers
    • zc.resourcelibrary, z3c.resourceinclude
    • z3c.pagelet
    • lovely.remotetask
    • grok
    • gocept.registration
    • z3c.traverser
  • is very well documented
  • it fits comfortably in my brain


Weblog
Atom
RDF
RSS 2.0
Powered by Quills
Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: