Введение

Программный компонент, который добавляет определенную функцию к существующему программному приложению. В информатике плагин (или плагин, дополнение, расширение, надстройка) — это программный компонент, который добавляет определенную функцию к существующей компьютерной программе. Когда программа поддерживает плагины, это обеспечивает возможность её настройки. Тема или оформление — это готовый пакет, содержащий дополнительные или измененные элементы графического оформления, достигаемые с помощью графического пользовательского интерфейса (GUI), который можно применить к конкретному программному обеспечению и веб-сайтам, чтобы настроить внешний вид и поведение программы или интерфейса операционной системы (и оконных менеджеров) в соответствии с назначением, тематикой или предпочтениями пользователей.

Механизм

Приложение-хост предоставляет сервисы, которые плагин может использовать, включая механизм регистрации плагинов в приложении-хосте и протокол обмена данными с плагинами. Плагины зависят от сервисов, предоставляемых приложением-хостом, и обычно не работают самостоятельно. В свою очередь, приложение-хост работает независимо от плагинов, что позволяет конечным пользователям динамически добавлять и обновлять плагины без необходимости вносить изменения в само приложение-хост. Программисты обычно реализуют плагины в виде динамически подключаемых библиотек, которые загружаются во время выполнения программы. HyperCard поддерживала аналогичную функцию, но чаще включала код плагина непосредственно в документы HyperCard (называемые стеками). Таким образом, стек HyperCard становился самодостаточным приложением, распространяемым как единое целое, которое конечные пользователи могли запускать без дополнительных этапов установки. Программы также могут реализовывать плагины, загружая каталог простых скрипт-файлов, написанных на языке сценариев, таком как Python или Lua.

Определение Mozilla

В определениях Фонда Mozilla слова "add-on", "extension" и "plug-in" не являются синонимами. "Add-on" может относиться к чему угодно, расширяющему функциональность приложения Mozilla. Расширения представляют собой подтип, хотя и наиболее распространенный и мощный. Приложения Mozilla поставляются с интегрированными менеджерами дополнений, которые, подобно менеджерам пакетов, устанавливают, обновляют и управляют расширениями. Термин "plug-in" же строго относится к модулям рендеринга веб-контента на основе NPAPI. Mozilla отказалась от поддержки плагинов в своих продуктах. Однако приложения на основе UXP, такие как веб-браузеры Pale Moon и Basilisk, продолжают поддерживать плагины (NPAPI).

Помощное приложение

Помощное приложение — это внешняя программа просмотра, такая как IrfanView или Adobe Reader, которая отображает контент, полученный через веб-браузер. В отличие от плагина, чей полный код включается в адресное пространство браузера, помощное приложение является самостоятельным приложением. Веб-браузеры выбирают подходящее помощное приложение, основываясь на типе носителя файла, определяемом по расширению имени файла.

История

В середине 1970-х годов текстовый редактор EDT работал в операционной системе Unisys VS/9 для мэйнфрейма UNIVAC серии 90. Он позволял запускать программу непосредственно из редактора, которая могла обращаться к буферу редактирования в памяти. Выполняемый файл плагина мог вызывать редактор для просмотра и изменения текста. Компилятор Fortran Университета Ватерлоо использовал эту возможность для интерактивной компиляции программ на Fortran. К ранним программам для персональных компьютеров с поддержкой плагинов относятся HyperCard и QuarkXPress для Apple Macintosh, обе выпущенные в 1987 году. В 1988 году компания Silicon Beach Software добавила поддержку плагинов в Digital Darkroom и SuperPaint.