XPCOM

редактировать

Кросс-платформенная компонентная объектная модель (XPCOM ) - это кроссплатформенная компонентная модель из Mozilla. Он похож на Microsoft Component Object Model (COM) и Common Object Request Broker Architecture (CORBA). Он имеет несколько привязок языков и описаний языка описания интерфейса (IDL); таким образом программисты могут включать свои пользовательские функции в структуру и соединять ее с другими компонентами.

Наиболее широко XPCOM используется в веб-браузере Firefox. Многие из его внутренних компонентов взаимодействуют через интерфейсы XPCOM. Кроме того, Firefox раньше разрешал надстройкам расширенный доступ к XPCOM, но это было удалено в Firefox 57 и заменено менее разрешающим WebExtensions API. (Три вилки Firefox по-прежнему поддерживают устаревшие надстройки: Pale Moon, Basilisk, Waterfox.)

Содержание
  • 1 Модель
  • 2 Прошлое чрезмерное использование
  • 3 Ссылки
  • 4 Внешние ссылки
Модель

XPCOM - одна из основных составляющих Mozilla среда приложения актуальная структура. Это среда разработки, которая предоставляет разработчику кроссплатформенного программного обеспечения следующие функции:

Эта объектная модель компонента делает практически вся функциональность Gecko доступна в виде серии компонентов или многоразовых межплатформенных библиотек, к которым можно получить доступ из веб-браузера или через скрипт из любое приложение Mozilla. Приложения, которые должны обращаться к различным библиотекам Mozilla XPCOM (сеть, безопасность, DOM и т. Д.), Используют специальный уровень XPCOM под названием XPConnect, который отражает интерфейсы библиотеки на JavaScript или другие языки. XPConnect приклеивает интерфейс к компонентам на основе языка программирования C ++ или C в XPCOM, и его можно расширить, включив поддержку сценариев для других языков: PyXPCOM уже предлагает поддержку Python. PerlConnect и plXPCOM обеспечивают поддержку Perl, и в настоящее время предпринимаются попытки добавить поддержку языка Common Language Infrastructure (CLI) и Ruby для XPConnect.

Для разработчиков XPCOM позволяет писать компоненты на C ++, C, JavaScript, Python или других языках, для которых были созданы специальные привязки, а также компилировать и запускать их компоненты на десятках различных платформ, включая те и другие, на которых поддерживается Mozilla.

Гибкость повторного использования компонентов XPCOM из библиотеки Gecko и разработки новых компонентов, работающих на разных платформах, облегчает быструю разработку приложений и приводит к тому, что приложение становится более продуктивным и простым в обслуживании. Сетевая библиотека, например, представляет собой набор компонентов XPCOM, к которым можно получить доступ и которые могут использоваться любым приложением Mozilla. Файловый ввод-вывод, безопасность, управление паролями и профили также являются отдельными компонентами XPCOM, которые программисты могут использовать при разработке собственных приложений.

Прошлое чрезмерное использование

XPCOM добавляет много кода для маршалинга объектов, а в эпоху Netscape XPCOM чрезмерно использовался для внутренних интерфейсов, где он не использовался. не является действительно необходимым, что приводит к раздуванию программного обеспечения. Это была ключевая причина, по которой в 2001 году Apple разделила KHTML, а не Gecko, чтобы создать движок WebKit для своего Safari. browser.

С тех пор Mozilla устранила некоторые излишки XPCOM. К 2008 году это в сочетании с другими усилиями привело к значительному повышению производительности для Gecko.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-22 06:43:33
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте