GUIs - A Modest Proposal

lkcl luke.leighton at gmail.com
Mon Jun 14 17:05:27 EDT 2010


On Jun 14, 7:30 pm, Stephen Hansen <me+list/pyt... at ixokai.io> wrote:
> On 6/14/10 11:47 AM, lkcl wrote:
>
> > On Jun 14, 4:17 pm, Stephen Hansen <me+list/pyt... at ixokai.io> wrote:
> >  yes.  that's effectively what pyjs applications are about: as much
> > HTML/CSS as you can stand, then _absolute_ pure javascript from there-
> > on in... only using a compiler (python-to-javascript) so as not to go
> > completely insane - and, from the rest of your message, i _know_ you
> > know what i'm talking about, there :)
>
> Yeah. It sounds very interesting. I just wish it, like, somehow bundled
> webkit cross-platformly. :)

 _that's_ a long story - a brief insight into 8 months of hell i
posted in another message on this thread...

> >  to be absolutely honest, i very rarely even write my own widgets: i
> > advocate that people, myself _especially_ myself included, perform
> > literal line-for-line translations of GWT widgets from java to
> > python.  why? because, again: on the basis that google have tons of
> > money to put into GWT widgets, doing full regression tests, and have
> > thousands of users, they can afford to get the widget right across all
> > the browsers.  ergo, why duplicate that effort - just code-translate
> > it verbatim!
>
> >  oh, btw, that's turning into quite a powerful project on its own: the
> > goal is to have a fully automated java-to-python translator!
>
> >  http://github.com/thoka/java2python
>
> Somehow this is getting perverse. Java, to Python, to JavaScript. It
> just sounds sort of incestuous. :)

 oh i haven't mentioned the javascript-to-python converter yet, have
i?  *lol*.  am still looking for a good BNF / parser in python, for
that one.

> Well, yes. I have some experience with extjs (and making some pretty
> fantastic real-world seeming apps on the web with it), and yeah,

> The current project occupying my time involves a fairly complicated mix;
> on the server-side we have Pylons, but its interfacing with an external
> application server, so about half of the Pylons layers are "outsourced"
> (i.e., data and model access).
>
> Then the web interface is ExtJS. Its just getting very, very -- ungainly
> from a maintenance point of view.

 ooh.  ouch.  we've had people wanting to wrap extjs in pyjamas.  i
told them NO don't for god's sake do it.  it's _hundreds_ of thousands
of lines of javascript; looking at the GWT-EXTJS wrapper, the
"startup" code in javascript is a whopping 8,000 lines (which was more
than the entire pyjamas codebase at the time!) and the rest of the
"wrapper" code i believe is some 80,000 lines of java.

 then there's the issue that, apart from all that code to maintain,
you now have a whopping great 2.5mbyte javascript dependency, where
you'd need, if there was a bug in that, an expert javascript
programmer...

 so whilst pyjamas UI widgets are somewhat at the level of "extjs
0.000001", at least there is http://puremvc.org (which yes, that
_does_ compile to javascript cleanly!) which you can combine with e.g.
the Grid Widget and a few more prettifying widgets, in order to create
the kinds of looveliness that is extjs.

> Maybe on its next iteration I'll look
> into pyjamas.

 mmm, that leaves you with an all-or-nothing approach.  there's a
trick you could do, which involves using a pyjamas ui Frame widget,
where you could convert the site one bit at a time.  that's been done
before now.

 if you're already using an AJAX approach in the back-end server
(which it sounds like you are) then you'll be much much further ahead
than many pyjamas converts: all you'd need to do is reimplement page-
by-page the front-end widgets.

 ok gotta go, baby's dragging me away.

 l



More information about the Python-list mailing list