logo A novel Tux graphic by Jenny Cox Presentations

Rapid Application Development using C# under GNOME (or drawing developers like flies to the flame)


Developing end-user applications has always been a compromise - with the developer having to choose an implementation language(s) and target platform(s) - decisions which dramatically affect the productivity of the developer and how and where the application can be used. Often the choice has been the well-supported, but lowest common denominator of C on Linux i386, with any cross-platformness and internationalisation often being deferred until later.

With the advent of C# with the .Net runtime we have a chance to use a modern buffer-overrun free language which is internationalised from the start, along with an extensive standard library (.NET) to develop applications. With the Mono project supplying not only the development tools but also bindings to free software world (Gtk#, Cairo#, GConf# etc.) as well as supporting the Microsoft APIs (such as ADO.NET and ASP.NET), we finally have a rich development enviroment that is not only cross-platform amongst Linux hardware platforms and distributions, but also to byte-code level compatibility to other operating systems including Windows and the BSDs.

In this presentation, Michael will discuss and demonstrate Mono in action to develop a C# application targeted for GNOME. We will cover rapid application development using Glade to develop the front-end, integrate to exising Java code using IKVM, and provide scriptability for that quick hack. Integratration to the GNOME desktop will be a key focus, but we'll also cover how to develop for cross-platform targets including non-Linux platforms as well.

In total, we'll cover technologies such as C#, Java, Glade, MonoDevelop, IKVM, nunit, XML, and integration to PostgreSQL.

While this is a cool list of technologies that would help you win Buzzword Bingo, the goal of the talk is to present a viable cross-platform development strategy that will help draw developer mindset to Linux by developer first-rate applications.

Michael Davies

Michael Davies is a software architect working for a large international company leading the development a J2EE/.Net client/server application.

Michael has been passionate about Linux for over 10 years, and continues to trade sleep for free software - now by coding rather than organising Linux.Conf.Au 2004. He is a Red Hat Certified Engineer (RHCE), is a committee member of Linux Australia in 2004, and a long-term active member of the LinuxSA LUG. He provides training sessions at his employer, made submissions on the AUSFTA, written articles for both traditional and online magazines, and spoken at conferences.

You can read more about Michael online at


Papers and Slides
BOF meetings
Lightning talks
LPI Exams
Call for Papers
For partners Venue
Planet LCA 2005

IBM Logo
HP Logo

SUN Logo

2004 Adelaide
2003 Perth
2002 Brisbane
2001 Sydney
1999 Melbourne