XULRunner Developer Preview Release Available
TeachingMachines writes "A stable developer preview release of XULRunner 1.8.0.1 is now available. Based on the Firefox 1.5.0.1 codebase, it is available for Windows, Mac OS X, and Linux. From the Mozilla Developer Center (beta): "XULRunner is a Mozilla runtime package that can be used to bootstrap XUL+XPCOM applications that are as rich as Firefox and Thunderbird. It will provide mechanisms for installing, upgrading, and uninstalling these applications. XULRunner will also provide libxul, a solution which allows the embedding of Mozilla technologies in other projects and products." Help with programming with XUL and its related technologies can be found at XULPlanet. Beginning programmers will benefit especially from the XUL Tutorial. Also check out the XUL Element Reference to get an idea of what's available. "
A couple of other resources are worth mentioning. First, there is the XUL Programmer's Reference Manual which covers interface elements for XUL version 1.0. "Rapid Application Development with Mozilla" is available for download at Bruce Perens' Open Source Series page. If you get the book, make sure to check out the errata. Unfortunately, the author Nigel McFarlane has passed away, so this is likely the final version. One final reference, "Creating Applications with Mozilla," is available here.
For those individuals who are looking for an extremely powerful application framework that is relatively easy to use, Mozilla is definitely worth a look.
A couple of other resources are worth mentioning. First, there is the XUL Programmer's Reference Manual which covers interface elements for XUL version 1.0. "Rapid Application Development with Mozilla" is available for download at Bruce Perens' Open Source Series page. If you get the book, make sure to check out the errata. Unfortunately, the author Nigel McFarlane has passed away, so this is likely the final version. One final reference, "Creating Applications with Mozilla," is available here.
For those individuals who are looking for an extremely powerful application framework that is relatively easy to use, Mozilla is definitely worth a look.
I get 8. Does anyone smell gratuitous name-dropping?
PyXPCOM, for Python-scriptable XUL applications, should be available shortly.
The platformisation of a web browser's interface libraries.
...
.NET, etc?
Good work - a true cross-platform API with full interface features and themability. Windows, Linux, Mac OS X, Solaris,
I should have a look at it someday, it might be an interesting platform for writing mediumly complex GUI applications. How is the development tool environment though? Whilst I like a terminal and build scripts, not everyone does, and mass uptake would be restricted greatly if there was no Eclipse/etc plugin.
As a platform, or part of a platform, how does it compare with Java,
Even if Mozilla evolve to XForms base, will be posible to continue XULRunner as a separate project. So XUL is here to stay.
XUL is very good RAD tool. Much.. much much better than HTML. Because with HTML you sould care about styles and other miscelanea problemas, and becasue with HTML you badly emulate OS widgets, with XUL you use OS widgets.
Also good bonuses are easy to code with javascript, and the integration with XML (indeed!).
-Woof woof woof!
"There is no Dana, only Zuul."
Or, as the Wikipedia points out:
"There is no data, only XUL"
Back when the browser wars were in full swing and the Netscape source was just released, Netscape was at a huge disadvantage - they were fighting against Internet Explorer, which was bundled on every new desktop. However, they had an ace card - they were the browser of choice for ISPs.
Back when everybody was on dial-up, the usual way to get on the Internet was to get disks or CDs from ISPs, and run their installer. Typically, that also included Netscape, which was subsequently set to be the default. So while Microsoft had a browser installed by default on every desktop, Netscape was installed over the top of that for most people who signed up for dial-up service.
Then the Netscape source was released, and Netscape 5 was overdue. There was missing code, so it didn't build. Instead of filling in the bits that were missing, fixing the most prominent bugs, and releasing Netscape 5, practically everything was thrown away and they started again - to build a new platform based on Javascript and XML (and, oh yeah, with a browser I guess). XULRunner is the culmination of that process.
However, this came at a cost. Throwing everything away and starting again set back the development by a huge amount - it took over four years to go from the public release of Netscape's code to the first release of Mozilla. In the meantime, Microsoft released three new versions of Internet Explorer.
So what choice did ISPs have? Ship the outdated Netscape 4 to all their new customers? Ship a buggy prerelease Mozilla build to all their new customers? Pay Opera for every new customer? Or just bundle Internet Explorer? Of course they did the latter. The Mozilla developers threw away the only thing that could stop Internet Explorer from winning the browser wars... to build XULRunner.
So yeah, it's a nice platform, and I'm sure I'll use it in the future. I'm already building one Firefox extension with the same tech. It's decent enough. But when I think of the stranglehold Internet Explorer has had on the market for so many years, and the pain that has caused me as a web developer, I can't help but think that the price was way, way too high for what is essentially just another cross-platform toolkit. Good job on building a GUI toolkit, Mozilla guys! I just wish you'd focused on building a web browser instead.
Bogtha Bogtha Bogtha
I have always been confused about XUL, is it a language in its own right or is it just a library/package for javascript or some other language?
Here is the Wikipedia article on XUL. I could have used this link on the PERL 6 web site since the documentation on PARROT and PUGS are composed in XUL. This was my first introduction to the format. The documents opened in Mozilla, but not in IE. While the arguement has been made here that you should only use Mozilla, why alienate a huge chunk of users without helping them along? Also, if you are going to publish in XUL, do not assume the casual user knows what the format and reader is. The Filext.com site did not yet have a listing or recommended reader for the XUL files.
Have you Meta Moderated t
I thought "sweet!!!" now we don't need to have Firefox, or Mozilla on a system to run XUL-based programs (not that I don't love Firefox), but the download for XULRunner is bigger than the Firefox download. Why is that, is there extra stuff in the archive that actually isn't needed to use this, or what? I haven't really looked at it, but if all this is needed, what's the advantage over just putting Firefox on your system?
Damnit, Jim, I'm an anarchist, not a F@#$!^& doctor!
I've been waiting for something like this for a loooong time. I've been searching for a way to build my own apps with XUL but I havent found crap on how to set up something like that yourself. If anyone knows then please tell me. I wouldnt need that now though with XULRunner.
It would be better if Firefox and all the rest would use XULRunner too so there would be some consistance between the projects so it doesnt result in several versions of XUL and I have to have all of them installed at the same time.
Don't know much about xul, but the mention of automatic install gives me shivers. That little thing of most windows users having administrator rights by default does not need a rerun on other platforms that are more secure by default.
there should only be one way how software gets installed on a linux system, and that is through it's package manager.
And now, on to TFM...
This space is intentionally staring blankly at you
I am working on a couple of extensions and I wish there was a dev studio, possibly an Eclipse plugin for xul/xbl/xpcom/javascript/css/rdf integration. With my extensions, which have a very small codebase, debuging is a completely manual process (not counting venkman, which is a good tool but still not powerful enough for my needs.) Certainly having a good design helps a lot, because most of the time it is clear, which component should be looked at. When I just started on the first extension, I didn't understand javascript enough to componentize, so after a while, I completely rewrote the code, because the single file with functions grew too much and any debugging became extremely painful.
I am also looking for a way to 'run' xul components without doing a full build, a visual studio perhaps, that could help with layouts and avoid all the annoying syntax errors. XUL itself is a markup language that is XML based and allows building visual components - dialogs, menues, buttons, tabs, grids, textboxes, etc. While you can open a half done HTML page in your browser and see what is going on, with XUL you have to build the package first and then you can see what's going on (an incorrect XML structure in this case will give you an error, XUL must be well-formed and valid.)
XPCOM brings other challenges. It is a native library of services/components that can be accessed from javascript (or possibly other scripts) and that extend the functionality of the script to include things like file management, access to preference storage, window manipulation, etc. But you can't just run a compiler to see if you are doing everything correctly, you will only get errors in runtime.
Actually, I think this is the biggest problem - all errors must be caught in run-time. Javascript, XUL, XPCOM work, XBL, everything can be built (there is nothing to building anyway, just packaging really,) but after the packaging errors have to be caught in runtime, and I think this is always the biggest problem for a programmer who is used to rely on compiler to quickly catch some of the problems before even starting the application.
Maybe there needs to be a unit-testing framework created, that can help running unit tests on portions of the code without building the entire application and catching unit errors during execution of the entire application. Yes, actually, to think about it this could be a big help, especially for the new developers, who can be put off this entire platform because of lack of these tools.
You can't handle the truth.
For crying out loud guy, get a grip.
Cheers,
Ian
But where are the IDE's/GUI builders for XUL? Those `tutorials' sure don't help newbies.
My nightmare story about trying to install mozilla plugins suddenly comes to mind. Until somebody things good and hard about these problems I wouldn't recommend anyone to write anything in XUL.
The parent comment makes no sense. Perl, Parrot and PUGS are documented in POD, not XUL. POD is short for "Plain Old Documentation" which is a Perl standard for marking up prose. XUL is a standard for laying out user interfaces. POD and XUL have nothing to do with each other.
Whose idea was it to name "XULRunner"? Picking a name that's a new word, hard for most people to guess how to pronounce, is a bad way to get people to talk about it.
--
make install -not war
This is definately a good preview edition, we've been able to push through a release based off of this instead of using it as a firefox extension by using Advanced Installer which made MSIs easy for me. I'm sure any platform specific installer would be able to work as well, and we'll probably hang on to this for later MSI packaging once XulRunner has it's own installer(but once it does have it's own installer/upgrader we'll switch to that so we can run our stuff on Mac's again(and *nix, but that hasn't come up).
The download size of XULRunner is larger than Firefox because firefox currently has an installer with optimal 7zip compression and the XULRunner developer preview is just packed in a ZIP. The installed size of XULRunner is smaller than Firefox and the future installer work for XULRunner should compress the archive comparably.
ChrisDolan,
I apologize for my unintentionally misleading statement. Parrot Does not have a XUL document. The intro to PUGS and HASKELL slides are XUL documents. They are both referenced from the PERL6 site. In my quest to find out more about PUGS and HASKELL I was thrown off course and had to learn about XUL first. There is no good purpose for that. A user should not be surprised by a new document format while on a quest for other information. And a fair question would be, where is the POD Perl 6 documentation? It is not on the site, nor is it on CPAN. I have not followed the project closely and as a casually interested user, the doc locations are not intutively obvious.
Thanks, E.
Have you Meta Moderated t
This sounds very promising and interesting--a robust cross-platform GUI-development platform. However, I've always been a bit baffled by the idea of Mozilla/XUL as a "development platform." It is so unlike the environments I'm used to (Tcl/Tk, AppleScript/Cocoa, Python/wxPython) that I'm not clear what one does with it. So here are some questions:
1. Can one do general-purpose GUI application development with Mozilla/XULrunner--using JavaScript instead of Python or Tcl as the programming language? (i.e. is there finally a good reason for a non-web-dev to learn JavaScript?)
2. Does developing with this environment require one to do hacking in C++? (I'm not interested in hacking with C++.)
3. Can anyone point me to applications that already exist that make use of Mozilla as a development deployment platform? I'm already familiar with Firefox, Thunderbird, and Komodo. Are there any others? (i.e. that are standalone apps and don't run as Firefox extensions, say?)
4. What kinds of applications are *not* feasible with this development platform?
Using Eclipse for Mozilla develpment http://developer.mozilla.org/en/docs/Eclipse
These people look deep within my soul and assign me a number based upon the order I joined. -Homer Simpson
How much memory is chewed up by this to just diaplsy, say a 3"x3" square window, with a table and some text? For Mozilla/Seamonkey, it's something like 15MB. Same, less, more?
Also, like a browser, if you open a second "window", you only have a small memory hit to add the extra page (plus rendered objects). Is this the same here?
Don't steal. The government hates competition.
I'd like to remind readers that this is preview release, and there are many aspects of this platform that are not complete, including a set of tools which will be packaged up as the XULRunner SDK. I am fully aware that you can't have a platform without excellent developer tools and documentation, and we're working to get all of those resources in place in the next year.
There need to be more examples of web-based XUL applications.
One is @Mail - A Webmail interface written in XUL for Firefox. It's coming close to a Web-version of Thunderbird. Take a look online at: http://demo.atmail.com/
IMHO, looking at the text of the documents mentioned above, it appears that a stock header and footer was constructed and then the presentation script itself was done in a text editor.
Have you Meta Moderated t