Updated: 15/09/2002; 12:48:41 a.m..
Python Community Server (development progress)
A weblog about programming in Python, C#, Java, Perl and C++ - and the occasional comment on PyCS development
        

Tuesday, 11 June 2002

Mozilla looks like an interesting platform.  Robert has been evangelizing it for a while; I just started looking yesterday, after downloading Komodo and seeing what it's made of.

It is a huge project.  As well as the browser, it has mozdev, its own little mini-sourceforge, with 71 (at last count) projects, including Mozilla-based browsers, language bindings, development tools and mini-applications.

The most interesting thing for me is XPToolkit, the XML-based UI system.  You write XUL files that describe your application's user interface, script it with JavaScript, and hook back into your app logic using XPCOM (through PyXPCOM or XPConnect, depending what language your app is written in).

Using Mozilla as your application framework introduces quite a bit of bloat right from the start.  However it's not as much as you might expect.  The runtime zips down to about 10 MB (including everything - you'll want to remove mail and news) and the VM size of a single-window application on Win2K Pro was about 12 MB for me.

Compared to .NET apps, this is both better and worse.  A single-window C# app will use about 15 MB of RAM but will produce an extremely small distribution archive.  However the user must have the .NET framework installed, which is a good 20 MB to download.

The best compromise I've seen so far has been coding in C++ with wxWindows, which results in distribution archives around 1 MB and a VM size of about 2-3 MB.  Coding your UI in C++ with wxWindows and using Python for the higher level logic adds about 500k to the distribution archive and about 1 MB to the VM size, which is not bad at all.

However, if you're writing a decent sized application (an IDE, for example!) and the extra bloat is not that much of an issue, XPToolkit may well be worth considering..


8:11:42 PM    comment []


© Copyright 2002 Phillip Pearson.
 
June 2002
Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
May   Jul

[Macro error: Can't render navigator links because an error occurred: "The file "C:\Program Files\Radio UserLand\www\#navigatorLinks.xml" wasn't found.".]
Click here to visit the Radio UserLand website.

Subscribe to "Python Community Server (development progress)" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.