Confirmed users, Bureaucrats and Sysops emeriti
1,217
edits
No edit summary |
|||
| Line 1: | Line 1: | ||
XULRunner is a single | XULRunner is a single | ||
installable package that can be used to bootstrap multiple XUL+XPCOM | installable package that can be used to bootstrap multiple XUL+XPCOM | ||
applications that are as rich as Firefox and Thunderbird. | applications that are as rich as Firefox and Thunderbird. | ||
= The XULRunner Runtime = | |||
XULRunner should contain most of the common functionality expected by developers of rich internet applications. XULRunner will include: | XULRunner should contain most of the common functionality expected by developers of rich internet applications. XULRunner will include: | ||
| Line 41: | Line 39: | ||
<code>#ifdef MOZ_PHOENIX</code>. (See [https://bugzilla.mozilla.org/show_bug.cgi?id=285789 bug 285789]). | <code>#ifdef MOZ_PHOENIX</code>. (See [https://bugzilla.mozilla.org/show_bug.cgi?id=285789 bug 285789]). | ||
== | = The XUL Development Kit = | ||
In addition to the XULRunner runtime, the XULRunner build process will produce a Development Kit which contains tools for building XUL applications and extensions. As a first goal, these tools will provide: | |||
* Basic build environment without all of the complexity of the Mozilla system | |||
* A packaging tool which allows developers to package their applications into installable bits. | |||
* Development tools that already have been developed, including DOM Inspector and Venkman JS Debugger | |||
= Technical Details = | |||
== How do I build it? == | == How do I build it? == | ||
Building XULRunner is a lot like building any other Mozilla application. | Building XULRunner is a lot like [http://www.mozilla.org/build/ building any other Mozilla application]. | ||
Start by pulling <code>client.mk</code> from CVS: | Start by pulling <code>client.mk</code> from CVS: | ||
| Line 119: | Line 96: | ||
Not much to see, I know. But, take a look at the contents of the <code>apps/simple</code> | Not much to see, I know. But, take a look at the contents of the <code>apps/simple</code> | ||
directory. Pretty simple (for a Mozilla-based app), wouldn't you say? Check out [http://lxr.mozilla.org/mozilla/source/xulrunner/examples/simple/simple.xulapp simple.xulapp] | directory. Pretty simple (for a Mozilla-based app), wouldn't you say? Check out [http://lxr.mozilla.org/mozilla/source/xulrunner/examples/simple/simple.xulapp simple.xulapp] | ||
== User Profiles == | |||
An application running on top of the XULRunner has a fully | |||
"managed" profile directory for storing user specific data. | |||
XULRunner sets up the profile directory for applications | |||
automatically, and it uses the same profile locking mechanism | |||
used by existing applications like Firefox and Thunderbird. | |||
The profile directory for an application is created under | |||
<em>vendor/appname</em> in the appropriate place on the user's | |||
system. For example, under Windows this would be: | |||
$USERPROFILE\Application Data\$vendor\$appname\Profiles\$random.default | |||
And under Unix systems it would be: | |||
$HOME/.$vendor/$appname/Profiles/$random.default | |||
Where <code>$vendor</code> and <code>$appname</code> are chosen by the | |||
XUL application, and <code>$random</code> is generated by XULRunner to | |||
obscure the location of the user's profile data. | |||
The goal of this approach is to eliminate the need for the application | |||
developer to think about profile details. The default configuration | |||
should simply work without much fuss. | |||
Down the road, we will want to allow XULRunner-based applications to | |||
participate in profile sharing. The goal here is to allow applications | |||
to share data that is common to the web platform such as SSL certificate, | |||
cookies, and the web cache. (See also: [[Mozilla2:Profile_Sharing]].) | |||
== Versioning == | == Versioning == | ||
| Line 140: | Line 148: | ||
Some relatively old notes: [[XUL:Xul_Runner_Versioning]] | Some relatively old notes: [[XUL:Xul_Runner_Versioning]] | ||
= What needs to be done? = | |||
[https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Toolkit&component=XULRunner&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&resolution=---&emailassigned_to1=1&emailtype1=exact&email1=&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailtype2=exact&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= XULRunner bugs] | [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=Toolkit&component=XULRunner&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&resolution=---&emailassigned_to1=1&emailtype1=exact&email1=&emailassigned_to2=1&emailreporter2=1&emailqa_contact2=1&emailtype2=exact&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= XULRunner bugs] | ||