[Firefox]利用XULRunner與HTML 開發桌面Application

XULRunner是Firefox的核心引擎,也就是說只要有安裝Firefox就可以執行了,執行的畫面其實就是去掉工具列和網址列的火狐瀏覽器
由於XULRunner是瀏覽器的核心引擎,支援一般常見的網頁技術(CSS、HTML、Javascript),因此可以很輕鬆的透過這些網頁技術完成桌面軟體

首先開始之前要先遵循以下的檔案結構

+ myapp/
|
+-+ chrome/
| |
| +-+ content/
| | |
| | +-- index.html
| |
+-+ defaults/
| |
| +-+ preferences/
|   |
|   +-- prefs.js
|
+-- application.ini
|
+-- chrome.manifest

基本上所有的CSS、Javascript和HTML的檔案都是丟在content裡

設定 application.ini

[App]
; 單位名稱
Vendor=Test
; 專案名稱(必要)
Name=myapp
; 版本號
Version=1.0
; BuildID 建立專案的日期(必要)
BuildID=20130203
; 版權說明
Copyright=Copyright (c) 2013 johnson
; Mail
ID=myapp@johnsonlu.org

[Gecko]
; 最小版本號
MinVersion=1.9.*
; 最大版本號
MaxVersion=200.*

設定 chrome.manifest

content myapp chrome/content/

設定 defaults/preferences/prefs.js

//預設執行index.html
pref("toolkit.defaultChromeURI", "chrome://myapp/content/index.html");

//DEBUG用
pref("browser.dom.window.dump.enabled", true);
pref("javascript.options.showInConsole", true);
pref("javascript.options.strict", true);
pref("nglayout.debug.disable_xul_cache", true);
pref("nglayout.debug.disable_xul_fastload", true);

執行方式

# Linux
firefox -app ~/myapp/application.ini

# Windows
"C:\Program Files\Firefox\firefox.exe" -app C:\workspace\myapp\application.ini

Deploy方式
Step 1.
首先先到官網下載XULRunner runtime(下載runtimes)

Step 2.
接著解壓縮後,將xulrunner這個資料夾放到專案根目錄下

Step 3.
將xulrunner/xulrunner-stub.exe 複製一份 到根目錄,並將檔名改成myapp.exe

Step 4.
執行myapp.exe即可

[Apache]mod_proxy

[Node.js]async