Точная разница между надстройками, плагинами и расширениями

Какая разница между плагинами, надстройками и расширениями. Я много читал об этом и путался, например, вижу следующие четыре определения:

1-fire-fox говорит: "Надстройки - это коллективное имя для расширений, тем и плагинов" (см. Https://support.mozilla.org/en-US/info/790919)

2-www.Differencebetween.net говорит: "Plug-in и Add-on - это просто расширения... Подключаемый модуль - это термин, который обычно используется при обращении к стороннему программному обеспечению (взаимодействующему с определенной программой), например, флеш-плееру.,

3- wikipedia (https://en.wikipedia.org/wiki/Plug-in_%28computing%29) говорит, что плагин устарел.

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

Также я прочитал ответ, предоставленный в дополнениях firefox против расширений против плагинов и http://colonelpanic.net/2010/08/browser-plugins-vs-extensions-the-difference/

Однако я хочу понять эти различия, особенно в firebreath, где плагины автоматически выполняются с согласия пользователя, а надстройка должна устанавливаться вручную. Также я думаю, что плагин встраивается в htm-страницу, а надстройка - в виде разделенного файла, такого как xpi в fire-fox.

Любые точные, всеобъемлющие и точные определения для этих трех концепций, которые вызывают различия, будут оценены.

Ответ 1

Общее эмпирическое правило:

Плагины

Когда вы говорите о веб-браузере, плагин говорит о NPAPI или подобном плагине, который специфичен для этой страницы. IE не поддерживает "плагины" как таковой, но у них есть элементы управления activex, которые могут заполнять подобную функцию, хотя есть элементы управления ActiveX BHO (Browser Helper Object), которые больше похожи на расширения. Таким образом, мы (команда FireBreath) обычно используем термин плагин для обозначения того, что работает как плагин NPAPI, а термин "расширение" ссылается на то, что работает как типичное расширение (firefox XPI, Chrome CRX и т.д.).

Плагины знают только о своей странице; они ничего не знают о браузере или о том, что загружается на другие страницы.

Плагины несут ответственность за множество проблем безопасности, поскольку на самом деле они запускают собственный код. Это привело к большой дискриминации в отношении них - большая часть этого заслуживает. Из-за этого и потому, что NPAPI является королевской болью в шее (следовательно, FireBreath был создан), большинство браузеров пытаются поэтапно отключить плагины. Плагины никогда не должны использоваться, если нет другого способа решить вашу проблему.

Тем не менее, есть много случаев, когда они являются единственным вариантом.

расширения

Расширение - это то, что характерно для браузера, и они немного отличаются в каждом браузере, но, как правило, имеют возможность узнать больше об общем состоянии браузера; они могут автоматически добавляться на страницы, доступные отдельно от страницы и т.д.

Дополнения

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

Ключевые отличия

Обычно расширения устанавливаются автоматически. Плагины создаются одним из двух способов: 1) <object> или <embed> в HTML-странице веб-страницы или 2), поскольку они зарегистрированы как обработчик для типа mimetype, который браузер не поддерживает,

FireBreath

FireBreath работает с плагинами. Он не имеет ничего общего с типичными расширениями браузера, только плагинами. Это структура C++, а не структура javascript, и она позволяет добавлять функциональные возможности, которые могут использоваться с веб-страницы. Обычно плагины FireBreath используются из <object>.

FireBreath post-NPAPI

Поскольку вы можете или не можете знать, Chrome отказался от поддержки плагинов NPAPI (начиная с версии 45), а Firefox сделал это с версии 52 (за исключением версии Extended Extended Release версии 52, которая будет поддерживать их еще на один год). FireBreath 2.0 теперь используется в производстве несколькими компаниями и может создавать "плагины" (на самом деле не плагины, а работать аналогичным образом), которые могут работать с Google Chrome и Firefox через Native Messaging с помощью вспомогательного расширения. Основное ограничение - рисование; нет никакого способа напрямую подключиться к браузеру через встроенный обмен сообщениями (ну, ни один хороший способ, и вообще не на других платформах, кроме окон).

В конце концов мы можем добавить поддержку абстракции для рисования с использованием Canvas/WebGL поверх встроенного моста обмена сообщениями в FireBreath 2.0, но это еще не сделано. Честно говоря, мне это не нужно, поэтому я не потрудился это сделать. FireBreath - это система с открытым исходным кодом, которая, к сожалению, не получила достаточной поддержки от пользователей за последние пару лет, и поэтому документация немного устарела и есть много мелочей, которые не были выполнены.

Метод Native Messaging основан на расширении - мы сделали это, прежде всего, чтобы смутить всех, конечно, но также и потому, что это был единственный способ разрешить нам общаться с плагинами FireBreath со страницы в Google Chrome или Firefox.

* (Последнее обновление 6 марта 2017 г., Firefox 52 планируется выпустить завтра)

Надеюсь, это поможет. Смотрите также:

Ответ 2

Благодаря Taxillan, я думаю, что есть только некоторые различия между плагинами, дополнениями, расширениями. например Mozilla Add-ons Chrome extensions WordPress plugins

лучшие примеры