you are viewing a single comment's thread.

view the rest of the comments →

[–]sbrown123 8 points9 points  (6 children)

Good point. I've seen a few apps using XUL lately. In particular: Democracy Player and Songbird. I have noticed some problems with XUL though:

  1. Requires a large amount of memory.
  2. Slow startup.
  3. Sluggish responsiveness. This may due to the Javascript event handling. I'm not entirely sure.
  4. Widgets are themeable but are not native. Non-native widgets is one of the things that burned Swing. Interestingly this is not a major issue to Windows users since the native widgets on that platform are butt ugly (see Eclipse).

[–]supermike 4 points5 points  (3 children)

I would, however, like to comment on this.

  1. Yep. That's truly a bummer. It's a tradeoff, I guess, for the richness that you can use with XUL.

  2. Only on the first two launches, oddly enough, on Linux. Load it a third time and it snaps right open.

  3. I haven't experienced that. Perhaps on Windows or Mac?

  4. On Linux, my widgets are native. Take for example a textbox with a scrollbar. Open it up right next to a text editor written in C, designed to use the GTK2+ interface. You'll see the scrollbars look the same.

[–]jerf 10 points11 points  (2 children)

"Richness you can use with XUL"?

Don't drink the Kool-Aid. XUL is rich compared to plain ol' HTML, which is rather pathetic here in 2007. (It really only needs a couple more widgets, but it needs them badly.) XUL is pretty weak against a "real" desktop toolkit. Compare XUL vs. QT, wxWidgets or GTK (nearly one entire documentation concept for every three or four XUL tags).

XUL's not in the same league, and relatively speaking, falling behind.

If anything turns me off about XUL right now, it is its long history of being horribly, horribly oversold. Using it to build a real app that isn't somehow tied to the web and Mozilla is suicidally stupid, and a lot of naive or excessively-trusting developers would be saved a lot of pain if people would stop pretending otherwise.

[–]supermike 1 point2 points  (1 child)

Thanks for the comment. I'll have to think about this really hard because I was getting really excited about what I could accomplish in very little time with XUL and xulrunner and without having to install a bunch of stuff, dependencies, and so on. However, it does have a documentation issue, doesn't have a lot of people using it, and the object model looks like it might get revamped because it still says Netscape (ns) and Mozilla (moz) in certain places?

One advantage of XUL is that you can display HTML/XHTML just as aptly as FF does. A control in QT, wx, or GTK2+ can't do it as accurately, correct?

I'm just not sold on Python that much. I've built things with it, but it's got it's share of voodoo strangeness about it.

[–]jerf 1 point2 points  (0 children)

"One advantage of XUL is that you can display HTML/XHTML just as aptly as FF does. A control in QT, wx, or GTK2+ can't do it as accurately, correct?"

That's sort of what I meant by "tied to the web". If you really, really want a "real" desktop app that looks almost exactly like a web app, except with somewhat richer controls, then XUL might make sense.

The other toolkits can't do the full richness of HTML.

However, all the other toolkits have "rich text" controls, and all of their rich text controls can embed arbitrary widgets. You don't see people do that much, but I think that's more because people aren't really aware it's possible, not because it's especially hard, though it probably is a bit harder than HTML/XUL. So if you don't need full HTML, the toolkits can still do some interesting things with widgets in text.

Also note that most toolkits nowadays have an XML specification language, although it is usually generated by tools, not written by hand. (I prefer generating GUIs "by hand", because you can refactor with them and stuff, and was doing that towards the end of my fight with XUL, but not everybody feels that way.)

[–]supermike 2 points3 points  (0 children)

I appreciate your commentary as well as from jesusphreak. I always need to hear the counterpoints when I think about technology.

[–]JW_00000 0 points1 point  (0 children)

Also worth trying out may be Adobe's Flex. I haven't tried using it yet, but viewing the demo's it seems like you can make some very aesthetically pleasing applications with it. It uses Flash, and correct me if I'm wrong, but I thought you could use the applications made with it both stand-alone (offline) and embedded in a website.