Так почему Google невзлюбил NPAPI

Интерфейс NPAPI имеет ряд проблем. В первую очередь, это серьёзные угрозы безопасности. Но что взамен?
2 минуты5362

В те далёкие времена, когда родным форматом для Интернета был исключительно HTML с поддержкой изображений, ссылки на любой другой тип файла приводил к загрузке этого файла и открытию его в соответствующем приложении. Пользователям же хотелось, чтобы новинка того времени, веб-браузер, могла каким-то образом самостоятельно выводить на экран данные иных форматов, кроме графических. Одним из таких форматов был (и остаётся поныне) PDF.

Adobe Systems и Netscape Communications додумались до плагинов

Решение было найдено совместными усилиями Adobe Systems и производителем популярного тогда браузера Netscape Communications. Сейчас это банальность, но тогда это был прорыв — идея плагинов, программных модулей, встраиваемых в браузер и расширяющих его функционал так, как того хочет пользователь.

Но кроме функционала встраивания плагина в браузер, нужен был механизм, который бы позволял этому плагину взаимодействовать с операционной системой и получать доступ к тем ресурсам компьютера, которых изначально не было в браузере. Так примерно в 1995 году появилась Netscape Plugin Application Programming Interface (NPAPI) — кросс-платформенная архитектура разработки плагинов, поддерживаемая многими браузерами.

Почему не всеми? Попытайтесь догадаться, кто пошёл своим путем? Правильно, это Microsoft, которая решила, что  Internet Explorer нет особой нужды сильно «утяжелять», он работает в среде Windows, где и так есть множество программных модулей для решения различных задач. Так ActiveX занял место NPAPI в творениях компании Билла Гейтса и использовался для решения более широкого круга задач, чем в Netscape.

Не я тебя породил, но именно я тебя убью

Прошло без малого 20 лет. Канула в лету Netscape, да и Microsoft уже не та. А вот что осталось, так это повсеместное использование в браузерах технологий NPAPI и ActiveX. Эти API радуют как пользователей, например, игр на Unity, так и целую армию хакеров. Ведь несмотря на все преимущества, NPAPI имеет ряд ограничений и проблем. В первую очередь, это серьёзные угрозы безопасности: пользователь может легко пострадать от плагина, который содержит вредоносный код, так как процесс исполнения плагина имеет доступ к ОС.

В итоге нынешний мировой технологический лидер Google с 2013 год оповестил аудиторию о своем намерении прекратить поддержку NPAPI.  В этой компании посчитали, что именно они теперь отвественны за развитие Интернета и безопасность в нем. И вот, начиная с 42-й версии веб-браузера Chrome, вышедшей в апреле 2015 года, данная функция по умолчанию отключена. Всем в целях повышения безопасности браузера предложено несколько вариантов технологий, часть из которых лучше подходила для решения одних задач, другие — для решения других задач. Для большинства пользователй может подойти Native Client, а для работы с токенами удобной оказалась технология Native Messaging.

Компания Mozilla так же сообщила о том, что до конца 2016 года в браузере Firefox будет прекращена поддержка плагинов с интерфейсом NPAPI в пользу «родного интерфейса» браузера Web API. Opera и Яндекс.Браузер, работающие на движке , имеющим ближайшие родственные связи с движком Chrome (Chromium), пока поддерживают NPAPI, но это будет продолжаться недолго, и чем именно закончится дело, пока не объявлено. Возможно, будет Native Client.

Есть еще Safari от Apple, который уже затруднил использование NPAPI и требует подтверждения от пользователя доверия к плагину. Вероятнее всего, Apple, следуя общей тенденции, полностью прекратит поддержку NPAPI и предложит что-то своё.

С Microsoft, как обычно, ситуация чуть посложнее. Если кто-то знает, что доподлинно будет, то он настоящий провидец. Но пока эта корпорация проводит поэтапный переход на операционную систему Windows 10 c браузером Edge. Все предыдущее версии браузеров пока поддерживают ActiveX, а вот в Edge нет толком ни ActiveX, ни NPAPI.

Вот так, одним легким движением руки Google разрушила идеальную картину мира. Каждый производитель браузеров пошел своим путем. И как теперь выкручиваются программисты, пытаясь обеспечить кроссплатформенность в этой ситуации, поговорим в следующий раз.

 

Тем, кто хочет разобраться в веб-разработке, рекомендуем профессию «Веб-разработчик» от GeekBrains.

activexnpapiбраузер
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!