Your first XULrunner-based
        application
        Daniel Glazman
     Disruptive Innovations




    MAOW Berlin 28-ma...
Your first XULrunner-based application




  What is XULrunner

• in short, Firefox without all its chrome
• more correctly...
Your first XULrunner-based application




            Downloads
• You don’t need to build XULrunner if you
  already have ...
Your first XULrunner-based application




      Structure
       Top dir
               chrome
                    content...
Your first XULrunner-based application




          application.ini
• very simple file declaring your app’s
  metadata
   [...
Your first XULrunner-based application




 Basic chrome.manifest
• basically a mapping between chrome:// URLs
  and the fil...
Your first XULrunner-based application




 More chrome.manifest

• add a skin
  skin myfirstapp classic/1.0 jar:myfirstapp...
Your first XULrunner-based application




        app’s preferences
pref(quot;toolkit.defaultChromeURLquot;,
     quot;chr...
Your first XULrunner-based application




       Your main window
<?xml version=quot;1.0quot;?>
<?xml-stylesheet href=quot...
Your first XULrunner-based application




    Running your app
• Windows
  xulrunner.exe application.ini


• Mac (with res...
Your first XULrunner-based application




     Package your app
• Zip it into a *.app file
• call
  xulrunner -install-app ...
Your first XULrunner-based application




   More complex stuff
• Add jsm modules
• Add icon to application.ini
• Add Venk...
Your first XULrunner-based application




                            Links

•   https://developer.mozilla.org/en/XULRunne...
Your first XULrunner-based application




• Questions ?


        MAOW Berlin 28-mar-2009 -- Daniel Glazman
              ...
Upcoming SlideShare
Loading in …5
×

Your First Xulrunner-based application

8,317 views
8,071 views

Published on

Your First Xulrunner-based application, D.Glazman's slides at MAOW Berlin 09

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,317
On SlideShare
0
From Embeds
0
Number of Embeds
32
Actions
Shares
0
Downloads
63
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Your First Xulrunner-based application

  1. 1. Your first XULrunner-based application Daniel Glazman Disruptive Innovations MAOW Berlin 28-mar-2009
  2. 2. Your first XULrunner-based application What is XULrunner • in short, Firefox without all its chrome • more correctly, a runtime for Gecko and the toolkit MAOW Berlin 28-mar-2009 -- Daniel Glazman 2
  3. 3. Your first XULrunner-based application Downloads • You don’t need to build XULrunner if you already have Firefox 3 and limit yourself to chrome firefox -app path/to/application.ini • or download and unzip XULrunner from ftp://ftp.mozilla.org/pub/xulrunner/releases/ MAOW Berlin 28-mar-2009 -- Daniel Glazman 3
  4. 4. Your first XULrunner-based application Structure Top dir chrome content main.xul chrome.manifest defaults preferences prefs.js application.ini MAOW Berlin 28-mar-2009 -- Daniel Glazman 4
  5. 5. Your first XULrunner-based application application.ini • very simple file declaring your app’s metadata [App] Name=MyFirstApp Vendor=My Own Organization Version=0.1 BuildID=20090328 ID=myfirstapp@myownorg.org Copyright= Copyright 2009 My Own Organization [Gecko] MinVersion=1.9 MaxVersion=1.9.0.* MAOW Berlin 28-mar-2009 -- Daniel Glazman 5
  6. 6. Your first XULrunner-based application Basic chrome.manifest • basically a mapping between chrome:// URLs and the filesystem content myfirstapp file:content/ • you can also package and compress the files creating a jar content myfirstapp jar:myfirstapp.jar!/content/ MAOW Berlin 28-mar-2009 -- Daniel Glazman 6
  7. 7. Your first XULrunner-based application More chrome.manifest • add a skin skin myfirstapp classic/1.0 jar:myfirstapp.jar!/skin/ • add a locale locale myfirstapp en-US jar:myfirstapp.jar!/locale/en-US/ MAOW Berlin 28-mar-2009 -- Daniel Glazman 7
  8. 8. Your first XULrunner-based application app’s preferences pref(quot;toolkit.defaultChromeURLquot;, quot;chrome://myfirstapp/content/main.xulquot;); • prefs for debugging • prefs for user-agent or cache • prefs for extension manager and XPInstall • prefs for protocol handlers • prefs for preferences window :-) MAOW Berlin 28-mar-2009 -- Daniel Glazman 8
  9. 9. Your first XULrunner-based application Your main window <?xml version=quot;1.0quot;?> <?xml-stylesheet href=quot;chrome://global/skin/quot; type=quot;text/cssquot;?> <?xml-stylesheet href=quot;chrome://myfirstapp/skin/main.cssquot; type=quot;text/cssquot;?> <!DOCTYPE window SYSTEM quot;chrome://myfirstapp/locale/main.dtdquot;> <window id=quot;mainquot; title=quot;&window.title;quot; width=quot;600quot; height=quot;400quot; xmlns=quot;http://www.mozilla.org/keymaster/gatekeeper/ there.is.only.xulquot;> <label value=quot;Guten Tag Berlin !quot;/> <button label=quot;Dankequot; oncommand=quot;window.close();quot;/> </window> MAOW Berlin 28-mar-2009 -- Daniel Glazman 9
  10. 10. Your first XULrunner-based application Running your app • Windows xulrunner.exe application.ini • Mac (with restrictions) /Library/Frameworks/XUL.framework/xulrunner-bin `pwd`/application.ini • Linux xulrunner application.ini MAOW Berlin 28-mar-2009 -- Daniel Glazman 10
  11. 11. Your first XULrunner-based application Package your app • Zip it into a *.app file • call xulrunner -install-app `pwd`/myfirstapp.zip • Installs inside c:Program Files or /Library on Mac MAOW Berlin 28-mar-2009 -- Daniel Glazman 11
  12. 12. Your first XULrunner-based application More complex stuff • Add jsm modules • Add icon to application.ini • Add Venkman and Document Inspector • Build a single executable with xulrunner... • Update your app like Firefox... • Extensions management MAOW Berlin 28-mar-2009 -- Daniel Glazman 12
  13. 13. Your first XULrunner-based application Links • https://developer.mozilla.org/en/XULRunner • https://developer.mozilla.org/en/XULRunner_tips • https://developer.mozilla.org/en/XULRunner/Deploying_XULRunner_1.8 • http://zenit.senecac.on.ca/wiki/index.php/XULRunner_Guide_Outline MAOW Berlin 28-mar-2009 -- Daniel Glazman 13
  14. 14. Your first XULrunner-based application • Questions ? MAOW Berlin 28-mar-2009 -- Daniel Glazman 14

×