[Zope] Zope and wxPython interface

Jim Washington jwashin at vt.edu
Thu Aug 13 08:53:56 EDT 2009


Lumír Jasiok wrote:
> David Bear wrote:
>> What do you gain by doing this?
>>
>> On Wed, Aug 12, 2009 at 2:50 PM, Lumir Jasiok <lumir.jasiok at vsb.cz
>> <mailto:lumir.jasiok at vsb.cz>> wrote:
>>
>>     Hi,
>>
>>     I need to write an application which will be based on MVC design and
>>     will have both web interface and desktop GUI based on wxPython. It is
>>     possible to write such an application as standard Zope app and use
>>     zope.interfaces package for defining wxPython GUI as other view
>>     (I hope
>>     that it's called view, I am not sure - I am new in Zope
>>     programming)? Or
>>     am I totally wrong?
>>
>>     Best Regards
>>
>>     Lumir Jasiok
>>
>>     --
>>     Lumír Jasiok
>>     VSB-TU Ostrava - Computer centre
>>     Tel: +420 59 732 3189
>>     E-mail: lumir.jasiok at vsb.cz <mailto:lumir.jasiok at vsb.cz>
>>     http://www.vsb.cz
>>
>>
>>
> I want to have an application with common code for both web and
> desktop application, so data and business logic will be common and
> only thing which will be different will be a view (web page or desktop
> application GUI). So users will have choice what interface they want
> to use, data will be same.
>
> As programmer I want to have common code for business logic, because
> of simplicity. I don't want to have two trunks, two business logics etc.
>
Hi, Lumir

You might take a look at pyjamas (http://pyjs.org).  Using pyjamas, you
can have common code for business logic and also for the GUI on web and
desktop.  The main data transfer/persistence mechanism in pyjamas is
JSON-RPC, so that part of the model can be zope or anything that can do
JSON-RPC. 

If you like wxPython GUI code, pyjamas code is very similar, and there
are examples using PureMVC (http://puremvc.org) in the repository. 

You cannot, at present, use zope.interface to do automatic widget
generation in pyjamas. On the other hand, it is really easy to do custom
widgets and client-side display logic.  You write your widgets and their
behavior in python, not in HTML and javascript.  Styling, however, can
be done with css.

In the eight months since I first experimented with pyjamas
(http://www.mail-archive.com/zope@zope.org/msg31618.html), it has
improved substantially.  Fewer gotchas. More joy.  Worth a look.

- Jim Washington








More information about the Zope mailing list