Tuesday, December 12, 2006

Web Component Development with Zope 3, Second Edition

I got my comp copy of Philipp von Weitershausen's Web Component Development with Zope 3, Second Edition yesterday. I was the primary technical reviewer for this second edition. It's an impressive book, and I'm happy I was able to be a part of it.

It's also fascinating as an artifact documenting the current state of Zope. The message it sends is overwhelmingly positive.

  • While the usual polish problems in technical books are still evident (shame on us reviewers), it still is one of the better technology books I've encountered--looking through my library, say, top 10%. It's impressive that we attract authors and books of this caliber.
  • Springer is a very high-quality publisher.
  • I don't know of any other Zope books to get to a second edition--and the first edition is from 2005!
  • Phil Eby's foreward is high praise from a well-respected voice in the Python community.
  • The system the book describes is largely attractive and powerful from my perspective--it reminds me why I got excited about Zope in the first place.
Generally, it gives me a strong, welcome feeling of health for Zope.

There is a negative side to be found as well.

  • The book highlights some obvious holes for the beginner--for instance, when I was reviewing the text and trying to help polish some of the story, I was really struck by how painful the Zope 3 indexing story must be for a beginner, even while I love the flexibility.
  • The book doesn't touch on AJAX, because Zope 3 doesn't have an integrated story for it. It's easy enough to build AJAX apps--nothing is stopping you--but it's up to you. No nice AJAX widget story.
  • Philipp mentions a lack of relational database support beyond the basic transactional support of the database adapters; this both highlights a legitimate lack, and points to a continuing tension in the Zope community over the importance and use of the ZODB, the Zope Object Database.
  • Phil Eby's foreward alludes to the larger Python community's apathy or even antagonism to Zope; he also admits that he himself does not use it (presumably favoring his own PEAK).
Ah, well.

In any case, I highly recommend the book to anyone wanting to learn Zope 3. On the one hand, it's really the only option now, with Stephan Richter's book not moving to a second edition, and no other books on the horizon; on the other hand, even without competitors, it's amazingly welcoming, clear and thorough.

No comments: