Hi all, Youness requested an overview of possibilities for XML (or HTML) to GUI, and their pros and cons. In this e-mail I'll try to fulfill that request. I'll have to do a lot just from memory, because I did not really write docs, while comparing. I always do that kind of thing just 'in the brain'. (And of course checking it if I am really uncertain.)
Harry TkHTML: --------- Pro: - Seems to render HTML real good - Supports CSS1 (TkHtml version 3) Con: - It's still TK, any form element for example is still an ugly TK widget. - It only renders HTML, which is perfectly fit for the contents of our main window (except the menu bar), but not for anything else (e.g. dialog windows). - Depends on a single toolkit: TK Doubtful: - Seems to be very permissive for bad HTML code. This may be easy when creating the code, but also may cause non-wellformed code to go unnoticed, which then may break in another TkHtml version. (On bad markup, behavior is undefined, and thus may not always be the same.) xml2gui (http://wiki.tcl.tk/8908) ----------- Pro: - Very familiar: 1-to-1 mapping of TK commands to XML - Everything possible with pure TK is also possible with this xml2gui Con: - It's still TK, so it's still ugly. - Depends on a single toolkit: TK - Nothing like CSS supported GladeXML ----------- Pro: - Can handle any type of GTK widget - If you got Glade, you can just draw your GUI - In use by many projects, seems to work great. Con: - Hard to hand-code XML - Depends on a single toolkit: GTK - Nothing like CSS supported - Will not blend with HTML (but Pango markup is supported) XUL ---- Pro: - Straight-forward and easy to use XML tag set - Can be mixed with other XML-based languages (e.g. XHMTL) using XML namespaces - Supports CSS2, as well as some extensions to that. - Localization support (by means of XML entities). [To be 100% honest: this might work with some other XML, but here it is in the specs, so it's sure to be supported.] - Can support a native toolkit on every platform. (on Linux: GTK2) - We all know the proof that it works: Firefox - XULRunner can run embedded in another app (not yet complete in current version) [Probably not needed, but you never know...] Con: - You'll need to use XPCOM to bind code to the GUI. [XPCOM is Mozilla's component system. It is best described as a cross-platform subset of Microsoft's COM. Using this may require C++, I'm not yet sure of that.] Doubtful: - Will enforce a package structure. For aMSN2 this will probably be a per plugin package structure, but that is not 100% sure yet. Anyway, one can regard this either as a pro or a con. Personally I'd like it per-plugin, otherwise not. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Amsn-devel mailing list Amsn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amsn-devel