Подтвердить что ты не робот

Каковы преимущества/недостатки использования Add-on SDK для разработки моего расширения Firefox?

Я разрабатываю (еще один) надстройщик паролей для Firefox. Мое дополнение должно:

  • Добавьте два пункта контекстного меню в каждое поле пароля.
  • При выборе пункта меню откройте диалоговое окно или панель с плавающей точкой.
  • Доступ к определенному методу конкретного компонента XPCOM.
  • Заполните поле пароля.
  • Включить окно настроек.
  • Совместимость с Firefox 4.0.

Предпочтительно также:

  • Запуск на Firefox 3.5 и 3.6.
    • Некоторые пользователи не обновляют до последней версии.
    • Firefox 4.0 не будет работать на PowerPC Mac.
  • Установить без перезагрузки в Firefox 4.0.
  • Разрешить локализацию.

Я попробовал SDK Add-on (ранее известный как Jetpack), и он очень легко начать разработку. Тем не менее, я считаю, что HTML не может легко создавать диалоговые окна с "родным видом" и что SDK является довольно тяжелым. (Для создания простого расширения требуется много килобайт, в том числе компонент XPCOM!)

В чем преимущества и недостатки использования Add-on SDK для разработки моего расширения Firefox? Готово ли оно к "серьезному" развитию расширения?

4b9b3361

Ответ 1

Преимущества:

  • API Jetpack предоставляет API высокого уровня для большинства вещей, о которых вы упомянули:

    • Добавить два пункта контекстного меню
    • плавающая панель
    • API для менеджера паролей
  • Добавления на основе Jetpack перезапускаются.

  • Надстройки на основе Jetpack являются будущими доказательствами в том смысле, что API высокого уровня останется неизменным для будущих версий FF.

  • Возможно, вы сможете использовать некоторые сообщества разработанные модули для API, которые не отображаются SDK.

  • Если это не последнее расширение, которое вы планируете строить, существует вероятность повторного использования кода, путем создания сторонних модулей, как указано в 4 (подробнее см. документы)

  • Поддержка мобильного FF входит в версию Addon-SDK версии 1.0, которая может означать, что ваш расширение может быть совместимо с мобильной версией FF с минимальным усилием.

  • Jetpack поставляется с встроенным модулем тестирования модулей.

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

  • Jetpack поддерживает модули/пакеты commonjs, что означает, что некоторые из них могут быть заимствованы из других проектов, например nodejs.

Недостатки:

  • Jetpack больше не поддерживает FF < 4.
  • Пока не поддерживается локализация.
  • Не имеет API для создания панелей предпочтений, но может быть разработан как сторонний модуль и общий с остальной частью сообщества.
  • Надстройка будет содержать код со слоями абстракций, который увеличит размер надстройки (есть текущая работа, которая уменьшит размер xpi, исключив файлы, которые не используются надстройкой).