From The Trenches: Inside SharpDevelop: Open-Source .Nyet Dev Studio Uses XML for UIs

Gerald Bauer <[email protected]>
Newsgroups gmane.comp.java.luxor-xul.user
Message-ID <[email protected]>
Hi,

  If anyone is interested, I've added a new story to
the Richmond Post online @
http://luxor-xul.sourceforge.net/post

  Here's a sneak preview:

  Christian Holm, Mike Kruger (SharpDevelop Project
Lead) and Bernhard Spuida write in chapter 2
"Designing the Architecture" in the hot-off-the-press
dev book titled "Dissecting A C# Application: Inside
SharpDevelop": 

  Another important decision was to use XML for every
data file, and to move as much data from the code to
XML as possible. [...] 

  XML helps us in cleaning up code; often the code is
bloated with information that could be easily stored
in a separate file. In this code many properties are
being set, and objects are created without doing
anything with them. [...] 

 A good example is the GUI code where buttons, forms,
group boxes, and other controls are defined. Each of
these has properties assigned to it, information on
where it is, which label it has, and other details.
This code doesn't really add functionality to a
program. It just defines the way something looks. XML
is a good way to collect all this data in a file. So
we began to use XML to reduce the actual code size. 

 [...] one of our next steps will be to design a
better XML format for dialogs and panels. We plan to
use a format that works with layout management.
SharpDevelop should run under a wide range of
operating systems with different languages. 

 This is especially important if we want to be able to
switch the GUI API. History has shown us that GUI APIs
come and go. If you know a bit about Java you may have
noticed that Java AWT (the first version of a Java GUI
framework) was replaced by Java Swing, and some time
back IBM released SWT (the most recent Java GUI
toolkit from IBM). This could easily happen with the
.Net platform, too. 

  - Gerald


-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger 
for complex code. Debugging C/C++ programs can leave you feeling lost and 
disoriented. TotalView can help you find your way. Available on major UNIX 
and Linux platforms. Try it free. www.etnus.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.