Google Chrome 22 во всю шагает по планете. Мы уже знаем, что нового принесла эта версия браузера для простых пользователей (из нашей статьи). А сегодня расскажем, какие новые инструменты стали доступны разработчикам расширений и приложений. Простым пользователям тоже важно прочитать, особенно наши дополнительные советы в конце статьи...
Event Pages API
Любой разработчик расширений прекрасно знает, что такое фоновые страницы (background pages). Они используются нашими расширениями для постоянного мониторинга каких либо событий, проверки сообщений и т.п. Они постоянно сидят в памяти браузера, тратят его ресурсы, даже тогда, когда их работа не требуется.
В Google Chrome 22 введена новая разновидность фоновых страниц - event pages. По сути это разновидность background страниц, но с очень важным отличием: они загружаются в память и работают только тогда, когда это действительно необходимо. По завершению своей работы они выгружаются из памяти и освобождают ресурсы.
Event страницы запускаются в следующих случаях:
1. При первой установке расширения.
2. Если срабатывает событие, которое отслеживается.
3. При внешнем обращении со стороны content scripts или вызове, к примеру, chrome.runtime.getBackgroundPage().
Использовать Event Pages API очень просто. Подробнее в официальной документации.
Alarms и Runtime APIs
Еще парочка новых инструментов, хотя они и не так интересны как Events.
- alarms API позволяет вам запланировать периодичность исполнения кода или назначить время его старта в будущем. Подробнее.
- runtime API содержит полезные методы для работы с общесистемными событиями. Подробнее.
Защита от устаревших Chromium сборок
А вот сейчас важная информация как для разработчиков, так и для простых пользователей. Как вы знаете, все альтернативные сборки, такие как новый Яндекс.Браузер, концептуальный Амиго и даже принципиально новый Интернет от Одноклассников, имеют в своей основе устаревшую версию Chromium. В результате все расширения, которые используют более новые API, там работать не будут. Пользователи этих сборок могут не догадаться, что проблема не в разработчиках дополнения, а в их устаревшем браузере. Пойдут в Chrome Web Store и нагадят, так сказать, плохим отзывом и низким рейтингом. Как от этого защититься?
В манифесте своих расширений указывайте минимальную версию Хрома, на которой все должно работать:
"minimum_chrome_version": N,
Таким образом, пользователи устаревших сборок не смогут установить ваше расширения. А вы будете защищены от неадекватных отзывов.
P.S. Почему Google Chrome может раз в 6 недель переходить на новый Chromium, а все остальные нет?