Что такое приложение chrome. Как создавать и публиковать приложения и расширения Chrome. Закрыть все вкладки

Для тестирования приложения, которое вы разрабатываете, необходимо будет добавить его в свой браузер. Для этого на странице chrome://extensions нужно отметить чекбокс «Режим разработчика» («Developer mode»). После этого станет возможным добавить ваше расширение или приложение.

manifest.json

Код любого приложения для Chrome, как и любого расширения, начинается с файла manifest.json . В нём описывается вся мета-информация приложения. Приведу целиком манифест редактора :

{ "name": "Simple Text", "description": "An extremely simple text editor (sample Chrome app)", "version": "0.1", "icons": { "48": "icon/48.png", "128": "icon/128.png" }, "manifest_version": 2, "minimum_chrome_version": "31.0", "offline_enabled": true, "app": { "background": { "scripts": ["js/background.js"] } }, "permissions": [ {"fileSystem": ["write"]} ], "file_handlers": { "text": { "title": "Simple Text", "types": ["application/javascript", "application/json", "application/xml", "text/*"], "extensions": ["c", "cc", "cpp", "css", "h", "hs", "html", "js", "json", "md", "py", "textile", "txt", "xml", "yaml"] } } }

Разберём поля, которые тут встретились. С названием и описанием всё ясно. Версия является обязательным полем - Chrome Web Store будет требовать, чтобы она менялась, когда вы загружаете обновление вашего приложения.

Var entryToLoad = null; function init(launchData) { var fileEntry = null if (launchData && launchData["items"] && launchData["items"].length > 0) { entryToLoad = launchData["items"]["entry"] } var options = { frame: "chrome", minWidth: 400, minHeight: 400, width: 700, height: 700 }; chrome.app.window.create("index.html", options); } chrome.app.runtime.onLaunched.addListener(init);

Background page работает в фоновом режиме независимо от окон приложения. Большую часть времени он не загружен в память. При запуске системы его код исполняется и может установить обработчики тех или иных событий, самое распространённое из которых - onLaunched. Когда обработчики установлены, background page, как правило, выгружается из памяти и запускается обратно только если произошло одно из событий, на которые он подписан.

Когда пользователь кликает на иконку приложения, или открывает в нём какой-то файл, в background page запускается событие onLaunched . В него передаются параметры вызова, в частности, файл(ы), которые приложение должно открыть. Код entryToLoad = launchData["items"]["entry"] сохраняет переданный в приложение файл в локальной переменной, откуда его потом возьмёт код редактора. Событие onLaunched может прийти и тогда, когда приложение уже открыто. В этом случае код в background page может сам решить, открывать ли новое окно, или совершить какие-то действия в уже открытом окне.

Для полноты картины приведу CSS:

Body { margin: 0; } header { background-color: #CCC; border-bottom: 1px solid #777; -webkit-box-align: center; -webkit-box-orient: horizontal; -webkit-box-pack: left; display: -webkit-box; height: 48px; padding: 0px 12px 0px 12px; } button { margin: 8px; } textarea { border: none; -webkit-box-sizing: border-box; font-family: monospace; padding: 4px; position: absolute; top: 48px; bottom: 0px; left: 0px; right: 0px; width: 100%; } textarea:focus { outline: none !important; }

Основной код: работа с файлами

Так как в нашем примере мы для простоты ограничимся минимальным набором возможностей, то основной код редактора будет посвящён почти исключительно работе с файлами. Для этого используется несколько API, часть из которых уже находится на пути к стандартизации W3C. File API и сопутствующие интерфейсы - большая тема, заслуживающая отдельной статьи. В качестве хорошего введения рекомендую .

Итак, разберём код в js/main.js . Я буду приводить его фрагментами, полный код - на Гитхабе .

Function init(entry) { $("#open").click(open); $("#save").click(save); $("#saveas").click(saveAs); chrome.runtime.getBackgroundPage(function(bg) { if (bg.entryToLoad) loadEntry(bg.entryToLoad); }); } $(document).ready(init);

Задача функции инициализации - добавить обработчики к кнопкам и получить из background page файл для открытия. Контекст background page получается из основного окна асинхронно с помощью chrome.runtime.getBackgroundPage .

Обработчики нажатий на кнопки:

Var currentEntry = null; function open() { chrome.fileSystem.chooseEntry({"type": "openWritableFile"}, loadEntry); } function save() { if (currentEntry) { saveToEntry(currentEntry); } else { saveAs(); } } function saveAs() { chrome.fileSystem.chooseEntry({"type": "saveFile"}, saveToEntry); }

Текущий FileEntry мы будем хранить в глобальной переменной currentEntry.

Единственная специфичная особенность в приведённом выше коде - это метод chrome.fileSystem.chooseEntry . С помощью этого метода открывается окно выбора файлов (своё на каждой системе). Как и все прочие функции для работы с файловой системой, этот метод асинхронный и получает callback для продолжения работы (в нашем случае функции loadEntry и saveToEntry, описанные ниже).

Чтение файла:

Function setTitle() { chrome.fileSystem.getDisplayPath(currentEntry, function(path) { document.title = path + " - Simple Text"; }); } function loadEntry(entry) { currentEntry = entry; setTitle(); entry.file(readFile); } function readFile(file) { var reader = new FileReader(); reader.onloadend = function(e) { $("textarea").val(this.result); }; reader.readAsText(file); }

В функции setTitle() мы меняем заголовок окна, чтобы показать путь к текущему файлу. То, как будет отображаться этот заголовок, зависит от системы. На Chrome OS он вообще не показывается. chrome.fileSystem.getDisplayPath - наиболее корректный способ получить путь файлу, подходящий, чтобы показывать его пользователю. Другое представление пути доступно через entry.fullPath .

В File API есть два различных объекта, описывающих файл: FileEntry и File. Грубо говоря, FileEntry олицетворяет путь к файлу, а File - данные, в нём содержащиеся. Следовательно, для того, чтобы прочитать файл, необходимо по Entry получить объект File. Это достигается с помощью асинхронного метода entry.file() .

Код этого примера сделан максимально коротким, чтобы уместить его в формат статьи. Если вы хотите посмотреть на более развёрнутые примеры того, как используются те или иные возможности Chrome API, на Гитхабе опубликован большой набор примеров Chrome apps . Официальная документация по всем программным интерфейсам - на developer.chrome.com . Основное место, где можно получить ответы на конкретные вопросы по программированию Chrome-приложений - .

Компания Google постоянно совершенствует мобильный браузер Google Chrome для Android, внося в него полезные возможности. Многие пользователи не знают о тех или иных функциях, которые сделают серфинг в сети более простым, быстрым и удобным.

Важно : некоторые возможности могут быть недоступны на отдельных смартфонах из-за устаревшего Chrome (рекомендуем обновить его через Google Play) или версии ОС.

1. Упрощенный поиск со страницы

Часто бывает, что в ходе поиска необходимой информации в интернете вы заходите на сайт, где есть именно то, что вам нужно, но в тексте используются непонятные термины или просто есть вещи, с которыми вы ранее не сталкивались. Обычно пользователь открывает новую вкладку, вбивает в строку поиска неизвестное слово, ищет его, затем возвращается к основному материалу. Но этот процесс можно сделать значительно проще и быстрее.


Прямо в тексте выселяем незнакомое слово/фразу, как внизу появляется панель с поиском по Google. Вытягиваем ее повыше, видим поисковую выдачу. Смело идем по ссылке, а по клику на «Назад» возвращаемся на ту страницу, с которой мы и начинали.

2. Принудительное изменение масштаба

Многие сайты не дают воспользоваться функцией приближения. Кто-то делает это сознательно, некоторые ресурсы ограничены собственным движком. Какими бы ни были причины, Chrome позволяет обойти этот запрет. Идем в «Настройки», «Специальные возможности», отмечаем пункт «Принудительно изменять масштаб».


На некоторых сайтах даже с активной настройкой запрет обойти не получится. Яркий пример – мобильная версия «Яндекса».

3. Зуммирование одной рукой

Большинство пользователей, когда хотят увеличить какой-то объект на странице, прикладывают два пальца на экран, а затем разводят их в разные стороны. Так можно делать только при использовании двух рук, причем размер дисплея не играет роли. Но есть и альтернатива, которую в особенности оценят пользователи больших смартфонов.

Для увеличения достаточно сделать одно касание экрана, оторвать палец и быстро вернуть его обратно, а потом водить по экрану вверх-вниз. Вторая рука не нужна! Не забываем и про умную подстройку контента под размер дисплея по двойному касанию – эффективно, когда слева и справа лезут малоинформативные блоки, а текст расположен строго по центру.

Такой способ приближения/отдаления является системным, а значит работающим и в некоторых других программах, например, Google Maps

4. Быстрое переключение между вкладками

Пользователи мобильных браузеров постоянно сталкиваются с теми же проблемами, что и в настольных клиентах – с кучей открытых вкладок. И если на компьютере и планшете отображаются бирки сайтов, на смартфонах приходится использовать кнопку «Вкладки». Но в Chrome можно обойтись и без этого, достаточно провести слева-направо или справа-налево по полю ввода адреса или поискового запроса для переключения на соседние вкладки!

Если вам надо переместиться сильно дальше, чем на одну-две вкладки, то все равно можно не нажимать на отдельную кнопку – просто проведите вниз по поисковой строке, чтобы перейти в меню открытых вкладок. А если провести по одной из вкладок справа-налево, то получится закрыть ее сразу же, но тут уже время не сэкономишь, так как на каждой из них есть небольшой крестик для выполнения того же действия.

5. Закрыть все вкладки

Часто такое бывает, что в порыве веб-серфинга в браузере оказываются открытыми десятки вкладок. Если вы уверены, что там нет ничего важного, их можно закрыть все разом. Для этого переходим любым из удобных способов к списку открытых сайтов, жмем три точки, кликаем по пункту «Закрыть все вкладки».

6. Быстрая навигация по меню

Свайпы в Chrome используются практически повсеместно. Например, не нужно нажимать на три точки, чтобы попасть в меню, достаточно положить на них палец и провести вниз. Хотя на первый взгляд этот жест кажется малополезным, когда вы привыкаете к расположению пунктов в этом меню, получается переключаться на отдельные функции вообще не задумываясь. Так, к примеру, эффективно переходить на «настольную» версию сайта.

7. Полезности меню

Некоторые особенности браузера лежат на поверхности, но мы о них не вспоминаем, когда те становятся нужными. В частности, меню предлагает такие возможности как «Найти на странице» (поиск конкретного текста на просматриваемом сайте), «Недавние вкладки» (последние просмотренные, но уже закрытые сайты) и «Добавить на главный экран» – последняя создает ссылку на выбранную страницу прямо на рабочем столе.


Удобно для случаев, когда вы систематически посещаете один и тот же сайт, по которому надо пройти несколько уровней погружения до цели. Так обычно бывает с курсами валют или погодой (конечно, есть специализированные приложения, но они занимают место в памяти устройства).

8. Экономия трафика

В настройках есть и функция «Экономия трафика», которая сжимает контент перед загрузкой на смартфон. Тем самым сайты загружаются быстрее, а объем затраченного трафика снижается. Обратите внимание, что эта функция не работает с сайтами, адреса которых начинаются с https. При типичном использовании интернета экономия колеблется в пределах 20-40% трафика в зависимости от посещаемых ресурсов.

9. Гуру

Google ведет несколько веток развития браузера Chrome, если вам хочется пробовать свежие возможности раньше других, то стоит перейти на Beta-версию . Хотя эта ветка работает стабильно, не забывайте, что Google не гарантирует такое же качество работы, как и в случае массовой версией браузера.

Вне зависимости от выбранной версии, пользователь может получить доступ к некоторым возможностям, которые отключены по умолчанию. Для этого в поисковой строке вводим:

Открывается страница с длинным перечнем экспериментальных возможностей, если вы выбрали Chrome Beta, то в этом списке переключателей будет больше. Следует учитывать, что тут некоторые функции работают совсем плохо, а потому после их активации сразу проверьте работоспособность в нескольких местах, чтобы браузер не «упал» в самый неподходящий момент позже.

Большинство возможностей будут неинтересны массовому потребителю, зато можно по-настоящему детально скорректировать свой пользовательский опыт (в том числе поотключать некоторые функции, например, автообновление страницы).

10. Сохранить страницу

Google Chrome позволяет сохранить страницу в виде PDF-документа на смартфон, что позволит не только получить доступ к контенту без подключения к интернету, но и зафиксировать текущее состояние страницы (мало ли, зачем это вам может пригодиться). Для этого с меню выберите «Печать», а потом кликните «Сохранить как PDF». Готово.

Бонус

Еще одной фишкой Chrome является встроенный файловый менеджер. Чтобы получить к нему доступ, введите в адресной строке:

Менеджер нельзя назвать сверхудобным или крайне функциональным, но его наличие, опять-таки, позволит большинству пользователей не устанавливать отдельную программу для удовлетворения базовых потребностей. Вспомните 7-й пункт, этот файловый менеджер тоже можно вынести на рабочий стол!


Конечно, в Сhrome есть и такие возможности, как синхронизация вкладок с другими устройствами, где используется этот браузер, режим «Инкогнито» и другие. Считаете, что мы несправедливо обделили вниманием какую-то функцию? Напишите о ней в комментариях!

Для тестирования приложения, которое вы разрабатываете, необходимо будет добавить его в свой браузер. Для этого на странице chrome://extensions нужно отметить чекбокс «Режим разработчика» («Developer mode»). После этого станет возможным добавить ваше расширение или приложение.

manifest.json

Код любого приложения для Chrome, как и любого расширения, начинается с файла manifest.json . В нём описывается вся мета-информация приложения. Приведу целиком манифест редактора :

{ "name": "Simple Text", "description": "An extremely simple text editor (sample Chrome app)", "version": "0.1", "icons": { "48": "icon/48.png", "128": "icon/128.png" }, "manifest_version": 2, "minimum_chrome_version": "31.0", "offline_enabled": true, "app": { "background": { "scripts": ["js/background.js"] } }, "permissions": [ {"fileSystem": ["write"]} ], "file_handlers": { "text": { "title": "Simple Text", "types": ["application/javascript", "application/json", "application/xml", "text/*"], "extensions": ["c", "cc", "cpp", "css", "h", "hs", "html", "js", "json", "md", "py", "textile", "txt", "xml", "yaml"] } } }

Разберём поля, которые тут встретились. С названием и описанием всё ясно. Версия является обязательным полем - Chrome Web Store будет требовать, чтобы она менялась, когда вы загружаете обновление вашего приложения.

Var entryToLoad = null; function init(launchData) { var fileEntry = null if (launchData && launchData["items"] && launchData["items"].length > 0) { entryToLoad = launchData["items"]["entry"] } var options = { frame: "chrome", minWidth: 400, minHeight: 400, width: 700, height: 700 }; chrome.app.window.create("index.html", options); } chrome.app.runtime.onLaunched.addListener(init);

Background page работает в фоновом режиме независимо от окон приложения. Большую часть времени он не загружен в память. При запуске системы его код исполняется и может установить обработчики тех или иных событий, самое распространённое из которых - onLaunched. Когда обработчики установлены, background page, как правило, выгружается из памяти и запускается обратно только если произошло одно из событий, на которые он подписан.

Когда пользователь кликает на иконку приложения, или открывает в нём какой-то файл, в background page запускается событие onLaunched . В него передаются параметры вызова, в частности, файл(ы), которые приложение должно открыть. Код entryToLoad = launchData["items"]["entry"] сохраняет переданный в приложение файл в локальной переменной, откуда его потом возьмёт код редактора. Событие onLaunched может прийти и тогда, когда приложение уже открыто. В этом случае код в background page может сам решить, открывать ли новое окно, или совершить какие-то действия в уже открытом окне.

Для полноты картины приведу CSS:

Body { margin: 0; } header { background-color: #CCC; border-bottom: 1px solid #777; -webkit-box-align: center; -webkit-box-orient: horizontal; -webkit-box-pack: left; display: -webkit-box; height: 48px; padding: 0px 12px 0px 12px; } button { margin: 8px; } textarea { border: none; -webkit-box-sizing: border-box; font-family: monospace; padding: 4px; position: absolute; top: 48px; bottom: 0px; left: 0px; right: 0px; width: 100%; } textarea:focus { outline: none !important; }

Основной код: работа с файлами

Так как в нашем примере мы для простоты ограничимся минимальным набором возможностей, то основной код редактора будет посвящён почти исключительно работе с файлами. Для этого используется несколько API, часть из которых уже находится на пути к стандартизации W3C. File API и сопутствующие интерфейсы - большая тема, заслуживающая отдельной статьи. В качестве хорошего введения рекомендую .

Итак, разберём код в js/main.js . Я буду приводить его фрагментами, полный код - на Гитхабе .

Function init(entry) { $("#open").click(open); $("#save").click(save); $("#saveas").click(saveAs); chrome.runtime.getBackgroundPage(function(bg) { if (bg.entryToLoad) loadEntry(bg.entryToLoad); }); } $(document).ready(init);

Задача функции инициализации - добавить обработчики к кнопкам и получить из background page файл для открытия. Контекст background page получается из основного окна асинхронно с помощью chrome.runtime.getBackgroundPage .

Обработчики нажатий на кнопки:

Var currentEntry = null; function open() { chrome.fileSystem.chooseEntry({"type": "openWritableFile"}, loadEntry); } function save() { if (currentEntry) { saveToEntry(currentEntry); } else { saveAs(); } } function saveAs() { chrome.fileSystem.chooseEntry({"type": "saveFile"}, saveToEntry); }

Текущий FileEntry мы будем хранить в глобальной переменной currentEntry.

Единственная специфичная особенность в приведённом выше коде - это метод chrome.fileSystem.chooseEntry . С помощью этого метода открывается окно выбора файлов (своё на каждой системе). Как и все прочие функции для работы с файловой системой, этот метод асинхронный и получает callback для продолжения работы (в нашем случае функции loadEntry и saveToEntry, описанные ниже).

Чтение файла:

Function setTitle() { chrome.fileSystem.getDisplayPath(currentEntry, function(path) { document.title = path + " - Simple Text"; }); } function loadEntry(entry) { currentEntry = entry; setTitle(); entry.file(readFile); } function readFile(file) { var reader = new FileReader(); reader.onloadend = function(e) { $("textarea").val(this.result); }; reader.readAsText(file); }

В функции setTitle() мы меняем заголовок окна, чтобы показать путь к текущему файлу. То, как будет отображаться этот заголовок, зависит от системы. На Chrome OS он вообще не показывается. chrome.fileSystem.getDisplayPath - наиболее корректный способ получить путь файлу, подходящий, чтобы показывать его пользователю. Другое представление пути доступно через entry.fullPath .

В File API есть два различных объекта, описывающих файл: FileEntry и File. Грубо говоря, FileEntry олицетворяет путь к файлу, а File - данные, в нём содержащиеся. Следовательно, для того, чтобы прочитать файл, необходимо по Entry получить объект File. Это достигается с помощью асинхронного метода entry.file() .

Код этого примера сделан максимально коротким, чтобы уместить его в формат статьи. Если вы хотите посмотреть на более развёрнутые примеры того, как используются те или иные возможности Chrome API, на Гитхабе опубликован большой набор примеров Chrome apps . Официальная документация по всем программным интерфейсам - на developer.chrome.com . Основное место, где можно получить ответы на конкретные вопросы по программированию Chrome-приложений - .

«Гугл Хром» - продукт одной из самых мощных поисковых систем «Гугл». Датой основания корпорации считается 1998 год. Браузер «Хром» от «Гугл» начинает работать в 2008 году. Набирая свою аудиторию хорошими темпами, становится одним из самых популярных браузеров для компьютерных и мобильных устройств. Сейчас количество его пользователей насчитывает сотни миллионов человек. Браузер используют практически на каждом втором компьютере в мире. Рассмотрим подробнее, что такое «Хром», как его правильно установить и какими возможностями он обладает.

Корпорация «Гугл». Начало

Всем известно, что «Гугл» - это, прежде всего, поисковая система. На сегодняшний день «Гугл» является огромной транснациональной корпорацией, имеющей офисы во многих странах, и главный — в Соединенных Штатах.

А начиналось все в далеком 1996 году. Двое калифорнийских студентов — Сергей Брин и Ларри Пейдж — занимались научным проектом, призванным разработать новые технологии для цифровой универсальной библиотеки. В ходе исследований студенты изучали математические свойства уже существовавшей тогда Всемирной сети. Так был создан их поисковый робот, который находил нужные сайты, предлагал их список, оценивая, прежде всего, важность информации, а не наибольшее количество определенного слова, встречающего на сайте, как это делали существующие тогда поисковики.

После этого нашлись инвесторы для такого детища студентов. Новая поисковая система, претерпев множество доработок, стала очень быстро завоевывать сердца пользователей.

Рождение нового браузера

Что такое "Хром"? Сначала руководство корпорации «Гугл» и не помышляло о создании нового браузера, ведь ниша была уже достаточно заполнена. И откровенно говоря, творцы мощной корпорации боялись громкого провала браузера-проекта. Но, обладая мощными финансовыми возможностями, они решили все же попробовать набросать проект и вынести его на суд руководства. Как ни странно, он был одобрен — благодаря простоте, понятности и приятному пользованию.

Осенью 2008 года выходит первая версия браузера «Гугл Хром» для операционной системы Windows. Благодаря огромному бюджету, вложенному в новое детище, браузер быстро преодолевает путь от никому не известного до очень популярного.

Браузер «Гугл Хром». Что это такое

Браузер «Хром» от корпорации «Гугл» разработан на основе свободного браузера Chromium, являющего «отцом» многих существующих браузеров. Разработчиками программы было принято решение использовать в основе ее работы движок Webkit, но в 2013 году браузер «Гугл Хром» переходит на движок Blink.

Сейчас браузер «Гугл Хром» позиционирует себя как простой, быстрый и безопасный программный продукт. Безусловно, он доказывает это своей популярностью, удобным, не загроможденным интерфейсом, высоким уровнем безопасности, о котором можно вести речь отдельно, множеством приложений и расширений на любой вкус. Можно также отметить, что такой браузер, как «Хром», не стоит на месте, постоянно совершенствуя свои многочисленные сервисы.

Преимущества браузера «Хром»

Следуя поговорке «Все гениальное - просто», «Гугл Хром» имеет множество преимуществ, давших ему такую популярность. Среди них можно отметить и быстрый просмотр страниц, и минималистичный дизайн, в котором от веб-страницы ничего не отвлекает.

Если вы не хотели бы, чтобы после пользования просматривалась история посещений страниц, конфиденциальность обеспечит режим «инкогнито». Благодаря тому что поисковая строка совмещена с адресной, отпадает необходимость вводить полный адрес сайта. Для синхронизации пользовательских данных «Гугл» связывает эти данные между собой, сохраняя их на облачном сервере. При необходимости можно зайти в свой аккаунт с любого компьютера и получить доступ к закладкам и нужной информации. Эта удобная функция пригодится, если браузер удален.

Контроль сбоя программы не позволит прервать работу в неподходящий момент. Также радует универсальность браузера для всех операционных систем. Наверное, многим известно, что «Хром» — такой браузер, который можно установить на любую операционную систему и электронное устройство. Для обеспечения безопасности своих пользователей «Гугл Хром» ведет черный список вредоносных сайтов, а также уведомляет о возможной угрозе при переходе на ту или иную неизвестную страницу. Достоинств у этого браузера множество, но главным в работе «Хрома» является его высокая скорость.

Установка

Скачивается браузер «Гугл Хром» бесплатно. Лучше всего это делать с официальной страницы. Перед скачиванием убедитесь, что ваше устройство соответствует системным требованиям. Так, Windows для «Хром» должен начинаться с седьмой версии. Процессор Intel Pentium должен быть в четвертом или более позднем поколении. Чтобы установить «Хром» на мобильное устройство на базе Android, следует использовать версию операционной системы, которая не может быть раньше Android 4.1. Система iOS должна начинаться с 9 и более поздних версий.

После того как установочный файл «Хрома» бесплатно скачан, необходимо нажать кнопку «Выполнить» или «Сохранить». Затем двойным кликом мыши запустить в работу сохраненный установленный файл и пользоваться браузером «Гугл Хром».

Импортирование настроек

При необходимости в установленный браузер «Гугл Хром» можно импортировать пользовательские настройки из других браузеров, после чего будет доступна такая информация, как стартовая страница, история просмотров, закладки, пароли от учетных записей.

Перед импортированием нужно закрыть все открытые браузеры, запустить «Хром», в его правом верхнем углу зайти в меню настроек, которое изображено как три вертикально расположенных точки. Последовательно нажмите «Закладки», затем «Импорт закладок и настроек» и выберете браузер, из которого необходимо импортировать данные. Если в представленном списке нет нужного браузера, необходимо экспортировать закладки из него в HTML-формат, а затем при импорте в «Хром» выбрать позицию «HTML-файл с закладками». При нажатии кнопки «Импорт» все настройки из предыдущего браузера будут перемещены в «Хром».

Обновление

Браузер «Хром» обновляется автоматически при перезагрузке или в фоновом режиме. Но при постоянно включенном состоянии можно пропустить его обновление. Чтобы увидеть, доступна ли более новая версия «Хрома», необходимо обратить внимание на цвет индикатора меню «Настройки и управление Гугл Хром» в правом верхнем углу экрана. Зеленый цвет будет означать, что новая версия выпущена около двух дней назад, оранжевый - четыре дня назад, красный - семь дней назад.

Для обновления «Хрома» вручную нужно открыть браузер, зайти в меню «Настройка и управление "Гугл Хром"», выбрать позицию «Обновить Google Chrome» (отсутствие такой позиции означает, что версия у браузера и так новая) и нажать «Перезапустить». Все открытые окна и закладки в браузере сохранятся и загрузятся автоматически при повторном его запуске. Перезапуск можно отложить, нажав кнопку «Не сейчас».

Удаление

При возникшей необходимости удаления браузера «Хром» необходимо выйти из него, зайти в панель управления вашей операционной системы (в левом нижнем углу). Затем открыть «Параметры (Настройки)», выбрать позицию «Приложения», найти «Гугл Хром» и выбрать действие «Удалить» (для Windows 8 и 10). Для Windows 7 или Vista в позиции «Параметры» выберите «Панель управления», затем перейдите к «Удалить программу» или «Программы и компоненты». Двойным кликом мыши нужно нажать на Google Chrome. Браузер будет удален нажатием кнопки «Удалить».

Чтобы очистить данные профиля, необходимо нажать "Также удалить данные о работе в браузере". Но если синхронизировать данные и вновь войти в ваш аккаунт «Гугл», часть вашей информации будет доступна, так как она сохраняется на сервере «Гугла». Чтобы очистить все полностью, необходимо очистить историю. Сделать это можно, зайдя в меню «Настройка и управление Гугл Хром», затем выбрать «Дополнительные инструменты», а затем «Удаление данных о просмотренных страницах». Указав необходимый временной диапазон, установите галочки для типа информации, которую требуется удалить, затем нажмите «Очистить историю».

Приложения и расширения

Браузер «Хром» от «Гугл» предлагает массу различных расширений, плагинов и приложений для пользователей, как платных, так и бесплатных. Фактически благодаря расширениям на любой вкус можно сконструировать браузер «Хром» под себя. Найти необходимое приложение или расширение можно в официальном интернет-магазине.

Если расширения - это добавление и совершенствование функций браузера, то приложения - отдельные программы, которые работают прямо в браузере.

Как добавить, удалить приложение или расширение

Чтобы добавить в браузер «Хром» расширения или дополнения, необходимо в интернет-магазине «Хром» в левом столбце выбрать «Расширения» или «Приложения». Затем выбрать из открывшегося каталога то, что вам нужно, при этом можно воспользоваться поиском. Рядом с позицией нужного приложения или расширения появится кнопка «Установить». Если вы добавляете расширение, то нужно проверить, к каким данным будет у него доступ, затем нажать «Установить расширение». После этого установленные приложения «Хром» появятся на панели запуска, а появившиеся расширения можно увидеть в виде кнопок на панели инструментов «Хрома».

Чтобы удалить ненужное расширение, необходимо зайти в меню «Настройка и управление "Гугл Хром"», затем выбрать позицию «Дополнительные инструменты» и из нее - «Расширения». В открывшемся списке выбрать удаляемое расширение и нажать на кнопку «Удалить из Chrome», после чего еще раз нажать «Удалить». Приложение можно удалить из «Панели инструментов» на рабочем столе.

Полезные расширения и приложения

Те, кто идет в ногу со временем, давно уже используют в своем браузере удобные и полезные расширения и приложения. Функционал у них может быть разнообразным - от помощников в работе до игр и развлечений. Рассмотрим несколько интересных расширений и приложений от «Гугл Хрома»:

    DataSaver - ваш верный помощник в экономии трафика. Имеет функцию сжатия загружаемых страниц, текста и изображений. Очень удобен для мобильных устройств. Уже является встроенным в версии для Android или iOS («Настройки» - «Экономия трафика»).

    Quick Notes - блокнот, всплывающий онлайн в виде окна по вашему требованию. Помогает моментально записать мысль, посетившую вас на какой-либо странице Сети.

    XTranslate - это расширение предоставит мгновенный перевод как отдельных слов, так и целых веб-страниц, достаточно только выделить необходимый текст.

    Gmail Offline - позволяет работать с почтой при отсутствии интернета. Правда, он все же необходим для получения и отправки писем. Зато напечатать ответ можно не спеша.

    Save to Pocket - сохранит веб-страницу для последующего прочтения, при этом очистит от рекламы и ненужных элементов, оставив только текст и изображение. Страница сохранится в кэше и будет доступна даже без интернета.

В заключение

Итак, что такое "Хром"? Это современный и полезный браузер. Обзор востребованных приложений и расширений для него можно продолжать до бесконечности. Однако только вам решать, какое именно приложение или расширение вам необходимо. Большой выбор, их разнообразие и доступность для браузера «Гугл Хром» делает нашу жизнь проще и ярче, помогает в работе, учебе или позволяет скоротать время за приложениями-играми.

На Хабре публиковалось немало статей о создании расширений для Chrome, но тема разработки Chrome приложений (они же Chrome apps) затрагивалась заметно реже. В последнее время она стала актуальнее из-за распространения устройств на ChromeOS. К тому же инфраструктура для создания приложений для Chrome стала более стабильной и удобной для использования. В этой статье я постараюсь ответить на основные вопросы: зачем вообще писать приложения для Chrome, чем они отличаются от расширений, веб-сервисов, десктопных приложений и т.п., а также как они разрабатываются, и какие на них накладываются ограничения. Если эта тема вызовет интерес, у статьи будут продолжения, затрагивающие более специальные вопросы.

Зачем

Одну и ту же функциональность можно реализовать с помощью совершенно разных технологий: можно написать программу для Windows, сделать web-сервис, мобильное приложение для Android и/или iOS и т.д. Что может подтолкнуть автора сделать выбор в пользу приложения для Chrome?
  • Работа на ChromeOS. На данный момент Chrome app ­- основной способ донести вашу программу до пользователей Chromebook"ов . Стоит ли оно того? Chromebook"ов пока меньше, чем, скажем, компьютеров под Windows, но тенденция меняется. В прошлом году в США было продано в 5 раз больше Chromebook"ов чем Macbook"ов
  • Приложения Chrome без каких-либо дополнительных усилий работают на Windows, Linux и OS X. Конечно, есть множество других способов сделать приложение переносимым, но большинство из них оказываются заметно более затратными.
  • С недавних пор появилась возможность портировать Chrome apps на Android и iOS .
  • На большинстве систем приложения Chrome выглядят для пользователя как обычные программы. Они запускаются из меню «Пуск», открывают обычные окна без браузерных контролов, могут использоваться в качестве программ по умолчанию для открытия файлов, и в остальном ведут себя
    как полноправные программы.

Packaged apps и hosted apps

Все видели в списке установленных по умолчанию в Chrome приложений иконки Поиска, Gmail, Google Диска. Если нажать на одну из них, ничего похожего на приложение не открывается. Вместо этого, пользователь просто переводится на страничку соответствующего сервиса.

Дело в том, что существует два принципиально разных типа приложений: hosted app и packaged app. К сожалению, устоявшихся русских терминов для них нет. Поиск, Gmail и т. д. - относятся к hosted. Такое приложение состоит из файла manifest.json с URL и настройками безопасности, и иконки. Фактически, hosted app - это специальная закладка на онлайн-сервис.

В отличие от hosted, в случае packaged app, все файлы, необходимые для работы приложения хранятся на компьютере пользователя. Такие приложения, как правило, могут лучше работать offline, могут управлять своими окнами, и вообще имеют доступ к большему количеству программных интерфейсов Chrome.

В дальнейшем речь пойдёт о packaged apps.

Приложения и расширения

С точки зрения пользователя, расширения и приложения выполняют абсолютно разные функции: расширение изменяет то, как он пользуется браузером, а приложение выполняет какую-то отдельную от браузера задачу. Расширение меняет содержание страниц и, возможно, добавляет пару кнопок, а приложение как правило работает в своём собственном окне.

При этом, расширения и приложения изнутри устроены очень похоже. И те, и другие устанавливаются из Интернет-магазина Chrome , представляют собой.crx файлы, являющиеся zip-архивами. Свойства расширения/приложения описываются в файле manifest.json , а UI в них написан на HTML5. Многие программные интерфейсы Chrome доступны как расширениям, так и приложениям.

В то же время, есть и значительные отличия. Приложения могут пользоваться функциями, недоступными для расширений:

  • управлять своими окнами,
  • напрямую работать с файлами на компьютере пользователя,
  • назначаться программами для открытия операционной системой тех или иных типов файлов,
  • открывать TCP и UDP соединения (этим, к примеру пользуется SSH-клиент для Chrome),
  • работать с USB.

Особенности разработки

Я уже упоминал, что с точки зрения пользователя приложения Chrome мало отличаются от обычных программ. В то же время с точки зрения программиста они устроены совсем по-разному. Какие-то операции оказываются проще, какие-то - сложнее.

Многие интерфейсы, использующиеся приложениями, являются общепринятыми стандартами и хорошо известны всем веб-разработчикам. Для UI используются HTML и CSS, для работы с HTTP - XMLHTTPRequest и т.д.

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

Ещё одна особенность Chrome - управление безопасностью. В Chrome оно устроено иначе, чем в классических операционных системах и больше напоминает систему безопасности в Android. К добавлению програмных интерфейсов разработчики Chrome всегда подходили консервативно. При разработке системы легче со временем ослабить ограничения безопасности, чем сделать их более строгими. В результате, например, у приложений отсутствует неограниченный доступ к файловой системе. Главным образом, они работают с файлами, либо принадлежащими приложению, либо явно открытыми пользователем.

Чем можно пользоваться кроме HTML + JavaScript

Основным языком программирования для Chrome является, естественно, JavaScript. Но это не значит, что весь ваш код необходимо переписывать на нём. Есть несколько решений, позволяющих использовать в Chrome приложении код на других языках программирования. Среди них:
  • Native Client. Код компилируется таким образом, чтобы позволить как его выполнение процессором, так и верификацию браузером. Код NaCl использует для общения с внешним миром достаточно богатый набор интерфейсов Pepper API , включающий, в частности, работу с файловой системой, OpenGL и звук.
  • Emscripten Если NaCl вам не подходит, можно скомпилировать свой код из C++ непосредственно в JavaScript. На современных браузерах получающийся JavaScript работает лишь в несколько раз медленнее, чем если бы он компилировался в машинный код. Из плюсов - совместимость со всеми интерфейсами, доступными из JavaScript.

Пример


В заключении приведу пример приложения, над которым я сам работал (и
работаю). Это текстовый редактор Text . Код редактора доступен на гитхабе . Для собственно редактирования используется библиотека CodeMirror . Приложение реализует работу с файлами, окнами, сохранений настроек и прочие необходимые функции.