Разработка для Mozill'ы, по-русски

Введение.

Введение оно и в Африке, введение.

Что такое XUL

  • Как расшифровывается XUL? - XUL расшифровывается как XML User-interface Language. Это подмножество XML языка, используемое в для описания интерфейса.
  • Кто умеет рисовать интерфейсы на основе этого языка? - программы, основанные, на внутреннем "движке" Mozill'ы под названием Gecko. Этот внутренний "движок" используется в таких браузерах как Netscape's Communicator, Mozilla/Mozilla Firefox, Camino , Jazilla (аналог Mozilla, написанный на Javа), и прочие из этой плеяды. Его можно также использовать отдельно, вне браузеров как поступается в ActiveState Komodo.

    На заметку: Вообще-то, некоторые под словом XUL - часто понимают любое подмножество различных языков основанных на XML и предназначенных для описания интерфейса. Под эти понятия попадает такие языки как реализация XUL на других платформах и языках, например на Java - Synth или Luxor, язык от Macromedia - Flex, язык от Microsoft - XAML >>. В этом руководстве под словом XUL понимается именно язык, используеммый в семействе Mozilla.
  • Как произносится XUL? XUL произносится как ЗУЛ. На английский сайтах, указывается, что буква 'У' такая же, как в слове cool.

    Для чего он нужен?

    Мне кажется, что изучение всего этого имеет смысл в двух случаях - вы хотите написать некий довесок к Mozill'е или хотите создать некую кросс платформенную программу (здесь у Mozill'ы достаточно много конкурентов, в лице той же Java, например), наиболее известной программой написанной таким образом является среда разработки ActiveState Komodo.

    И как это всё работает?

    XUL является частью XPFE, кроссплатформенной среды, предназначенной для того, чтобы разрешить проблемы создания интерфейсов, которые будут работать под любой операционной системой. ( насчёт любой платформы это широко сказано, на данный момент поддерживается Windows, Unix и Mac).

    XPFE очень похоже по структуре на DHTML, это очень хорошо видно, на иллюстрации, взятой из "Creating Applications with Mozilla":

    JavaScript используется для развития функциональности, CSS используется для дизайна, а язык разметки для создания наполнения. Разница лишь в том, что используется не HTML а XUL. Сам по себе XPFE - платформо-независим, и все его компоненты основаны на открытых стандартах.

    Что нужно знать перед изучением?

    Вообще-то, по хорошему, нужно знать: XML, JavaScript, CSS. Хотя бы на неком начальном уровне (если вы знаете хорошие ссылки на подобные ресурсы в сети - поделитесь, пожалуйста, я размещу их здесь).

    Некоторые вещи, которые нужно помнить про XUL:

    Особенности настройки сервера

    По умолчанию, ненастроенные сервера Apache и IIS отдают .xul файлы с заголовком text/plain. Что бы Mozilla правильно понимала XUL файлы, загруженные из сети, необходим заголовок application/vnd.mozilla.xul+xml. Добавьте строчку:

    application/vnd.mozilla.xul+xml xul
    в файл конфигурации mime.types Apache. Или, если у вас не прав на администрирование (обычная ситуация, когда вы покупаете виртуальный хостинг у провайдера) добавьте в файл .htaccess (или создайте его) в каталоге, где расположены XUL файлы, строчку:

    AddType application/vnd.mozilla.xul+xml xul

    Особенности настройки Mozilla для разработки.

    Вы можете использовать специальные настройки Mozilla, которые значительно облегчат жизнь разработчику. Внести их можно набрав about:config в строке ввода адресса или сохранить их в user.js ( подробности, как это делается, посмотрите в соответствующей статье "Настройка Mozilla" ). Последний вариант более предпочтителен, если вы будете переустанавливать Mozilla/Firefox.

    Параметр Установить Для чего
    browser.dom.window.dump.enabled true Включить диагностирующую функцию dump(). Результаты, помещённые к ней параметром, будут выведены в консоли.
    javascript.options.strict true Более побробный отчёт в консоли JavaScript.
    nglayout.debug.disable_xul_cache true По умолчанию, XUL-приложения кэшируются Mozilla. Во время отладки вы захотите, чтобы всё время подгружалась актуальная копия файла.
    nglayout.debug.disable_xul_fastload true Отключаем ещё один кэш XUL
    signed.applets.codebase_principal_support true Пропуск всех ограничений безопасности, кроме тех, которые требуют вмешательства пользователя.

    Лирическое отступление о великорусском языке

    Так как XUL является подмножеством языка XML, то в нём, как и в XML по умолчанию считается, что документ записан в кодировке UTF-8. Поэтому, если ваш редактор работает с языком в кодировке Windows, то в заголовке следует писать <?xml version="1.0" encoding="windows-1251"?>. Правда, может породить в последствии проблемы, когда вы будете писать ваши приложения, поддерживающие много языков, в будущем хочу посвятить этому отдельную главу.

    К следующей главе. "Часть 1. Здравствуй Я."


    Хотите помочь? Вы нашли ошибку или хотите сделать комментарий - пишите. Я рад любой помощи.


  • ©Yegor Turin (electroCat.ru) 2004 year. All Rights Reserved.