Вот если бы ко мне обратился новичок, немного знающий HTML и CSS с просьбой расказать о веб-языках программирования, то я мог бы ему рассказать подробно и ясно, чем отличается например JS от PHP. Что один на клиенте работает, другой на сервере. И что бы писать на PHP нужно установить соответствующее ПО (и указал какое именно), а для JS подойдёт тот же HomeSite и пара-тройка броузеров для проверки работоспосбоности...

Люди, объясните пожалуйста по русски, как написать тривиальное расширение на XUL (под расширениями  я так понимаю понимают боковые панели?). Какой-нибудь хелоу ворд.

Я читал на xul.ru статьи о языке (XUL - Самоучитель) - там всё понятно, но как это всё применять, как заставить работать? Объясните, с чего копать. самые-самые азы. как это всё взаимодействует, как работает?

Спасибо.

PS: Вот, например, скачал расширение - оно так называется: xsms.xpi
И судя по всему откомпилировано... А в примерах расширения .xul используют... непойму...

Ничего там не откомпилировано. Пожалуйста, воспользуйтесь поиском в разделе "Разработка приложений". Не раз уже отвечали на этот вопрос.

xpi - это обычный zip-архив.
Подробно можно прочитать тут (конкретно "Из чего состоит расширение").

alc Я форум "ручками" просмотрел - все похожие на эту тему говорят мне меньше, чем я знаю. Там либо на англоязычные ресурсы посылают, либо стебутся над авторами вопроса.

RT
Боковые панели - это боковые панели, а не расширения. Всего лишь внешние веб-ресурсы, которые отображаются в "боковушке".

На xul.ru описывается создание приложений на платформе Gecko, а не расширений.
Хотя и при написании расширений этот ресурс может оказаться полезным для начинающего разработчика.

XUL - это язык описания пользовательского интерфейса. Сам Firefox написан на XUL+JS. Расширения с помощью механизма оверлеев могут "перекрывать" интерфейс браузера, а подавляющее большинство кода пишется на JavaScript.

А *.xpi - это упакованные в формате zip расширения.

Очень много информации можно найти на mozilla.org, xulplanet.com.

Интересная мысль...

Многие источники называют HTML подмножеством XML. Источники, посвященные созданию приложение на XUL, также называют XUL подмножеством XML. Получается интересная аналогия: какой-нибудь из браузеров, IE например, используется для отображения и обслуживания пользовательского интерфейса сайтов; платформа Gecko отображает пользовательский интерфейс приложений, таких как Firefox, Thunderbird, Mozilla Suite, значит Gecko является браузером xul-ресурсов, и не обязательно локальных.

Разница между HTML и XUL ресурсами лишь в разделении последних на доверенные (chrome) и обычные...

Anton По большому счету - так оно и есть :) Не надо забывать, что темы - это наш любимый CSS. XUL+JS+CSS не сильно отличается от HTML+JS+CSS... Можно сказать, что ФФ - это веб-страница, в iframe которой мы просматриваем другие веб-страницы :)

Anton

Интересная мысль...

IE Engine - Gecko - Seamonkey Gecko :
Близнецы - Братья ?!  :)

Кстати, совсем забыл про http://xpoint.ru/forums/programming/XUL/forum.xhtml. Неплохой ресурс, русскоязычный.

Между прочим, в FF 1.0 PR по дефолту в закладках находилась папка "Проект Mozilla" в которой находилось множество полезных ссылок, в т. ч. и указанная ссылка (и страница по умолчанию была www.mozilla.ru). А в новых версиях другие закладки другие и стартовая страница другая, зачем ?!

Боковые панели - это боковые панели, а не расширения. Всего лишь внешние веб-ресурсы, которые отображаются в "боковушке".

Что значит внешние веб-ресурсы? У меня LiveHTTPHeaders стоит - это что, внешний веб-ресурс?

На xul.ru описывается создание приложений на платформе Gecko, а не расширений.

А расширения разве не на XUL+JS+CSS пишутся??

Расширения с помощью механизма оверлеев

что это такое?

Очень много информации можно найти на mozilla.org, xulplanet.com.

я в рускоязычных пакетах документаций порой разобраться не могу, а ты на англоязычные посылаешь....

Между прочим, в FF 1.0 PR по дефолту в закладках находилась папка "Проект Mozilla" в которой находилось множество полезных ссылок, в т. ч. и указанная ссылка (и страница по умолчанию была www.mozilla.ru). А в новых версиях другие закладки другие и стартовая страница другая, зачем ?!

Это требование mozilla.org.

RT

Что значит внешние веб-ресурсы? У меня LiveHTTPHeaders стоит - это что, внешний веб-ресурс?

Внешние и локальные в том числе. Я отвечал на вопрос "под расширениями  я так понимаю понимают боковые панели?". Расширения могут добавлять боковушки, но сайдбар - это сайдбар. Вот у меня User Agent Switcher стоит, и никакой боковушки.

А расширения разве не на XUL+JS+CSS пишутся??

Разумеется, но приложение - это то, что может работать самостоятельно, а расширение - только вместе с приложением.

Расширения с помощью механизма оверлеев

что это такое?

Оверлеи - файлы xul, предназначенные для хранения общего содержимого для нескольких окон или для добавления или изменения содержимого в окнах.

я в рускоязычных пакетах документаций порой разобраться не могу, а ты на англоязычные посылаешь....

Вообще-то не посылал. Отдал известные мне ссылки. Может, кто другие знает.

Теперь по поводу

Я читал на xul.ru статьи о языке (XUL - Самоучитель) - там всё понятно, но как это всё применять, как заставить работать? Объясните, с чего копать. самые-самые азы.

Может, я не правильно понял. Как заставить работать что ? Если примеры, которые на xul.ru, то там вроде это объясняется. Если же именно расширения... учебники на русском языке по написанию расширений мне не попадались. Можно разобрать какое-нибудь несложное расширение, например User Agent Switcher, Work Offline, Forumzilla и посмотреть, что и как; но все равно, без посещения xulplanet будет сложно.

как это всё взаимодействует, как работает?

Вот уж не знаю :) Попробую ответить так, как я это понимаю.

Движок Gecko загружает xul-файлы, допустим, Firefox. Он (движок) "строит" DOM (объектную модель документа) для каждого файла, т. е., все объекты, определенные в этих файлах (окна, меню, панели инструментов и т. п.).

Построение объектов осуществляется с учетом стилей CSS (которые влияют на внешний вид или изменяют поведение объектов) и оверлеев (определенные в оверлеях объекты добавляются в документ или заменяют существующие элементы).

После построения DOM, объекты, которые должны быть отображены, отображаются на экране и Gecko начинает отслеживать и обрабатывать события, определенные созданной объектной моделью, выполняя явно определенные (например, передача управления JavaScript-коду) действия или действия "по умолчанию" для каждого объекта.

Вот...

понятно, спасибо.