Новые горизонты: Apple добавят веб-расширения для Safari на iPhone и iPad
Случилось нечто невероятное — Apple добавит поддержку браузерных расширений для Safari на мобильных устройствах! Об этом они объявили 7 июня на WWDC21*. Начиная с iOS 15 и iPadOS 15, которые выйдут уже этой осенью, у айфонов и айпадов будет доступ к веб-расширениям. Раньше они были представлены только в Safari на Mac.
*⠀Apple Worldwide Developers Conference — всемирная конференция для разработчиков на платформах Apple
Что это означает для разработчиков?
Теперь можно будет создавать универсальные расширения, которые будут работать на всех устройствах Apple — Mac, iPhone и iPad! Ниже расскажем про них подробнее и объясним, почему это так важно.
Год назад Apple аналогичным образом добавили поддержку WebExtension API в Safari на macOS. Напомним, что API (от англ. application programming interface — программный интерфейс приложения) — это «описание способов (набор классов, процедур, функций, структур или констант), которыми одна компьютерная программа может взаимодействовать с другой программой». В данном случае речь шла о кроссплатформенной технологии Apple, которая позволила разрабатывать расширения для разных браузеров. Как говорится, не Safari единым.
Мы уже писали про это в 2020 году, но в довольно пессимистичном ключе. Тогда появление WebExtension API не привнесло ничего полезного для блокировщиков контента на macOS, так что та новость показалась нам даже удручающей. Но эта ситуация с iOS отличается драматически: на этой ОС расширений не было вообще, а теперь они появились, открывая перед нами кучу возможностей. Конечно, такие изменения не могут не радовать!
Что это означает для вас?
В свете этой новости наши последние статьи... нет, не теряют актуальность, но их смысл меняется. Помните, совсем недавно мы писали про проблемы с YouTube и Safari Content Blocking? С одной стороны, все перечисленные там проблемы пользователей iOS не исчезнут волшебным образом, и написанное в той статье остаётся в силе: у декларативного подхода всё ещё есть куча недостатков. Справедливости ради, мы видим по баг-трекеру Safari, что в Apple не планируют оставлять всё как есть — например, они уже увеличили лимит правил с 50 тысяч до 150. Но с другой стороны, поддержка браузерных расширений для Safari освобождает нас от ограничений, так как к декларативному подходу к блокировке добавляется возможность использовать скрипт, исполняемый прямо на странице (content script).
С помощью этого встраиваемого скрипта мы сможем реализовать логику, необходимую для более продвинутых способов блокировки! Кстати, пользователи AdGuard для Safari на macOS с ними уже знакомы — там есть специальное расширение «AdGuard Расширенная блокировка». Так что если вы ещё сталкиваетесь на вашем iPhone/iPad с рекламой на YouTube в браузере или с рекламой на сайтах, которые обходят блокировку — не переживайте, в iOS 15 мы всё поправим! :)
Если смотреть более глобально, у пользователей айфонов и айпадов появится возможность установить множество расширений, ранее доступных только в Safari на Mac — это касается не только AdGuard, не только блокировщиков контента, но вообще любых. Появление веб-расширений на мобильных устройствах расширит функциональность браузера Safari и откроет пользователям ряд новых возможностей.
Одним словом, это революционное изменение, сравнимое по масштабу с внедрением Safari Content Blocking в 2015 году, и мы уверены, что оно очень положительно повлияет на качество блокировки AdGuard для iOS в целом.