Tuesday, April 05, 2005

Where is Zope going and will we go there too?

I discovered Zope and Python in 2000 and started using them for our company's projects almost immediately. Until then, we had used Perl for most of our web sites, but the only real Perl hacker we had was no longer with us. We had used PHP for a number of internal projects with mixed results. We also had used Java heavily for a desktop application (I know, there's nothing I can say in my defense) and I was very disappointed with it.

In those days, DTML (Zope's templating language) was the preferred way to develop web applications in Zope. Well, maybe not the preferred way, but the only semi-documented one. So we began to create web sites with it and gained some expertise in Zope development.

Over the years, we began to slowly switch from building simple web sites to full fledged web applications. At the same time, we began phasing out DTML in favor of the new Zope Page Templates and dabbling a little with pure Python products. We also began moving code out of the ZODB (Zope's object oriented database) and into the file system. Like other web developers, we really learned Python mainly because Zope was built with it, but looking back I now think it is maybe Zope's greatest asset.

Today our style of development is close to what could be described as Zope best practices. We develop full Python file system based products, use Subversion for version control, document our code with Epydoc and clearly separate the view from the logic using ZPT and its macro support.

However, the time has come when it may be necessary for us to change paths. Zope is near a crossroads with version 3 almost out the door but apparently not many current developers planning to switch very soon. Meanwhile, Ruby has been gaining the spotlight with its Rails web development framework. Rails seems to have a huge advantage over Zope in ease of use, specially for first time developers. It has also generated a lot of hype, perhaps a bit unfairly to such a well thought out project as Zope 3. Of course Rails is not the only cool web development technology out there. It certainly isn't the most innovative either. For my money, Seaside, a web development framework for Smalltalk, is the most interesting and innovative tool on the radar.

Basically then, those are my three candidates for web development framework of the future at our company. Zope 3, Rails or Seaside. Of course, it could also be a wise decision to stick with Zope 2 for the time being. What I would really hate to do, though I know it is a distinct possibility because of market forces and current management here, is to switch to J2EE development. That's why I want to take these other tools for a ride before it's too late. I better start learning.


At 11:08 AM, Blogger Roberto Iza Valdes said...

This comment has been removed by a blog administrator.


Post a Comment

<< Home