A weblog about programming in Python, C#, Java, Perl and C++ - and the occasional comment on PyCS development
new: discuss community servers on the CommunityServerWiki!
me
the locals
offsite
also available in XML
Copyright (c) 2002 Phillip Pearson
|
2002-6-11MozillaMozilla 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.. Comment on this post [ so far] |