mozilla

This article is in need of an editorial review.

This translation is incomplete. Please help translate this article from English.

Изменение и расширение приложений Mozilla

Дополнения добавляют новые функциональные возможности в Gecko-приложения, такие, как Firefox, SeaMonkey и Thunderbird. Есть два основных типа дополнений: расширения, которые добавляют новые функции в приложение, и темы, изменяющие пользовательский интерфейс приложения.

Для расширений и тем в Mozilla работает хранилище на addons.mozilla.org, также известное как AMO. Когда вы помещаете дополнения на AMO, они рассматриваются, и после этого станут доступны для пользователей. Вы не обязаны представлять свои дополнения в AMO, но если вы это сделаете, пользователи могут быть уверены в том, что они были предварительно рассмотрены и будут знать, что ваше дополнение действительно полезно.

Дополнение может существенно повлиять на поведение приложения, на которое оно устанавливается. Мы разработали список советов, которые помогут вам удостовериться, что ваше дополнение будет приятным в использовании. Эти правила применяются для всех видов надстроек, размещены они на addons.mozilla.org или нет.


Расширения

Расширения добавляют новые функции к приложениям Mozilla, например Firefox и Thunderbird. С их помощью можно изменить стандарное поведение браузера, например другой способ организации и управления вкладками. Можно даже изменять содержимое отображаемого веб приложения чтобы улучшить удобство использования или например повысить безпасность определенных сайтов.

Существует 3 различных способа для сборки расширений: Плагины SDK-based extensions, manually bootstrapped restartless extensions, and overlay extensions.

  • Add-on SDK extensions
    Разработка restartless расширения с помощью набора высокого уровня JavaScript API.
  • Restartless extensions
    Разработка расширений, которые не требуют перезагрузки браузера.
  • Overlay extensions
    Развивать традиционные расширения с помощью наложения XUL.

Если есть возможность, то целесообразно использовать Add-On SDK, который использует механизм расширения restartless но упрощает некоторые задачи и убирает за собой. Если Add-on SDK не является достаточным для ваших потребностей в реализации,  restartless осуществите сами. Overlay extensions в основном устарело.

Для получения дополнительно информации о том какой способ использовать, прочтите это сравнение.

Рекомендованные практики

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

Производительность
Убедитесь что Ваше расширение обладает хорошей производительностью. Оно должно быть достаточно быстрым, иметь отзывчивый интерфейс и минимально потреблять память.
Безопасность
Гарантируйте чтобы Ваше приложение не подвергало пользователя опасности на вредоносных веб сайтах.
Этикет
Гарантируйте чтобы Ваше расширение не конфликтовало с другими расширениями.

Application-specific

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

Thunderbird
Разработка расширений для почтового клиента Thunderbird.
Firefox для Андроид
Разработка расширений для Firefox под Андроид.
SeaMonkey
Разработка расширений для SeaMonkey.

Темы

Темы это дополнения которые изменяют внешний вид пользовательского интерфейса.  Существуют два вида тем: легковесные темы и полные темы.

Легковесные темы значительно легче создать чем полные, но их возможности ограничены.

С помощью полных тем вы можете гораздо глубже менять UI приложения. Документация к полным темам устарела, но приведена здесь в качестве возможной основы для обновленной документации.


Other types of add-ons

Search engine plugins являются простыми и очень специфическими типами дополнений: они добавляют новые поисковые системы для поиска в строке браузера.

Plugins помогают приложению понять содержание, которое не имеет встроенной поддержки. NPAPI plugins are a legacy technology and new sites should not use them. In general, plugins are not available on most modern mobile systems including, and websites should transition away from using plugins.


Присоединись к сообществу extension development

Выбери удобный способ для общения: