ActiveX — устаревшая программная среда, созданная корпорацией Microsoft , которая адаптирует свои более ранние технологии Component Object Model (COM) и Object Linking and Embedding (OLE) для контента, загружаемого из сети, в частности из World Wide Web . [1] Корпорация Microsoft представила ActiveX в 1996 году. В принципе, ActiveX не зависит от операционных систем Microsoft Windows , но на практике большинство элементов управления ActiveX работают только в Windows. Большинство также требуют, чтобы клиент работал на компьютере с архитектурой x86 , поскольку элементы управления ActiveX содержат скомпилированный код. [2]
ActiveX по-прежнему поддерживается в «режиме Internet Explorer» Microsoft Edge (который имеет другую, несовместимую систему расширений, поскольку основан на проекте Chromium от Google ). [3]
ActiveX была одной из основных технологий, используемых в компонентной разработке программного обеспечения . [4] По сравнению с JavaBeans , ActiveX поддерживает больше языков программирования , но JavaBeans поддерживает больше платформ. [5] ActiveX поддерживается во многих технологиях быстрой разработки приложений, таких как Active Template Library , Delphi , JavaBeans, Microsoft Foundation Class Library , Qt , Visual Basic , Windows Forms и wxWidgets , что позволяет разработчикам приложений встраивать элементы управления ActiveX в свои продукты.
Многие приложения Microsoft Windows, включая многие из приложений самой Microsoft, такие как Internet Explorer , Microsoft Office , Microsoft Visual Studio и Windows Media Player , используют элементы управления ActiveX для построения своего набора функций, а также инкапсулируют собственную функциональность в виде элементов управления ActiveX, которые затем могут быть встроены в другие приложения. Internet Explorer также позволяет встраивать элементы управления ActiveX в веб-страницы .
Столкнувшись со сложностью OLE 2.0 и плохой поддержкой COM в MFC , Microsoft упростила спецификацию и переименовала технологию в ActiveX в 1996 году. [6] [7] Даже после упрощения пользователям по-прежнему требовались элементы управления для реализации около шести основных интерфейсов. В ответ на эту сложность Microsoft создала мастера , базовые классы ATL , макросы и расширения языка C++, чтобы упростить написание элементов управления.
Начиная с Internet Explorer 3.0 (1996), Microsoft добавила поддержку размещения элементов управления ActiveX в HTML-контенте. Если браузер сталкивался со страницей, определяющей элемент управления ActiveX через OBJECT
тег ( OBJECT
тег был добавлен в спецификацию HTML 3.2 Чарли Кинделом , представителем Microsoft в W3C в то время [8] ), он автоматически загружал и устанавливал элемент управления с небольшим или нулевым вмешательством пользователя. Это делало Интернет «богаче», но вызывало возражения (поскольку такие элементы управления на практике работали только в Windows, и для каждой поддерживаемой платформы требовались отдельные элементы управления: один для Windows 3.1/Windows NT 3.51, один для Windows NT/95 и один для Macintosh M68K/PowerPC.) и риски безопасности (особенно учитывая отсутствие вмешательства пользователя). Впоследствии Microsoft ввела меры безопасности, чтобы сделать просмотр, включающий ActiveX, более безопасным. [9]
Например:
ActiveX был спорным с самого начала; в то время как Microsoft заявляла о простоте программирования и хорошей производительности по сравнению с Java-апплетами в своих маркетинговых материалах, критики ActiveX поспешили указать на проблемы безопасности и отсутствие переносимости, что делало его непрактичным для использования за пределами защищенных интрасетей . [10] Модель безопасности ActiveX почти полностью полагалась на идентификацию доверенных разработчиков компонентов с помощью технологии подписи кода под названием Authenticode . Разработчики должны были зарегистрироваться в Verisign (20 долларов США в год для физических лиц, 400 долларов США для корпораций) и подписать контракт, пообещав не разрабатывать вредоносное ПО . Затем идентифицированный код запускался внутри веб-браузера с полными разрешениями, что означало, что любая ошибка в коде была потенциальной проблемой безопасности; это контрастирует с песочницей, уже использовавшейся в Java в то время. [11]
В октябре 1996 года Microsoft выпустила бета-версию ActiveX Software Development Kit (SDK) для Macintosh , включая плагин для Netscape Navigator на Mac, и объявила о своих планах по поддержке ActiveX на Solaris в конце того же года. [12] Спустя шесть месяцев и еще два бета-релиза, не было никаких коммерческих плагинов Macintosh ActiveX. [13]
В 1997 году NCompass Labs в сотрудничестве с Microsoft выпустили плагин для Netscape Navigator для поддержки ActiveX. [14]
Документация по базовой технологии ActiveX находится на сайте The Open Group и может быть прочитана бесплатно. [15]
Несмотря на предыдущие усилия Microsoft сделать ActiveX кроссплатформенным, большинство элементов управления ActiveX не будут и не будут работать на всех платформах, поэтому использование элементов управления ActiveX для реализации основных функций веб-страницы ограничивает ее полезность. Правительство Южной Кореи , в агностическом движении, направленном на программное обеспечение, начало примерно в 2015 году удалять технологию со своих общедоступных веб-сайтов, чтобы сделать свой веб-сайт доступным для большего количества платформ. [16]
Хотя Microsoft предприняла значительные усилия по продвижению кроссплатформенного аспекта ActiveX посредством публикации API, в конечном итоге кроссплатформенные усилия потерпели неудачу из-за того, что элементы управления ActiveX были написаны на C или C++ и скомпилированы на языке ассемблера Intel x86 , что делало их исполняемыми только на машинах Windows, где они могли вызывать стандартные API Win32 . [17]
Microsoft прекратила поддержку ActiveX в версии Windows Store Internet Explorer 10 в Windows 8. В 2015 году Microsoft выпустила Microsoft Edge , замену Internet Explorer, без поддержки ActiveX; это событие ознаменовало конец технологии ActiveX в разработке веб-браузеров Microsoft. [18] Microsoft Edge поставляется с функцией «Режим Internet Explorer», которая поддерживает ActiveX.
Microsoft разработала большое количество продуктов и программных платформ, использующих объекты ActiveX. Они все еще используются (например, веб-сайты все еще используют ASP):
Термин ActiveX появился в мире Microsoft в начале 1996 г.
корпорация Microsoft анонсировала ActiveX … Технологии, которые позволяют широкому кругу разработчиков программного обеспечения и веб-дизайнеров легко создавать динамический контент для Интернета и ПК. … Технологии ActiveX образуют надежную структуру для создания интерактивного контента с использованием программных компонентов, скриптов и существующих приложений. В частности, технологии ActiveX позволяют разработчикам легко создавать веб-контент с помощью элементов управления ActiveX (ранее OLE Controls), активных скриптов и активных документов. … Технологии ActiveX доступны в форме комплекта средств разработки Microsoft ActiveX, который распространяется среди более чем 4000 разработчиков, посещающих сегодня конференцию профессиональных разработчиков в Сан-Франциско.
ncompass activex plugin.