3 ms·
We use some XUL for our project and I wanted to clarify something here. First, there is XULRunner and then there is bare metal XUL. XULRunner is a bit bloated
by old-gregg 18y ago
We use some XUL for our project and I wanted to clarify something here.
First, there is XULRunner and then there is bare metal XUL. XULRunner is a bit bloated and somewhat slower. If you want to go faster, then start from scratch. Second, you can't compare XUL to Qt/GTK simply because XUL is interpreted, not compiled - write once and run everywhere, for real. This is a huge advantage.
Regarding execution speed: XUL is JavaScript and is getting all these latest performance improvements we've all heard about.
And finally, unlike AIR, XUL can call native code fairly easily, so nobody stops you from including Win32, GTK or Cocoa components inside of XUL containers. Moreover, you can host Flash (we do) inside of XUL if you need multi-platform animation, video and other stuff Flash is good for.
Two reasons, I think, XUL is somewhat obscure is because all desktop development hasn't been exactly a hot topic in tech media lately and due to somewhat steep learning curve since XUL is essentially a supercharged HTML+JavaScript for desktop.
We also researched other options:
GTK doesn't really live well outside of Linux: it's Mac version is only starting to take off and it has stability issues on Windows.
AIR has very limited integration options with native OS. Can't even call a DLL if you need to, thus it's not really a desktop platform, but rather "Rich Web Platform".
Qt is also an excellent choice if you have an expertise of building/packaging C++ on multiple platforms, we picked XUL because of the ease of Flash hosting. Qt didn't support Netscape-style plugins at the time.