В Firefox есть плагины и расширения. Не могли бы вы объяснить мне, почему у этих аддонов другое название и вкладки? Разве они сильно отличаются друг от друга, поэтому им нужны разные имена? Я думаю, что это немного неестественно, чтобы различать эти вещи, расширения имеют так много и больше функциональности, чего им не хватает для сравнения с плагинами?
В чем разница между расширением Firefox и плагином?
Ответ 1
Разница как историческая, так и реальная:
- плагины скомпилированы, загружаемые модули, изначально произошедшие от NPAPI; они могут жить за пределами пространства для обработки браузера (что приводит к возникновению всех проблем в области интероперабельности и нестабильности). Наиболее распространенными примерами этого являются Flash и Java - оба запрашивают под-окно ( "viewport" или "canvas" (а не HTML5
canvas
- что-то совсем другое: родная часть веб-страницы)) внутри веб-страницы и обрабатывать он сам, таким образом, который в значительной степени не зависит от браузера. Расширения - написаны в основном в JavaScript и XUL. Поскольку расширения действуют как часть браузера, они имеют более широкие права доступа, чем JS-in-a-webpage, но они по-прежнему подвержены некоторым ограничениям. Наиболее распространенный способ интеграции - связать некоторые функции FF и расширить его.
Итак, хотя плагины и расширения могут быть связаны друг с другом, они очень разные технологии за кулисами.
Ответ 2
Согласно Mozilla, плагины помогают отображать содержимое браузера, например, воспроизводить медиа. Расширения фактически добавляют новые функции в браузер.
См. параграфы первой параграфы: https://developer.mozilla.org/en/extensions
Ответ 3
Один из них - программы, которые работают бок о бок Firefox. Они получают холст, и когда они рисуют на холсте, firefox делает это. Известные примеры: Flash, Java, QuakeLive.
Другие - это программы, которые запускаются в интерпретаторе javascript/компиляторе firefox. Они расширяют функциональность firefox более напрямую, так как они имеют доступ к внутренним компонентам firefox и не просто холст. Кроме того, они гораздо более переносимы, поскольку они не требуют базовой поддержки операционной системы.
Есть преимущества и недостатки обоих подходов, и они решают разные задачи.