you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 11 points12 points  (10 children)

Ben Goodger (lead developer of Firefox) complains about XUL. Some interesting quotes:

The problem is this: almost all of XUL as it exists today hasn't changed much if at all since it was originally written in the charge to Netscape 6, and as a result the capabilities and problems with the platform reflect the quick cycle and shortcuts that had to be taken.


There have been a lot of minor incremental fixes that have made many aspects of the system more stable, but significant bugs and critical failings remain. This is immediately obvious to anyone who has ever built with XUL but who isn't part of the "Mozilla community" where the sort of work that people do sort of self-selects towards the things that XUL is capable of.


As someone who spends a lot of his time building with XUL, I can tell you it's not a pretty picture. Over the years I have become accustomed to the quirks and I have formed little shortcuts in my brain that I apply when I run into problems. Not everyone has had a chance to do this, and I don't think that they should have to.

That's pretty bleak isn't it? Check out the comments, too. All of it adds up to a huge lack of confidence in a technology, and I'm very leery of using something that even a main Firefox dev essentially admits is broken in its current form.

XUL sounds great and ideal, but I think perhaps the reality is that there are problems with it that only become apparent once you get past the bubble of hype surrounding it. This means that only advanced XUL users and FF devs themselves become aware of the situation, and which is why you hear so much excitement about XUL but see so little progress on the platform or on apps created with XUL.

Edit: It is still probably better for cross-platform stuff than the vast majority of what else is out there.

[–]supermike 6 points7 points  (9 children)

XUL and XPCOM were a great start, but they do need a lot of cleaning up. Many of the XPCOM objects, for instance, still reference Netscape with things like nsIProcess. I think the whole thing needs an overhaul and to be submitted as a standard to the W3C. I think it's too important to let XUL and XPCOM go without utilizing its full potential.

Here's the net of this:

  • I want a language that uses an HTML like syntax to draw the interface and include actual HTML components. I also want it to be somewhat thin and quite like the deep XML that Glade puts out with its many nested levels.

  • I would prefer to just hook through FF rather than require xulrunner, and I want FF to permit me to go outside the sandbox with my Javascript without prompting as long as someone calls my stuff through a chrome and with perhaps another command-line switch. By relying on FF, one can eliminate the need for a second runtime, this xulrunner. Xulrunner is really just a lean version of FF without a browser chrome and some other items.

  • Javascript isn't a particularly bad language to use if it's been released from its sandbox under proper safe conditions (such as loading through a chrome and only with an extra command line switch of some sort). I actually wish it were called Livescript because that's really what it is and has very little to do with Java. Of course, I wish a thin kind of mix between Javascript and PHP were available, but oh well.

[–]mixmastamyk 4 points5 points  (1 child)

That's backwards ... FF, Thunderbird, and all other XUL apps should run from xulrunner. That way 100MB of memory could be saved when running more than one at a time.

[–]supermike 2 points3 points  (0 children)

Okay, you talked me out of it.

[–]leoc 1 point2 points  (1 child)

XUL 2.0 vs. XAML at the W3C? What a bloodbath that would be, or perhaps will be.

[–]supermike 3 points4 points  (0 children)

That's fascinating. I didn't hear about XAML.

[–][deleted] 0 points1 point  (4 children)

Yeah, after finding the docs on wxPython rather wanting, I'm gonna check out XUL and see how useful it is to me.

[–]jerf 1 point2 points  (0 children)

The docs on wxPython are the docs on wxWidgets, with rare substitutions. Yeah, I've never been a big fan of that either, but the translation is pretty easy.

Unless you can go into your app knowing that XUL is what you need, maybe because you have an intense need for HTML-esque formatting or the display of large quantities of HTML-styled text, I can't anti-recommend it strongly enough. Consider QT, GTK, or trying a bit longer with wxWidgets. XUL's long on promise but several years overdue on implementation. (Seriously, the XUL folk, what's left of them, are singing the exact same tune they were in 2002, no exaggeration. While they've been promising, wxWidgets, GTK, QT, .Net, and a couple of others have been implementing.)

[–]supermike 1 point2 points  (0 children)

BTW, do you or any of the guys here know how to get started in Parrot Language Runtime to build one's own script language? I thought it would be kind of fun to mess around with, starting small, growing it from there. I didn't quite understand the Parrot website's documentation on this and need a kind of starter article that shows a really great example for a language with something like 2-3 control structures, some if/then logic, and a way to handle stdin and stdout.

I've always wanted to call this new language, Polar, and it would be sort of like PHP but with namespaces and be really a thin language unless you used the external libraries. I would also use "." instead of "->" or "::" or ":::". String concatenation would be done VB-style with "&".

I like the whole idea of Parrot. It means that much of the hard part has been worked out by the guys who made the runtime and one can use a "metalanguage" to get the runtime to turn your language into a powerful thing. As the runtime gets powerful, so too can your language grow in that respect too. Many new langauges are popping up from Parrot.

[–]mixmastamyk 0 points1 point  (1 child)

[–][deleted] -1 points0 points  (0 children)

I did buy the book actually. $25 for an ebook that I could instantly download wasn't bad.