Monday, March 16, 2009

Winforms with Mono and IronPython Tutorial Series

IronPython runs great on Mono, and if you use the official Mono installer then IronPython is included out of the box. (Although the version of IronPython 2 is quite old now and could really do with being updated - when I tried it the latest Windows binary worked fine on Mac OS X which isn't something you hear often. For Debian and Ubuntu users it is as easy as apt-get ironpython.)

So cross platform application development with IronPython is really possible, and for client applications Windows Forms is the GUI toolkit to use. Although it looks ungainly by default on non-Windows operating systems, with customization it is possible to create applications that look great on Windows, Linux and the Mac.

Up on ZetCode there is a 12 part tutorial on creating applications with IronPython and Windows Forms on Mono. It covers the basics, plus dialogs, advanced use of controls, drag and drop and handling painting yourself. It even creates Snake and Tetris applications as examples! Anyway - looks really good.
This is Mono IronPython Winforms tutorial. Mono IronPython Winforms tutorial is for beginner programmers. The goal of this tutorial is to teach readers basics of GUI programming in Mono Winforms for the IronPython programming language. The tutorial is created and tested on Linux. Nevertheless, it can be used on other operating systems as well. Most examples should run without modification. Images used in this tutorial can be downloaded here.
This tutorial also links to another tutorial on using GTK# with Mono. Although the tutorial is for C# it is usually easy to convert from C# to IronPython once you are used to it (strip type declarations, curly braces and semi-colons and often this is enough!). For Linux apps GTK# is possibly a better choice for the UI and this is one of the goodies that comes with Mono and not with the standard .NET framework.
These two user interface toolkits aren't the only choices with Mono and IronPython. For Mac users there is also Cocoa# (another Mono goodie - here's a blog entry from someone who used it recently). For cross-platform programs you might want to look at Qyoto - the Mono bindings for Qt. Miguel de Icaza (Mono lead developer at Novell) has just linked to an IM (Instant Messenger client) called Synapse built with Mono and Qyoto: Mono and Qt. Looks nice.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.