Гугл приложения для браузера. Создание простого Chrome приложения. Проверяем созданное расширение

Существует магазин приложений Google Play. Хоть и называется магазин, но большая часть приложений распространяется бесплатно. Для перехода нажимаем кнопку в верхней правой части браузера. Далее наводим курсор мышки на «Инструменты» и, в появившемся подменю, выбираем «Расширения». Или можно в адресную строку ввести «chrome://extensions/».

Оказываемся на странице с уже имеющимися приложениями. В моем случае уже установлено расширение — «документы Google 0.7». Выбираем строку «Еще расширения».

В левой части показано меню для выбора тематики приложений, по умолчанию выбран раздел «Расширения», для перелистывания вниз удобно использовать колесико мышки. Справа показываются сами приложения, в зависимости от популярности.

Если навести мышкой на какое либо приложение, то логотип приложения изменится на краткое описание действия приложения (или анонс приложения). Появится синяя кнопка установки с указанием стоимости.

Наводим курсор мышки на приложение, логотип изменяется на описание и кнопку для скачивания. Кликаем по кнопке «бесплатно».

Подтверждаем установку приложения, нажимаем кнопку «Добавить».

Появляется новая кнопка и окно оповещения об установке. Но потом этот значок исчезнет.

Снова заходим в расширения, кнопка «Настройки», «Инструменты» и «Расширения».

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

В новом окне появляются дополнительные настройки, проверим действие программы. Изменяю кнопку «Мне нравится» на какую нибудь другую, после чего нажимаю кнопку «сохранить».

Теперь открываем

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

Для начала стоит ответить на вопрос, зачем вообще нужны приложения Google Chrome ? На современных сайтах есть различные динамические функции, которые раньше были доступны только установленным на компьютерах программам. Но на сегодняшний день не требуется использовать все эти многочисленные программы. Достаточно только установить приложение, которое и места на диске занимает намного меньше, и сбоев не должно давать (как гарантируют разработчики).

Но всегда следует различать закладки и истинные приложения . Закладок на различные сайты на данный момент очень много. Но их нельзя назвать истинными приложениями. А ведь именно о последних идет речь. Какими же бывают приложения Google Chrome, и на что они способны?

Одними из самых полезных приложений Google Chrome являются многочисленные блокноты. Так, блокнот Quick Note аналогичен текстовому документу Microsoft Word . Только для вызова последнего следует специально запустить программу. А вот блокнот сразу же доступен в разделе приложений. В него можно записать все, не выходя из браузера. Даже сохранять ничего не требуется! Все происходит автоматически. Это приложение Google Chrome работает, даже если у вас не работает подключение к интернету.

TweetDeck – очень полезное приложение для всех пользователей, которые часто ведут разговоры в многочисленных соцсетях. С ее помощью можно всегда оставаться в курсе событий и всех диалогов на Twitter, Facebook, LinkedIn, Google Buzz, Foursquare, MySpace.

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

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

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

Какие еще есть полезные приложения Google Chrome? Среди многочисленных приложений следует выделить словари . Чтобы вам не приходилось постоянно искать перевод слова, можно просто воспользоваться хорошим приложением. Среди многочисленных словарей можно выбрать именно тот, который понравится вам больше всего. Возможность выбора неограничена. Вы можете использовать как простой Переводчик En-Ru, так и Яндекс.Словари. А может, вас интересует тематика автомобилестроения? И на этот случай есть полезное приложение! Все, что связано с машинами, можно найти в словаре Cars.

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

Кстати, игры - это тоже приложения Google Chrome. Среди многочисленных игр следует отметить самое популярное приложение, которое очень нравится многим людям во всем мире. Некоторые могут считать, что надоедливые птицы и зеленые свинки уже не так популярны, но на самом деле приложение Angry Birds считается одним из самых лучших из всех тех, которые вышли в 2011 году. Кстати, благодаря этой игре разработчики смогли обратить внимание всех пользователей на игровые возможности платформы Google 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-приложений - .

Представляем на суд публики собственное видение must have перечня популярных приложений для браузера Chrome по результатам прошедшего 2014 года. При подготовке материалов специалисты отталкивались от одного самого основного показателя — способности приложения Chrome в полной мере представить замену своему типовому десктопному аналогу. Именно по указанной причине среди главных оказались офлайн-приложения и часто используемые для решения повседневных актуальных задач инструменты.

Удалённый рабочий стол

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

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

Сложно не согласиться, что самым оптимальным способом преображения ежедневной рутинной работы может стать нечто увлекательное. За счет использования приложения Email Game операции и управление почтой перевоплощаются в увлекательную компьютерную игру, в которой представлены рейтинги, прокачка, время на прохождение и бонусы. Для наиболее амбициозных пользователей предлагается групповое соревнование за звание победителя инбокса.

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

Text

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

Опять название приложения уже обо всем говорит. По сути, оно добавляет в самую востребованную русскоязычную социальную сеть опции десктопного email-клиента, когда можно иметь доступ к контактам и вести переписку в сети без присутствия сети интернет.

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

Это очень востребованный и удобнейший сервис отложенного чтения. Имеется отдельная специальная кнопка для Pocket, помогающая отложить пост для чтения мгновенно в один клик. С отличным приложением можно читать отложенные статьи также без доступа к интернету.

Listen

Несравненный облачный плеер, имеющий функцию прослушивания и поиска музыки из ВК, офлайн-прослушивание и интеграцию с Google Drive. Теперь вы сможете искать новые композиции за счет баз данных «Яндекс.Музыки» и Last.FM. Для меломанов другой достойной альтернативы просто не существует.

Pixlr Editor

Не стоит забывать и успеть вовремя сделать

Можно назвать целый перечень инструментов, многие люди без которых просто не представляют сегодня повседневной деятельности. Это всевозможные продолжатели памяти, списки покупок, заметки, блокноты, менеджеры задач, напоминания. Совершенно точно можно сказать, что по отдельности каждый сервис совершенно индивидуален по назначению, однако в основе их всех заложен одинаковый смысл: нельзя забывать и успеть сделать. Остановиться на одном приложении как фаворите достаточно сложно. Все они уникальны, решают немного разные задачи, хотя и имеют немало общего. Кто-то предпочитает все простое, другим больше нравятся комплексные и навороченные продукты. Некоторые ценят соответствие методологии GTD, кто-то чаще в приоритете держит исключительно интуитивность и удобство.