Добро пожаловать в Школьный Учебник по XUL!
Этот учебник предназначен стать трамплином, который в мгновение ока вознесёт вас до уровня профессионального разработчика расширений Firefox. Мы вложили в него годы опыта работы с XUL, предоставив множество решений проблем, с которыми обычно сталкиваются разработчики расширений.
Школа XUL была создана Appcoast (прежде Glaxstar) - одной из немногих компаний, предназначенных для разработки высококачественных расширений к Firefox-у. В то время, когда был создан этот учебник, Glaxstar собрала команду из более, чем дюжины разработчиков XUL, и здесь отражён их общий многолетний опыт создания расширений для Firefox.
В этом учебнике вы узнаете как разрабатывать расширения к Firefox. Вы научитесь быстро выполнять наиболее распространённые задачи в разработке расширений, сравнивая несколько разных подходов к их решению. В большинстве случаев мы предоставим образцы кода, (которые вы сможете просто скопировать и приспособить под свои нужды), а также некоторые работающие примеры расширений. Учебник предназначен быть как можно более кратким, часто ссылаясь к документации Mozilla на более подробную информацию. Вы можете думать об этом как о кратком путеводителе по огромному миру платформы Mozilla. Большинство ссылок в этой документации даны для того, чтобы по ним щёлкнули и прочитали.
Мы начнём с краткого введения в некоторые ключевые понятия, на случай, если вы не знакомы с Mozilla и Firefox.
Mozilla и Firefox
Термин Mozilla используется для обозначения нескольких понятий: проект Mozilla, фонд Mozilla Foundation, корпорация Mozilla Corporation старый браузер Mozilla. Даже Firefox иногда упоминается как "Mozilla". Если вы не знакомы с этими терминами, хорошо, что вы уделили время чтобы узнать немного о Mozilla. Это поможет вам понять культуру вокруг сообщества.
Сообщество Mozilla породило несколько продуктов и проектов, самым известным из которых является веб-браузер Mozilla Firefox. Firefox - один из самых успешных проектов с открытым кодом в истории, сочетающий в себе открытость, соответствие стандартам и изощрённость открытого кода с сосредоточением на пользовательском опыте и мощной программе поддержки, чаще присущим менее открытым компаниям.
Версия Firefox номер 1.0 была выпущена в ноябре 2004 года, версия 2.0 - в октябре 2006 года, а версия 3.0 - в июне 2008 года. Этот учебник был написан после выпуска Firefox 3 и со временем был обновлён. В то время как большая его часть должна работать для создания расширений Firefox 3 (и даже Firefox 2), настоятельно рекомендуется, чтоб вы стремились поддерживать современные версии Firefox, чтобы поощрять пользователей придерживаться всех актуальных исправлений, касающихся безопасности. Выпуск, старее 6 месяцев, скорее всего, уязвим к опубликованным "ошибкам безопасности".
XUL
XUL - the XML User interface Language - язык разметки пользовательского интерфейса на основе XML (расширенного языка разметки).
XUL (произносится "зул") - это одна из многих технологий, используемых при создании продуктов и расширений на основе Mozilla. Это только одна часть панорамы разработки, но, учитывая, что это практически исключительно для Mozilla, это, как правило, используется для отождествления всех разработок, связанных с Мозиллой. Вы порой будете встречать такие термины, как "XUL-приложения" и "XUL-расширения", но редко они будут относиться к проектам, построенным исключительно с XUL. Обычно это означает проекты, построенные с использованием технологий Mozilla. Даже этот проект, названный Школой XUL, охватывает ряд других технологий, таких как JavaScript, CSS, XBL и XPCOM.
Gecko (Геккон)
Движок Gecko - это часть Firefox, используемая для отрисовки его пользовательского интерфейса и веб-страниц. Вы можете определить уровень совместимости веб-стандартов в браузерах на основе Gecko, глядя на их строку "Агент Пользователя" (User Agent, UA), которая должна включать версию Gecko. Версии Gecko несколько независимы от версий Firefox, и вы можете увидеть карту версий Firefox и версий Gecko на странице Gecko. Строка UA для Firefox на момент написания этой статьи (в американском английском, Mac OS X):
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Выделенный фрагмент - это версия Gecko: 7.0.1. Вы можете прочесть и скопировать строку UA, любого окна Firefox, выбрав в главном меню: "Справка" > "Информация о поиске и устранении неисправностей.".
XULRunner (Пускатель XUL)
Firefox и другие приложения Mozilla, можно рассматривать как состоящие из двух разных частей: слой пользовательского интерфейса, отличающийся в каждом проекте, и общую платформу, поверх которой построен слой интерфейса. Эта платформа известна как "XULRunner". XULRunner включает в себя отрисовывающий движок Gecko, сетевую библиотеку Necko и несколько других компонентов, обеспечивающих независимый от операционной системы: файл управления, "доступность", "локализацию" - среди прочих. Именно эта очень мощная платформа позволила обеспечить такой быстрый рост сообщества разработки вокруг Mozilla и Firefox.
XULRunner доступен и в двоичной форме, на странице XULRunner, и он является основой для нескольких проектов, таких, как Songbird (Певчая птичка), Миро и Eudora. В Зале Славы XULRunner довольно обстоятельный список приложений, работающих на XULRunner-е.
К учебнику
С основными понятиями на нашем пути разобрались, теперь мы вправе разрабатывать расширения.
Вероятно, вам, всёж-таки интересно, что же именно такое эти расширения, что они могут делать, и как вы можете делать их. Собственно, весь этот учебник и посвящён объяснению этого.
Добро пожаловать в мир разработки расширений!
Пожалуй, начнём.
This tutorial was kindly donated to Mozilla by Appcoast.
ведение