[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnumed-devel] GNUmed web interface - pyjamas

From: lkcl
Subject: Re: [Gnumed-devel] GNUmed web interface - pyjamas
Date: Sat, 10 Jul 2010 06:04:07 -0700 (PDT)

Sebastian Hilbert wrote:
> Am Freitag 09 Juli 2010, 23:43:07 schrieb lkcl:
> Hi Luke,
> Great to have you here.

:) thanks.

Sebastian Hilbert wrote:
>> Sebastian Hilbert wrote:
>> > supposedly going through a language-to-Javascript compiler
>> > will fail badly in case of a bug
>> this is *precisely* why we have the unit tests, of which there are about
>> 3,000, and the ultimate aim is to run the entire python regression test
>> suite (under pyv8 - not in a browser of course).  nothing goes in to the
>> pyjs compiler without a unit test to back it up.
> Good to know. I picked up that argument in the beginning of my research
> from 
> some website. It might not hold true for pyjamas and was uttered with
> regards 
> to GWT

ohh, interesting.  yeah, GWT has massive mindshare (30,000 on the mailing
list instead of 500) so they kinda have a million monkeys as well as several
full-time paid up google employees to substitute for unit tests.

we don't have that luxury, and yes, i did see people complaining about "how
can i trust pyjs" so i made it an FAQ question.

libtest saved our bacon a couple of times! 

Sebastian Hilbert wrote:
>> it's very new but pyjsglade does exist.  it's a GUI editing tool, similar
>> to gtk glade.
> Ah. Nice to know. I was told that those tools are mostly  a starting point
> and 
> when you want to do something more complex you are going to to it by hand 
> anyway.
pretty much that's what i hear, too.  some of them are code-generators, some
are "dynamic", some do both.  glade does both (i think).  not sure what kees
has been up to :)

basically by "dynamic" what i mean is that the GUI tool is a convenient way
to create an XML file, something like this:
< pyjamas.ui.HorizontalPanel Width="100%" >
   < pyjamas.ui.Label Text="this is a test" />
   < pyjamas.ui.Button Text="click me" />
   < pyjamas.ui.Label Text="this is another test" />
< /pyjamas.ui.HorizontalPanel >

that would, somewhat blindingly-obviously, create a Horizontal Panel with
two text labels and a button in between them.  the "creation" of that actual
HP+labels+button can be either done by handing the XML file to some code
which parses that XML at *runtime* orrrr you could hand it to a *compiler*
which spews forth this code:

 p = HorizontalPanel(Width="100%")
 p.add(Label(Text="this is a test"))
 p.add(Button(Text="click me"))

 and then that auto-generated output gets handed to pyjs (or executed under

 you see the difference?

 this latter is where you have the convenience of being able to go "ok,
party's over, GUI-builder: my app's beyond your capabilities, i take over
manually from here".  with the dynamic version where you hand the XML file
to the application at *runtime* that's a little bit trickier, but you end up
with far less code to have to wade through.

it's entirely up to you: whichever is more convenient / easier to
understand, do it.

personally i can't stand GUI builders :)

Sebastian Hilbert wrote:
> I did the research to make it easier for someone else to start and to
> avoid 
> having to do the research. Right now I am more then busy with some GNUmed 
> features to implement.
> If anyone else could come up with at proof of concept done in pyjamas that 
> would be great.

*sigh* let me take a look.  i'll poke around, see what's easy, and at least
get things started.

*spitting teeth* wtf? :)  135mb download/dependencies on debian/testing,
including... ruby?? openjdk-6?  guys.. what the heck's going on?  perl
upgrade, to perl 5.10.1??  *lol* - this is python, right?  you're sure that
gnumed is in python? :)

anyway - i'll put a leeetle bit of time in, but as i'm an (almost completely
unfunded and) independent free software developer, it won't be a lot.


View this message in context:
Sent from the GnuMed - Dev mailing list archive at

reply via email to

[Prev in Thread] Current Thread [Next in Thread]