Ну що ж, як і обіцяли, представляємо вам перший пілотний урок зі створення додатків для Google Chrome. До речі, як ви напевно помітили, я часто вживаю термін "доповнення" замість "розширення". Скоро я поясню чому і в чому різниця. Тема першого нашого уроку це загальний огляд системи доповнень.
Що це? Навіщо це?
Класифікація доповнень
Ось ми і підійшли до питання класифікації доповнень. Що в себе включають доповнення для Хрому:
1. Розширення / Extensions;
2.1 Упакування додатки / Packaged Apps;
2.2 Веб-додатки / Hosted Apps;
Відразу ж наведу приклади (свої розробки):
Взагалі по ходу описів я постараюся відразу обумовити, що неможливо реалізувати за допомогою Chrome API, щоб заощадити ваш час.
Типова структура доповнень
Що вдає із себе готове додаток? Це звичайний zip архів з розширенням * .crx. Усередині нього завжди є файл manifest.json. Виглядає він приблизно так:
Запам'ятайте, що це найголовніший файл у вашому додатку. У ньому описано назва, версія, опис, стандартна іконка вашої розробки. Крім цього там же описується, що саме буде в вашому розширенні або додатку. Створення кнопки, зміна сторінок скриптом або це взагалі додаток, яке запускає якусь сторінку. Якими привілеями володіє розширення і т.п. Немає сенсу розбирати і заучувати відразу все, що можна записати в маніфест. Все це можна освоїти поступово. Ми до нього будемо повертатися регулярно і описувати, що конкретно і в якій ситуації має в ньому бути.
Як приклад опишу склад свого розширення:
Описане вище розширення The Latest Versions of Google Chrome ™ у своєму складі крім manifest.json має:
- html файл, який використовується як спливаюче вікно при натисканні на іконку;
- html файл, який висить як фоновий процес і регулярно перевіряє нові версії;
- html файл, який представляє собою сторінку налаштувань;
- кілька JS файлів, які підключаються до html сторінок для виконання будь-яких дій;
- комплект картинок, які використовуються в розширенні;
- деякі інші файли, значення яких не так важливо в нашому контексті.
На закінчення
Думаю, не потрібно нагадувати, що ми відкриті для будь-яких побажань, порад і питань.