installed, Python scripts may also use tkinter to build GUIs under Jython. Jython
also has Internet roles we’ll meet briefly in Chapter 12.
IronPython
In a very similar vein, the IronPython system—an implementation of the Python
language for the .NET environment and runtime engine, which, among other
things, compiles Python programs to .NET bytecode—also offers Python scripts
GUI construction options in the .NET framework. You write Python code, but use
C#/.NET components to construct interfaces, and applications at large.
IronPython code can be run on .NET on Windows, but also on Linux under the
Mono implementation of .NET, and in the Silverlight client-side RIA framework
for web browsers (discussed ahead).
PythonCard
An open source GUI builder and library built on top of the wxPython toolkit and
considered by some to be one of Python’s closest equivalents to the kind of GUI
builders familiar to Visual Basic developers. PythonCard describes itself as a GUI
construction kit for building cross-platform desktop applications on Windows,
Mac OS X, and Linux, using the Python language.
Dabo
An open source GUI builder also built on wxPython, and a bit more. Dabo is a
portable, three-tier, cross-platform desktop application development framework,
inspired by Visual FoxPro and written in Python. Its tiers support database access,
business logic, and user interface. Its open design is intended to eventually support
a variety of databases and multiple user interfaces (wxPython, tkinter, and even
HTML over HTTP).
Rich Internet Applications (RIAs)
Although web pages rendered with HTML are also a kind of user interface, they
have historically been too limited to include in the general GUI category. However,
some observers would extend this category today to include systems which allow
browser-based interfaces to be much more dynamic than traditional web pages
have allowed. Because such systems provide widget toolkits rendered by web
browsers, they can offer some of the same portability benefits as web pages in
general.
The going buzzword for this brave new breed of toolkits is rich Internet applica-
tions (RIAs). It includes AJAX and JavaScript-oriented frameworks for use on the
client, such as:
Flex
An open source framework from Adobe and part of the Flash platform
Silverlight
A Microsoft framework which is also usable on Linux with Mono’s Moonlight,
and can be accessed by Python code with the IronPython system described
above
Python GUI Development Options | 361