Что такое XPCOM? XPCOM против COM?
У меня проблемы с пониманием XPCOM. Чем он отличается от COM? Что делает его кроссплатформенным?
Это фреймворк с набором библиотек, который вы можете использовать для выполнения некоторых работ?
Кроме того, объектная модель компонентов означает, что каждая функциональность реализована в компоненте, поэтому мы можем использовать ее, не зная деталей реализации?
Можете ли вы помочь мне понять это, пожалуйста? Спасибо, Чен.
1 ответ
У меня проблемы с пониманием XPCOM. Чем он отличается от COM?
XPCOM - это кроссплатформенная платформа Mozilla (отсюда и XP
немного) версия COM.
Что делает его кроссплатформенным?
Он реализован в библиотеке, которая была портирована на многие платформы участниками проекта с открытым исходным кодом Mozilla. Вы можете создать его или загрузить двоичный файл для любой платформы, которую пожелаете, и, при крайне удаленной возможности использовать его на платформе, которая еще не поддерживается, портировать его самостоятельно не составит труда.
Кроме того, объектная модель компонентов означает, что каждая функциональность реализована в компоненте, поэтому мы можем использовать ее, не зная деталей реализации?
Да, на месте Идея заключается в независимой от языка среде, которая позволяет различным компонентам взаимодействовать и взаимодействовать, не требуя специальных знаний языка, на котором реализован какой-либо конкретный компонент. Так, например, код JavaScript может вызывать код C++.
Это достигается за счет того, что компоненты публикуют четко определенные интерфейсы с использованием языка, называемого IDL (или, в случае XPCOM, XPIDL). Эти интерфейсы используют четко определенные типы с сопоставлениями на каждом из поддерживаемых языков. Каждый интерфейс наследуется от общего базового интерфейса, который предоставляет стандартные методы для подсчета ссылок и вывода типов (называемые IUnknown
в COM и nsISupports
в XPCOM).
Можете ли вы помочь мне понять это, пожалуйста?
Что касается онлайн-ресурсов, то есть выделенные области как на MSDN (для COM), так и на MDC (для XPCOM). Если вы действительно хотите понять мотивацию для COM и почему это так, я рекомендую взять Essential COM от Don Box. И, конечно, если у вас есть какие-то конкретные вопросы, на которые нужно ответить, вы всегда можете прийти сюда, чтобы задать их.:)