<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Jim Washington wrote:
<blockquote cite="mid:4A840CE4.6000507@vt.edu" type="cite">
  <pre wrap="">Lumír Jasiok wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">David Bear wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap="">What do you gain by doing this?

On Wed, Aug 12, 2009 at 2:50 PM, Lumir Jasiok &lt;<a class="moz-txt-link-abbreviated" href="mailto:lumir.jasiok@vsb.cz">lumir.jasiok@vsb.cz</a>
<a class="moz-txt-link-rfc2396E" href="mailto:lumir.jasiok@vsb.cz">&lt;mailto:lumir.jasiok@vsb.cz&gt;</a>&gt; 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: <a class="moz-txt-link-abbreviated" href="mailto:lumir.jasiok@vsb.cz">lumir.jasiok@vsb.cz</a> <a class="moz-txt-link-rfc2396E" href="mailto:lumir.jasiok@vsb.cz">&lt;mailto:lumir.jasiok@vsb.cz&gt;</a>
    <a class="moz-txt-link-freetext" href="http://www.vsb.cz">http://www.vsb.cz</a>



      </pre>
    </blockquote>
    <pre wrap="">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.

    </pre>
  </blockquote>
  <pre wrap=""><!---->Hi, Lumir

You might take a look at pyjamas (<a class="moz-txt-link-freetext" href="http://pyjs.org">http://pyjs.org</a>).  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 (<a class="moz-txt-link-freetext" href="http://puremvc.org">http://puremvc.org</a>) 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
(<a class="moz-txt-link-freetext" href="http://www.mail-archive.com/zope@zope.org/msg31618.html">http://www.mail-archive.com/zope@zope.org/msg31618.html</a>), it has
improved substantially.  Fewer gotchas. More joy.  Worth a look.

- Jim Washington




  </pre>
</blockquote>
Hi Jim,<br>
<br>
thanks for links, it looks interesting, I'll try it, but I don't know
if this is right way. I can see that pyjamas code is little bit
unstable, Pyjamas Desktop needs some patches and non-standard packages,
so it will be a problem for deployment.<br>
<br>
But I was looking at the Zope view capabilities again, and may by best
solution will be write a XML-RPC view and remote client program based
on XML-RPC (wxPython GUI) which will be able to view and/or modify
content in Zope instance.<br>
<br>
Any advices? Can I control whole Zope instance content using remote
XML-RPC client or there is problem with some type of content? I know
that XML-RPC has just few supported data types and I am not sure if
this is sufficient for all content types in Zope. At this time I think
that I will need just boolean, string, integer, float and binary data
types, but I am not completely sure, I am just at the beginning of
analyze.<br>
<br>
Lumir Jasiok<br>
<pre class="moz-signature" cols="72">-- 
 Lumír Jasiok
 VSB-TU Ostrava - Computer centre
 Tel: +420 59 732 3189
 E-mail: <a class="moz-txt-link-abbreviated" href="mailto:lumir.jasiok@vsb.cz">lumir.jasiok@vsb.cz</a>
 <a class="moz-txt-link-freetext" href="http://www.vsb.cz">http://www.vsb.cz</a></pre>
</body>
</html>