Каталог статей
Поиск по базе статей  
Статья на тему Интернет » Интересное в сети » Mozilla XUL&nb p;&mda h; и&nb p;снова теги

 

Mozilla XUL&nb p;&mda h; и&nb p;снова теги

 

 

Mozilla\\'s XUL

Итак, XUL расшифровывается как XML User-interface Language. Из полного названия технологии становится ясно, что перед нами базирующийся на стандарте XML язык, используемый для описания пользовательского интерфейса. Произносится аббревиатура как «зул» с «у», как в слове cool. Сама технология была изначально разработана для использования в рамках программного обеспечения от Mozilla, но также доступна как часть движка Gecko. О перспективах этого факта мы поговорим чуть ниже.

загрузка...

 

 

Схема работы чем-то похожа на всем знакомый DHTML: с помощью XUL мы описываем разметку приложения, затем настраиваем его внешний вид в CSS, а за функциональность отвечает JavaScript. Но в отличие от HTML технология от Mozilla предлагает нам богатый выбор различных интерактивных элементов для создания меню, панелей инструментов, панелей с вкладками, всевозможных деревьев и так далее. Это значит, что пользователю не придется искать сторонние библиотеки или добавлять большой кусок JavaScript-кода, чтобы получить возможность использовать полноценное всплывающее меню.

Да, в XUL все самые популярные элементы пользовательского интерфейса встроены изначально. Более того, их внешний вид можно настраивать как угодно с помощью все того же CSS. Если же этого не требуется, то они буду выглядеть так же, как и интерфейс операционной системы, на котором приложение запущено. К примеру, XUL использовался для создания всех интерфейсов программного обеспечения от Mozilla. Возвращаясь же к сравнению с DHTML, нельзя не упомянуть XPFE Framework (XUL считается ее частью), которая является скорее набором технологий и очень похожа на DHTML, как это видно из иллюстрации.

XPFE

Что можно делать с помощью XUL и как это работает

Фактически описываемая технология позволяет создавать пользовательские интерфейсы любой сложности, содержащие все элементы, которые можно найти в современных десктоп-программах. Кроме того, по мере необходимости мы можем разрабатывать собственные повторно используемые компоненты для применения в рамках XUL. Для этого придется задействовать Extensible Binding Language (XBL), который дает возможность работать с собственными тегами и имплементировать необходимую функциональность.

XUL — язык на базе XML

Вообще же полный список технологий, которые могут применяться совместно с XUL и в его рамках, выглядит следующим образом:

  • HTML 4.0 и XHTML;
  • CSS2 и частично CSS3;
  • DOM2 и частично DOM3;
  • XML;
  • MathML;
  • RDF;
  • XSLT;
  • XPath;
  • Simple XLinks;
  • XPointer;
  • XML Base;
  • FIXPtr;
  • XML-RPC;
  • SOAP (Simple Object Access Protocol);
  • WSDL;
  • ECMAScript/JavaScript;
  • уже упомянутый XBL;
  • изображения GIF, JPG, PNG, BMP, ICO;
  • HTTP 1.1.

Список, как минимум, внушительный, особенно если учесть, что все перечисленные технологии действительно доступны и работают. Что касается форматов программ, то на сегодняшний день есть несколько вариантов разработки и распространения приложений, созданных на базе XUL (как онлайновых, так и офлайновых):

  • расширение для Firefox — пожалуй, самый массовый на данный момент вариант использования. Как правило, подобные XUL-приложения представлены в виде дополнительных панелей инструментов, контекстных меню или других элементов пользовательского интерфейса. Это достигается при помощи XUL-опции overlay, которая позволяет совмещать интерфейс базового приложения с интерфейсом расширения. По точно такому же принципу работают и другие программы от Mozilla, к примеру Thunderbird;
  • standalone-программа, работающая при помощи XULRunner. XULRunner — это версия платформы Mozilla, которая позволяет разработчикам создавать XUL-приложения, работающие без использования браузера;
  • пакет XUL — вариант, аналогичный предыдущему (может запускаться в отдельном окне, а не как расширение для Firefox), но в этом случае для работы все равно потребуется браузер, зато размер дистрибутива будет значительно меньше ввиду отсутствия XULRunner;
  • удаленное XUL-приложение — это самый интересный для веб-разработчика вариант. Мы можем просто разместить код на сервере и запустить его с помощью соответствующего браузера. Однако тут есть тонкость: пока не вся функциональность XUL доступна в онлайновом формате. Это сделано из соображений безопасности конечного пользователя.

XUL Man

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

А если мы хотим сделать наше XUL-приложение доступным через Веб, то придется еще настроить сервер, чтобы он посылал соответствующие файлы с заголовком application/vnd.mozilla.xul+xml. Ненастроенные же серверы Apache и IIS отдают XUL-файлы с заголовком text/plain, и в этом случае браузер не будет правильно их понимать. Настройка осуществляется достаточно просто: нужно добавить лишь одну строчку "AddType application/vnd.mozilla.xul+xml xul" в файл .htaccess и положить его в нужную папку.

Практика

От вопросов по большей части теоретических переходим к моментам практическим. Как уже говорилось выше, XUL является подмножеством языка XML, следовательно, балом здесь правят теги. Начнем с самого простого — с классики под названием Hello World.

XUL позволяет создавать кроссплатформенные приложения

<?xml version="1.0" encoding="windows-1251"?>
<window
title="Привет, мир"
id="HelloWindow"
xmlns="/redir.php?url=www.mozilla.org%2Fkeymaster%2Fgatekeeper%2Fthere.is.only.xul">
<description>
Привет, мир!
Hello World!
</description>
</window>

Чтобы запустить получившееся приложение, достаточно сделать в Firefox операцию File — Open File, и вот в окне мы видим текст из тега description, причем в финальном виде он также разбит на строки. Но разберемся в структуре постепенно. Первая строка хорошо знакома любому, кто хоть в какой-то мере знаком с веб-технологиями, поэтому детально ее объяснять не будем.

Следом идет тег window с атрибутами. Он описывает создаваемое нами окно, которое является корневым элементом XUL-документа. Теперь пару слов об атрибутах этого тега:

  • title — текст, вписываемый в заголовок окна;
  • id — идентификатор элемента, по которому к нему можно будет обращаться из других частей программы; считается правильным подходом, когда веб-специалист присваивает идентификаторы каждому элементу в коде;
  • xmlns — здесь мы определяем пространство имен нашего документа.

Разумеется, в примере были использованы далеко не все атрибуты тега window. Подробнее об остальных деталях можно узнать в официальной документации к XUL, а мы движемся дальше.

Основной контент у нас заключен в тег description. На самом деле есть два вида работы с этим элементом. Первый — как в примере, тогда движок во время рендеринга разобьет текст на строки согласно исходному коду. Также мы можем указать контент с помощью атрибута value, и тогда он будет отображаться одной строкой.

Усложним пример, добавив вместо тега description следующий код:

<script src="hello.js" type="application/x-javascript" />
<label control="idHi" value="Привет?" />
<button id="idHi" label="Привет!" onclick="Hello('Привет, мир!');" />

XUL поддерживает множество современных стандартов

Первая из добавленных строк является классическим тегом script, который подключает к программе внешний файл со скриптом. Он имеет всего два атрибута: type (тип подключаемого языка) и src (путь к файлу). К слову, наш файл содержит всего одну функцию Hello:

function Hello(text)
{
alert(text);
}

Думаю, смысл этой функции понятен, поэтому сразу рассмотрим следующий элемент из добавленных — label. По функциональности он похож на description, но используется для привязки текста к элементам управления, таким как кнопки или поля ввода. Атрибут control указывает на id элемента, с которым он связан. При нажатии на него связанный элемент оказывается в фокусе. В примере мы указали идентификатор кнопки, которая идет следом.

ActiveState Komodo
ActiveState Komodo — десктоп-приложение, созданное полностью на базе XUL

Здесь все обстоит чуть интереснее: атрибут id нам уже известен, в label задается надпись, которая будет отображаться на кнопке, а onclick помогает присвоить определенный JavaScript-код событию нажатия кнопки. Казалось бы, никаких особых отличий от DHTML нет (по крайней мере, концептуальных), но рассмотрим другие атрибуты этого элемента:

  • accesskey — «горячая» клавиша; иными словами, здесь мы можем сообщить движку, нажатие какой клавиши вместе с так называемой функциональной клавишей (на платформе Windows ею является Alt) следует ждать;
  • class — класс стиля кнопки, описанный во внешнем CSS-файле;
  • crop — обрезка; если содержание атрибута label не помещается в отведенное место, то он обрезается в соответствии с указанным здесь значением: start (по левому краю), end (по правому краю), center (середина), none (просто не показывается полностью);
  • default — этот атрибут позволяет установить, является ли кнопка кнопкой по умолчанию, и может принимать значения true и false; кнопка по умолчанию выделяется движком другим стилем и обычно реагирует на нажатие Enter;
  • disabled — позволяет отключать кнопку;
  • image — ссылка на картинку для размещения внутри кнопки;
  • dir и orient — определяют взаиморасположение картинки и надписи внутри кнопки по горизонтали и вертикали.

В самом начале статьи я обещал рассказать о потенциальных преимуществах того факта, что приложения на базе XUL могут разрабатываться и распространяться в формате standalone-продуктов. По сути, для веб-программистов оно одно, но открывающее любопытные перспективы. С XUL специалисты по онлайновым проектам смогут работать в привычной среде (CSS, JavaScript, теговый язык), создавая и десктоп-приложения. Это, кстати, достаточно модная тенденция — свести два программистских мира воедино: достаточно вспомнить технологию XAML от Microsoft, задачи у которой местами практически идентичны задачам XUL.

Ссылки по теме




Статья получена: hostinfo.ru
загрузка...

 

 

Наверх


Постоянная ссылка на статью "Mozilla XUL&nb p;&mda h; и&nb p;снова теги":


Рассказать другу

Оценка: 4.0 (голосов: 16)

Ваша оценка:

Ваш комментарий

Имя:
Сообщение:
Защитный код: включите графику
 
 



Поиск по базе статей:





Темы статей






Новые статьи

Противовирусные препараты: за и против Добро пожаловать в Армению. Знакомство с Арменией Крыша из сэндвич панелей для индивидуального строительства Возможно ли отменить договор купли-продажи квартиры, если он был уже подписан Как выбрать блеск для губ Чего боятся мужчины Как побороть страх перед неизвестностью Газон на участке своими руками Как правильно стирать шторы Как просто бросить курить

Вместе с этой статьей обычно читают:

Эффективные теги для оптимизации сайта

Mета-теги представляют собой команды для web-сервера или браузера, которые не влияют на отображение страницы. С точки зрения оптимизации мета-теги являются важными объектами, правильная работа с которыми – залог успеха при создании эффективного сайта. Оптимизация раздела HEAD Часть исходного кода, находящаяся вверху страницы, относится к наиболее важным зонам, которые должны находиться под пристальным вниманием оптимизатора.

» Продвижение и оптимизация - 3887 - читать


Как создать заголовок и мета-теги, которые понравятся поисковику? (Часть 1)

В этой статье я пошагово объясню, как создать заголовок и мета-теги, оптимизированные под поисковые машины. Статья состоит из двух частей. В первой мы познакомимся с элементом Title (заголовок).

» Продвижение и оптимизация - 2695 - читать


Как создать заголовок и мета-теги, которые понравятся поисковику? (Часть 2)

В первой части этой статьи мы дали определения TITLE- и META-тегам и выполнили пошаговую инструкцию по созданию оптимизированного заголовка. Теперь пришло время оптимизации мета-тегов Description и Keywords. Создание мета-тега Description Настало время оптимизации мета-тега Description.

» Продвижение и оптимизация - 2971 - читать


Технология поисковой оптимизации: теги и управление индексацией

В статье даются рекомендацию по эффективному использованию тегов, содержимое которых влияет на восприятие страницы поисковой системой. Особое внимание уделено подготовке страницы к индексации. Подбор ключевых слов - теория Термин ключевые слова далее будет относиться к словам, входящим в текст HTML документа и в предполагаемый запрос пользователя поисковой системы, ищущего информацию по тематике, совпадающей с тематикой документа.

» Продвижение и оптимизация - 3588 - читать


Что нового в&nb p;Mozilla Firefox 2

Конкуренция между разработчиками браузеров серьезно обострилась. Microsoft работает над новой версией Windows Internet Explorer, Opera Software продолжает развивать свой продукт, делая его все более удобным. Не стоит на месте и Mozilla — работа над второй версией браузера на основе открытого исходного кода близится к завершению.

» Интересное в сети - 1735 - читать



Статья на тему Интернет » Интересное в сети » Mozilla XUL&nb p;&mda h; и&nb p;снова теги

Все статьи | Разделы | Поиск | Добавить статью | Контакты

© Art.Thelib.Ru, 2006-2024, при копировании материалов, прямая индексируемая ссылка на сайт обязательна.

Энциклопедия Art.Thelib.Ru