PyGUI as a standard GUI API for Python?

M.-A. Lemburg mal at egenix.com
Thu Sep 4 15:59:36 CEST 2008


On 2008-09-04 12:57, Banibrata Dutta wrote:
> On Thu, Sep 4, 2008 at 3:45 PM, M.-A. Lemburg <mal at egenix.com> wrote:
> 
>> On 2008-09-04 11:14, Kay Schluehr wrote:
>>> On 4 Sep., 10:31, "M.-A. Lemburg" <m... at egenix.com> wrote:
>>>> On 2008-09-04 07:49, Kay Schluehr wrote:
>>>>
>>>>> 3) Following the public rumor mill and the latest hype RIA i.e. the
>>>>> merge of web- and desktop applications with systems like Adobe AIR,
>>>>> JavaFX, Google Gears and MS Silverlight is the future of frontend
>>>>> development. With the exception of IronPython and Silverlight, Python
>>>>> hasn't even entered this game and no one knows if it ever will.
>>>> Actually, it has already and quite some time ago:
>>>>
>>>> http://www.artima.com/weblogs/viewpost.jsp?thread=208528
>>>>
>>>> The recipe is simple: use Python for the business logic, database
>>>> interfacing, etc and have it talk to a Flex front-end via XML-RPC
>>>> or REST.
>>> Python is still server-side in this scenario and plays no role in UI
>>> definitions.
>> That depends on how you design the application. It is well possible
>> to have Python drive the GUI by sending the required details to
>> the Flex front-end via XML (ie. data-driven GUIs).
>>
>>> So one doesn't get more than e.g. Django apps that
>>> respond to HTTP requests triggered by JavaScript forms except that
>>> JavaScript+HTML+Browser is replaced by Flex = AS3+MXML+FlashPlayer.
>> You really can't compare the Flex stack to an AJAX stack. Flex
>> has a lot more to offer for GUI programming than AJAX, it also
>> doesn't suffer from the problems of AJAX having to support several
>> different sets of browser or library bugs.
>>
>> We switched from an AJAX approach to a Flex-based approach last year
>> and never even considered moving back again.
> 
> 
> The approach does seem quite impressive, but isn't Flex's platform
> neutrality quite over-rated ? I mean after-all, it assumes that Flex is
> available for and available on the platform. Flex today is not yet so
> ubiquitous as the JRE...

Since Flex is compiled to Flash and runs inside the Flash player, it
is fairly easy to get Flex apps running. You do have to have the
Flash9 player installed and the default minimum is 9.0.115.0 for
Flex builder 3.

> Are there some established best-practices on how to package such
> applications -- s.a. shipping with its's own Flex runtime, offer-download if
> missing etc. ? What happens if owner of target machine decides to upgrade
> their version of Flex, will it impact the application package in anyway, and
> render rest of it "non-upgradable" ?

So far we have not had any such problems, but that could change when
Flash10 starts to ship, of course.

We currently ship the application as a server application. The only
requirement on the client side is having a browser with Flash9
installed. Pointing the browser at the server will then load the
compiled Flex application (as .swf file).

An alternative approach is bundling the client as AIR application
which then runs as stand-alone app on the client side, but we
haven't tried that yet.

>>> The role of Python is somewhat arbitrary. This could change only if
>>> Python becomes a client side language executed by AVM, V8 etc. like
>>> IronPython in Silverlight.
>>>
>>> About separating UI from application logics by assigning functionality
>>> to different general purpose languages I have to admit that I don't
>>> think it is such a great idea ...
>> In my experience, Flex + Python gives you the best of both worlds,
>> the nice GUI features of Flex and the efficiency of Python for the
>> business logic.
>>
>> A long time ago, there was a Python plugin for Netscape
>> which allowed you to run Python straight in the browser. Perhaps
>> it's time to revive such an idea... but then you're still missing
>> out on the GUI part, since you're still stuck with what the
>> browser has to offer in terms of widget support.
>>
>> --
>> Marc-Andre Lemburg
>> eGenix.com
>>
>> Professional Python Services directly from the Source  (#1, Sep 04 2008)
>>>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
>> ________________________________________________________________________
>>
>> :::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::
>>
>>
>>   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
>>    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
>>           Registered at Amtsgericht Duesseldorf: HRB 46611
>> --
>> http://mail.python.org/mailman/listinfo/python-list
>>
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> --
> http://mail.python.org/mailman/listinfo/python-list

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Sep 04 2008)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611



More information about the Python-list mailing list