In response to optilude saying “Plone 3 Rocks Hard” I feel compelled to add that developing with Plone 3.0 is (at least) just as enjoyable. Witsch and I have migrated a client project based on Plone 2.1 to 3.0 (trunk) ca. eight weeks ago and have been working with the Plone 3.0 API on a daily basis ever since. And while we did pay some penalty by aiming at a moving target that penalty has well paid off by the niceties we’ve been enjoying since.
From a developer point of view that change is perhaps not as dramatic as for an end user, as things like the Zope 3 component architecture (via Five), Generic Setup, membrane etc have been available already since 2.1. It’s more the fact that Plone itself uses these technologies now to a much larger degree, i.e. their benefits are no longer limited to your own code. Just take a look at the plone.* namespace for instance, that now makes up the core of what is Plone 3 (as opposed to just CMFPlone which otherwise would undoubtedly have become dangerously bloated and monolithic).
By using Zope 3 components Plone is becoming a very rich development framework where you as a developer can ‘mix and match’ and chose from a wide array of components and adapt them for your needs without having to bother with (much) of the (Zope 2) baggage that comes with using a full-grown CMS. (instead of using some lighter weight framework such as Django, Turbogears or Ruby on Rails).
On a gut level it comes down to this for me: both the code that I am writing as well as the pages that are generated from it have become lighter, more readable and more elegant. I make less compromises in my daily work and the satisfaction that I get from it has risen drastically during the past six weeks. I’d ten times rather risk being labelled as a fanboy than shutting up about how cool Zope 3 and Plone 3.0 are. And now back to work (yay!)…
Tom Lazar: Developing with Plone 3 Rocks Hard
Originally from Planet Plone by