XULRunner: Difference between revisions

550 bytes added ,  15 March 2005
no edit summary
No edit summary
Line 1: Line 1:
= XULRunner =
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 ==
= 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]).


== User Profiles ==
= The XUL Development Kit =
 
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
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:


Where <code>$vendor</code> and <code>$appname</code> are chosen by the
* Basic build environment without all of the complexity of the Mozilla system
XUL application, and <code>$random</code> is generated by XULRunner to
* A packaging tool which allows developers to package their applications into installable bits.
obscure the location of the user's profile data.
* Development tools that already have been developed, including DOM Inspector and Venkman JS Debugger


The goal of this approach is to eliminate the need for the application
= Technical Details =
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]].)


== 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? ==
= 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]
Confirmed users, Bureaucrats and Sysops emeriti
1,217

edits