Начало работы с XULRunner
Содержание
- Шаг 1: Скачайте XULRunner
- Шаг 2: Установите XULRunner
-
Шаг 3: Создайте структуру папок приложения
-
Шаг 4: Задайте application.ini
-
Шаг 5: Задайте chrome.manifest
- Шаг 6: Задайте предпочтения
-
Шаг 7: Создайте какой нибудь XUL
- Шаг 8: Запустите приложение
-
Альтернатива: используйте "Firefox3 -app" для запуска приложений XUL
- Информация об этом документе
Дальше »
Эта статья посвящена платформе Mozilla и созданию простого десктопного
приложения с помощью XULRunner'а. Если Firefox,
Thunderbird и множество других приложений были написаны с помощью этой
платформы, значит есть смысл научиться создавать с его помощью простые
приложения. В этой статье не рассматриваются какие либо способы сборки
приложений с XULRunner'ом. Смотрите об этом статью Создание приложений XULRunner с помощью Системы сборки
Mozilla.
Если вы намереваетесь собрать десктопное приложение, основанное на XUL, вам
понадобится устанавливать XULRunner. Но сначала давайте научимся запускать голый
скилет приложения на уже установленным XULRunner'е.
Шаг 1: Скачайте XULRunner
Ссылки на скачивание вы можете найти на основной странице, посвященной
XULRunner.
XULRunner для Windows доступен в виде ZIP-файла, который не запускается на
инсталляцию. Как разработчик я предпочитаю чтобы для использования XULRunner'а
достаточно было просто распаковать его на моей машине. Это избавляет меня от
необходимости хакать свою систему Windows.
Версия XULRunner под Mac поставляется как стандартный инсталлятор для
Mac OS X.
В десктопном Ubuntu и в Xubuntu XULRunner уже установлен по умолчанию.
Для его загрузки и инсталляции в Kubuntu запустите команду
sudo apt-get install xulrunner .
Шаг 2: Установите XULRunner
В Windows распакуйте архив, куда сочтете нужным. Я распаковал его в новую
папку C:\program files\xulrunner . Это очень легко сделать с помощью
FAR. Под Mac'ом следует запустить инсталлятор, который установит XULRunner в
директорию /Library/Frameworks как XUL.Framework .
Теперь время создать и запустить простейшее приложение. Можно назвать его
“Hello World”. Google выдал хороший учебник, доступный
здесь. Он определенно заслуживает
прочтения. Используя этот учебник, я создал свое простейшее приложение. Все, что
прочтете ниже, можно найти в этом учебнике Райана а также в документации по
XULRunner'у от MDC.
Шаг 3: Создайте структуру папок приложения
В Windows я создал новую корневую папку для своего приложения как
c:\program files\myapp , но вы можете создать ее где и как хотите.
Теперь создадим подпапки согласно следующей структуре:
+ /myapp
|
+-+ /chrome
| |
| +-+ /content
| | |
| | +- main.xul
| |
| +- chrome.manifest
|
+-+ /defaults
| |
| +-+ /preferences
| |
| +- prefs.js
|
+- application.ini
Заметьте, что в этой структуре присутствуют 4 файла:
application.ini , chrome.manifest ,
prefs.js и main.xul .
Шаг 4: Задайте application.ini
Файл application.ini служит для XULRunner точкой доступа
к вашему приложению. Он указывает, как ваше приложение собирается использовать
платформу XULRunner, а также сообщает XULRunner'у некоторую информацию о том,
как запускать ваше приложение. Вот мой:
[App]
Vendor=Finkle
Name=Test App
Version=1.0
BuildID=20060101
Copyright=Copyright (c) 2006 Mark Finkle
ID=xulapp@starkravingfinkle.org
[Gecko]
MinVersion=1.8
MaxVersion=1.9.0.*
Шаг 5: Задайте chrome.manifest
Файл chrome.manifest используется XULRunner'ом для того, чтобы
определить специфические URI, которые будут использовать локальные ресурсы
приложения. Это станет понятным, когда мы познакомимся с использованием URI
“chrome://”. Содержимое chrome для приложения может находиться в
одном или в нескольких JAR-файлах или в распакованных папках и файлах. Сейчас я
использую метод без упаковки. Вот мой манифест:
content myapp file:content/
Замечание: Убедитесь, что имя вашего приложения написано в нижнем
регистре и что оно длинее 3 символов.
Шаг 6: Задайте предпочтения
Файл prefs.js сообщает XULRunner'у название XUL-файла,
используемого как главное окно. Вот так он выглядит у меня:
pref("toolkit.defaultChromeURI", "chrome://myapp/content/main.xul");
В предпочтениях для XULRunner следует указать:
toolkit.defaultChromeURI
- Задает окно, которое будет открываться по умолчанию при запуске приложения.
toolkit.defaultChromeFeatures
- Задает параметры для вызова
window.open() при открытии главного окна
приложения.
toolkit.singletonWindowType
- Разрешает приложению быть открытым только один раз в данный момен времени.
Более подробно об этом можно прочитать в статье XULRunner: Задаем стартовое окно Chrome.
Шаг 7: Создайте какой нибудь XUL
Наконец мы создадим простое окно с помощью XUL, которое будет описано в файле
main.xul . Не будем особо фантазировать и просто создадим
минималистичное окно. Никаких меню и прочего:
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="main" title="My App" width="300" height="300"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<caption label="Hello World"/>
</window>
Замечание: убедитесь, что в начале XML/XUL-файла нет каких либо
пробелов.
Шаг 8: Запустите приложение
На этом этапе нам нужно с помощью XULRunner запустить наше простейшее
приложение. Из командной строки Windows откроем папку
C:\program files\myapp и запустим на выполнение:
xulrunner.exe application.ini
Разумеется xulrunner.exe должен находиться в переменной PATH .
Поэтому, когда я распаковал XULRunner, я еще и запустил его следующей командой,
чтобы он попал в переменную PATH :
..\xulrunner\xulrunner.exe application.ini
В Mac'е перед первым запуском приложения XULRunner его желательно
инсталлировать с помощью флага --install-app к консольной команде.
Инсталляция регестрирует наше приложение как приложение OS X:
/Library/Frameworks/XUL.framework/xulrunner-bin --install-app /<path>/<to>/myapp.zip
Однажды проинсталлировав, вы сможете запускать приложение:
/Library/Frameworks/XUL.framework/xulrunner-bin
"/Applications/Finkle/Test App.app/Contents/Resources/application.ini"
В OS X вы можете запустить приложение и без инсталляции (но появится бар меню
и пропадет установленная иконка) следующей командой:
/Library/Frameworks/XUL.framework/xulrunner-bin "/<полный путь>/Test App/application.ini"
Замечание: указывайте полный путь. Иначе получите сообщение об ошибке:
"Error: couldn't parse application.ini". Буквальный перевод:
"Ошибка: не могу разобрать application.ini".
Процедура запуска может быть упрощена с помощью с помощью очень простого
шелл-скрипта, который я назвал "run.sh":
#!/bin/sh
/Library/Frameworks/XUL.framework/xulrunner-bin `pwd`/application.ini
В Ubuntu вы можете запустить свое приложение из терминала. Смените текущую
директорию на папку \myapp и запустите свое приложение следующей
командой:
xulrunner application.ini
Теперь вы должны увидеть окно наподобие этого. Этот скриншот был сделан на
Windows 2000.
Альтернатива: используйте "Firefox3 -app" для запуска приложений XUL
Начиная с 3-го Firefox'а вы можете из командной строки приказать ему
запустить на выполнение приложение XUL вместо обычного браузера. Это аналогично
запуску приложения XUL с использованием XULRunner. Смотрите Использование Firefox 3 для запуска приложений XULRunner.
Это не будет работать, если сам Firefox был установлен как приложение XUL. В
этом случае вам следует использовать непосредственно XULRunner.
Скачайте простейший проект.
Дальше »
Информация об этом документе
Автор: Mark Finkle (02.10.2006)
Перевод: Дмитрий Скоробогатов (31.08.2009). Оригинальный текст был взят
по адресу
https://developer.mozilla.org/en/Getting_started_with_XULRunner
P.S. от редакции. Предлагаем вашему вниманию
дополнительные
статьи об интернете. По этой
ссылке вы найдете документацию по основам работы в сети интернет, как
настраивать компьютеры для безопасного серфинга в сети и другие интересные
статьи.
Последнее редактирование: 2010-01-24 11:53:30
Метки материала:
XULRunner, XUL, Firefox, app, Mozilla, MDC, chrome, application, framework, софт
3 комментария
dima
Спасибо за замечание. Содержимое application.ini, конечно же должно соответствовать используемой версии XULRunner.
Гость Вадим Монахов
Приношу извинения - пример с данного сайта работает (если, конечно, поставить MaxVersion=1.9.1.*). Не работал оригинал с тем же именем архива с англоязычного сайта, и я решил, что это одно и то же, только с переводом на русский язык. Имя папки всё-таки preferences.
Гость Вадим Монахов
Пример не работает - по крайней мере, под Windows XP SP3 - ни для одной версии xulRunner, начиная с 1.8 - не поленился скачать. У Firefox вместо папки preferences указана pref. Но, видимо, имеются ещё ошибки. Документация по xulRunner ужасная, что на английском, что на русском. Если бы не работающий Firefox и работающая надстройка от IBM для Java над xulRunner - думал бы, что это вообще барахло.
Оставьте, пожалуйста, свой комментарий к публикации
|