Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Your First Xulrunner-based application

8,724 views

Published on

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

Published in: Technology
  • Be the first to comment

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

×