[Zope3-dev] thoughts on zope application prototyping

Joseph Wayne Norton norton@alum.mit.edu
Sat, 26 Jan 2002 01:10:11 +0900


As a developer (and not as a web page designer) using zope, I would
like to be able to have the ability to prototype and to demostrate the
core part of a web application/service without having to spend time
authoring html pages that will most likely be thrown-away.  I would
prefer to spend as little time as possible building a functional (but
not beautiful) interface and ideally using a graphical interface
toolkit such as Tk.  I imagine using a gui toolkit coupled with
python/zope would allow a developer/programmer to be more productive
in the prototyping stage of a zope application.

Given Zope3's component architecture, I wonder how difficult and how
possible it would be to add to zope's current set of publishers (http,
ftp ,..) ... let's say "TkPublisher".  This gui toolkit publisher
could allow "View" components to be written in python using zope's
restricted python package (i.e. python scripts) and the Tkinter
package without losing all of the benefits of a zope-based
application.  In some sense, this is similar to the python applets
supported by the former grail web browser.  However instead of running
these applets on the client side, these applets would simply be
running along in the same process as the zope server application and
be (re)using the same interfaces used by the traditional dtml/zpt view
components.  The core application could possibly be developed and
prototyped entirely on the server side without worrying about html,
web browsers, etc.

I'm curious if other zope users/developers have similiar thoughts or
needs.  I would be really interested to see the zope3 ZMI running on
Tkinter.

- j

p.s. Assuming all of the above is possible, the next natural step
would then be to deploy zope-based applications not for the data
center but simply for the desktop.  A python/zope/zodb based framework
for desktop applications could be very powerful and provide another
channel for deploying zope-based products.  A desktop zope server
coupled with a data-center zeo server could be another possibility.