Введение

TODO: нужно исправить Шаблон:Next

Этот учебник является руководством для изучения XUL (XML User Interface Language) - кроссплатформенного языка для описания пользовательского интерфейса приложений.

В учебнике демонстрируется создание простого интерфейса для поиска файлов, похожего на Macintosh's Sherlock или диалога поиска файлов в ОС Windows. Имейте в виду, что создается только пользовательский интерфейс с ограниченной функциональностью. Фактически, поиск файлов реализован не будет. Синяя линия слева от параграфа будет указывать места где диалог поиска файлов будет изменяться. Ниже приводится общая информация о XUL, которую при первом чтении можно пропустить.

Что такое XUL и почему он был создан?

XUL (произносится как "zool" и рифмуется с "cool") был создан для упрощения и ускорения разработки браузера Mozilla. Это язык на основе XML, поэтому все преимущества имеющиеся в XML также доступны для XUL.

Большинство приложений должны быть разработаны для конкретных платформ, что влечет за собой большие затраты времени и издержки. Ранее уже были разработаны кросс-платформенные решения. Например в Java главным преимуществом была переносимость. XUL является одним из таких языков, спроектированных специально для создания переносимых пользовательских интерфейсов. Java забирает много времени для создания приложений даже для одной платформы. Время затраченное на компиляцию и отладку кода может быть довольно длительным. С помощью XUL, интерфейс приложения реализовать или изменить можно быстро и легко.

XUL имеет все преимущества других XML языков. К примеру XHTML или другие XML языки такие как MathML или SVG могут легко интегрироваться в него. Также, текст отображаемый в XUL легко локализовать, а это значит что его можно перевести на другие языки без особых усилий.

Какие пользовательские интерфейсы могут быть реализованы средствами XUL?

XUL предоставляет возможность создания большинства элементов содержащихся в современных графических интерфейсах. Элементы которые можно создать:

  • Элементы ввода такие как textarea и checkbox
  • Панели инструментов с кнопками и другим содержимым
  • Панель меню и всплывающие меню
  • Диалоги с вкладками
  • Деревья для иерархического или табличного представления информации
  • Обработку быстрых клавиш

Выводящийся контент может быть сформирован из содержимого XUL файла или из данных в datasource. В Mozilla, такие datasources включают почтовый ящик пользователя, его закладки и результаты поиска. Содержимое меню, деревьев и других элементов может быть заполнено этими данными, либо вашими собственными данными, представленными в RDF файле.

Есть несколько способов применения XUL:

  • дополнение Firefox -- это дополнение, которое добавляет в браузер дополнительную функциональность, чаще в форме дополнительных панелей инструментов, контекстных меню, или изменением интерфейса браузера. Это осуществляется с использованием свойства XUL, называемого overlay, оно позволяет объединить интерфейс источника, в данном случае браузера Firefox, с интерфейсом дополнения. Дополнения также могут применяться и к другим продуктам Mozilla, таким, как Thunderbird.
  • Автономное XULRunner-приложение -- XULRunner это упакованная версия платформы Mozilla, которая позволяет вам создавать автономные XUL приложения. Для запуска таких приложений не требуется браузер, так как они имеют собственные исполняемые файлы.
  • XUL пакет -- создаётся точно так же, как дополнение, но действует как отдельное приложение в отдельном окне. Пакет используется, когда вам не нужны большие размеры полного XULRunner-приложения, но это не означает что для запуска приложения требуется установленный браузер Mozilla.
  • Удалённое XUL приложение -- вы также можете размещать XUL код на веб-сервере и открывать его прямо в браузере, как любую другую веб-страницу. Этот метод является, правда, ограниченным, так как имеются проблемы безопасности из-за которых вы не сможете делать некоторые вещи, как например отрыть другое окно.

Первые три типа требуют установки на компьютер пользователя. Эти типы приложений не имеют ограничений безопасности, к примеру они могут получать доступ к локальным файлам и читать или изменять настройки. Для дополнений, XUL файлы и связанные скрипты и картинки, должны быть упакованы в один файл, загружены и установлены пользователем. Приложения Mozilla, такие как Firefox, обеспечивают менеджер дополнений, который позволяет устанавливать дополнения без необходимости написания большого объёма сложного кода.

Кроме того, можно открывать XUL файлы прямо из файловой системы или с удаленного веб-сайта, но они будут ограничены по некоторым операциям, и некоторые элементы XUL не будут функционировать. Если, несмотря на это, вы хотите загрузить содержимое XUL с удалённого веб-сайта, веб-сервер должен быть настроен соответствующим образом, т.е. он должен отправлять XUL файлы с заголовком Content-Type равным "application/vnd.mozilla.xul+xml". XUL обычно хранится в файлах с .xul расширением. Вы можете открыть XUL файл браузером Mozilla как любой другой файл, используя команду "Open File" из файлового меню или введя URL в строку адреса.

Что нужно знать для использования этого учебника?

Вам необходимо знать HTML и, по крайней мере знать базовые понятия XML и CSS. Вот некоторые принципы, которые необходимо помнить:

  • Элементы и атрибуты XUL должны набираться в нижнем регистре, так как XML является регистро-зависимым (в отличие от HTML).
  • Значения атрибутов должны размещаться внутри кавычек, даже числа.
  • XUL файлы, как правило, разбиты на четыре файла:
  1. Для компоновки и элементов
  2. Для определения стилей
  3. Для определения сущностей (используется для локализации)
  4. Для скриптов

Кроме того, вы можете иметь дополнительные файлы для картинок или для данных определённой платформы.

XUL поддерживается в программных продуктах Mozilla и в браузерах, которые основаны на движке Gecko, таких как Netscape 6 (или более поздних версий) и Mozilla Firefox. Из-за различных изменений в XUL синтаксисе, вам необходимо получить последнюю версию для примеров, чтобы они работали корректно. Большинство примеров должно работать в Mozilla 1.0 или более поздней версии. XUL достаточно одинаков в Firefox и в других браузерах, хотя у него есть существенные различия, такие, как поддержка настраиваемых панелей инструментов.

В этом руководстве освещена бóльшая часть функциональности XUL, однако не все функции обсуждаются. Ознакомившись с XUL, вы можете использовать XUL Reference, чтобы узнать о других особенностях поддерживаемых элементов.

Метки документа и участники

Contributors to this page: Roman.Kulikov, Xprommer, John Wehin, Dionys, Andb
Обновлялась последний раз: Roman.Kulikov,