Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Начало работы с XULRunner

Содержание

  1. Шаг 1: Скачайте XULRunner
  2. Шаг 2: Установите XULRunner
  3. Шаг 3: Создайте структуру папок приложения
  4. Шаг 4: Задайте application.ini
  5. Шаг 5: Задайте chrome.manifest
  6. Шаг 6: Задайте предпочтения
  7. Шаг 7: Создайте какой нибудь XUL
  8. Шаг 8: Запустите приложение
    1. Альтернатива: используйте "Firefox3 -app" для запуска приложений XUL
  9. Информация об этом документе

Дальше »

Эта статья посвящена платформе 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. от редакции. Предлагаем вашему вниманию дополнительные статьи об интернете. По этой ссылке вы найдете документацию по основам работы в сети интернет, как настраивать компьютеры для безопасного серфинга в сети и другие интересные статьи.

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2010-01-24 11:53:30

Метки материала: XULRunner, XUL, Firefox, app, Mozilla, MDC, chrome, application, framework, софт


3 комментария

02.01.2010 20:37:16 #
Mozilla Firefox dima
Спасибо за замечание. Содержимое application.ini, конечно же должно соответствовать используемой версии XULRunner.
02.01.2010 17:06:43 #
Mozilla Firefox Гость Вадим Монахов
Приношу извинения - пример с данного сайта работает (если, конечно, поставить MaxVersion=1.9.1.*). Не работал оригинал с тем же именем архива с англоязычного сайта, и я решил, что это одно и то же, только с переводом на русский язык. Имя папки всё-таки preferences.
02.01.2010 16:27:24 #
Mozilla Firefox Гость Вадим Монахов
Пример не работает - по крайней мере, под Windows XP SP3 - ни для одной версии xulRunner, начиная с 1.8 - не поленился скачать. У Firefox вместо папки preferences указана pref. Но, видимо, имеются ещё ошибки. Документация по xulRunner ужасная, что на английском, что на русском. Если бы не работающий Firefox и работающая надстройка от IBM для Java над xulRunner - думал бы, что это вообще барахло.

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.