[Edu-sig] Visual Programming in Python?

Dethe Elza delza at livingcode.org
Sun Apr 16 16:53:52 CEST 2006

On 4/15/06, Laura Creighton <lac at strakt.com> wrote:
> In a message of Sat, 15 Apr 2006 22:05:43 BST, "kirby urner" writes:
> <snip>
> >We're no longer talking about kid-friendly programming though.  This
> >is about adult application developers who want to save time,
> >especially when it comes to visually designing a user interface from
> >palettes of canned widgets.
> it's not just time.  It's the boredom.  Writing commands to put the
> little widgets here and there and there is to mind-numbingly dull.
> Drag and drop has its own sort of tedium, mind you, but for some
> reason it doesn't irritate me nearly so much as afternoons wasted
> moving things a few pixels to the left, and then down a bit, and so
> on and so forth.

If that's the main issue, then we just need to get everyone to use a
Mac and be done with it.  Not only does Interface Builder let you
instantiate objects by dragging, and let you position and size them by
dragging, it lets you configure them (with text in another window),
and wire them together by control dragging.  You can even subclass and
add new properties and methods (signatures only, not implementations)
within the graphic environment.  As you drag you see subtle lines to
help you conform to Apple's User Interface Guidelines.  If your
document is based on CoreData (a wrapper for SQLite embedded database)
then you can create an application without "coding" at all[1].  Even
the data schema can be created graphically in XCode. The result is a
GUI that you can script from Python.  It's fast to develop in, just
not cross-platform.

There's also Adobes' (was Macromedia's) Flex Builder 2[2]. Flex is
their GUI widget layer for Flash, and Flex Builder is a plugin for
Eclipse.  It lets you drag, drop, wire like Interface Builder does (or
maybe even a little better), but has a feature I really wish IB had:
you can switch the view to an XML representation of your UI, change
the XML, and see the changes reflected when you switch back to the
graphical view.  The limitations of Flex Builder are that a) it
creates a Flash file, and b) the scripting language is Javascript. 
Also, Flex Builder 2 is still in Beta and won't be free when it's
released, unlike Apple's tools which are free, provided you've spend
$$$ to buy a Mac.


[1] http://cocoadevcentral.com/articles/000085.php (Tutorial to build
a CoreData app without writing any code)

[2] http://www.macromedia.com/software/flex/productinfo/faq/flex2_faq.html#section-2

> Laura
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig

More information about the Edu-sig mailing list