Google Chrome серьезно упрощает многие вещи, например, создание собственных приложений. Да, подготовить свое приложение к публикации можно за 5 минут, а то и меньше.
Нам понадобятся:
Начнем мы с создания файла manifest.json . В этом примере приведен манифест сайта NetRival. Откройте любой текстовый редактор, скопируйте в него этот код и измените под свое приложение:
{ "name": "NetRival - Technology Blog", "short_name": "NetRival", "description": "NetRival is a Blog Focused on Personal Technology, How-to Tutorials, Gadgets and Telecom", "version": "0.1", "manifest_version": 2, "icons": { "128": "icon_128.png" }, "app": { "urls": [ "http://www.netrival.com/#utm_source=google_chrome&utm_medium=chrome_app&utm_campaign=google_chrome_app" ], "launch": { "web_url": "http://www.netrival.com/#utm_source=google_chrome&utm_medium=chrome_app&utm_campaign=google_chrome_app" } } }
Как минимум вам понадобится изменить поля "name" , "short_name" , а также описания и ссылки. Иконку своего приложения переименуйте в icon_128.png . Создайте новую директорию, положите туда manifest.json и саму иконку. Теперь запакуйте директорию в zip-файл. Позже он вам еще понадобится.
Откройте браузер, перейдите по адресу chrome://extensions/ и убедитесь, что у вас поставлена галочка «Режим разработчика». Она расположена на странице справа вверху (это видно на картинке). Затем нажмите на кнопку «Загрузить распакованные расширения» и выберите папку, где расположены manifest.json и иконка вашего расширения. zip-архив загружать не нужно, Google Chrome автоматически загрузит файл manifest.json из указанной директории, в данном случае - из E:\NetRival_Chrome_App (это выделено на скриншоте).
Плагин уже работает. Чтобы в этом убедиться, пройдите по адресу chrome://apps/ , и вы увидите что-то подобное скриншоту (если нажать на иконку, вы попадете на ваш сайт или блог).
Теперь можно размещать наше расширение в Google Chrome Store, где его сможет скачать любой желающий. Нужно загрузить manifest.json и иконку в zip-файл (мы уже это сделали). Но сначала нужно заплатить 5 долларов пошлины за регистрацию, которая даст вам доступ к консоли разработчика Google Chrome (на эти $5 вы можете разместить в магазине 20 любых приложений, расширений или тем для Chrome).
Перейдите на адрес https://chrome.google.com/webstore/developer/dashboard и уплатите 5 долларов. После оплаты нажмите на кнопку «Добавить новый продукт» и выберите zip-файл с расширением. После этого понадобится заполнить небольшую анкету приложения и добавить скриншоты.
Чтобы отслеживать трафик с приложения, можно использовать Google Analytics - просто укажите ваш ID. Лучше использовать не тот же GA ID, что для вашего сайта, а отдельный. Теперь нажмите на кнопку предпросмотра и посмотрите, как будет выглядеть ваше приложение в магазине приложений. Осталось лишь нажать на кнопку публикации - и миссия выполнена.
Если у вас возникнут какие-то вопросы, вы можете собственными глазами посмотреть демо приложения и zip-архив с ним. Удачи!
Google Chrome - это наиболее востребованный интернет-браузер в мире, который теперь можно установить на свой Андроид. Мобильная версия программы такая же быстрая и функциональная, как версия для компьютера.
Браузер обладает рядом ключевых возможностей, благодаря которым пользователи останавливают свой выбор именно на продукте от компании Google. К ним можно отнести:
Вместе с последним обновлением Google Chrome стал еще более стабильным и надежным в работе, а также улучшилось его визуальное отображение на экране мобильных устройств, что без сомнения оценит каждый пользователь, на устройстве которого установлена данная программа.
Sunrise Calendar – это самое прекрасное бесплатное приложение-календарь. Вы можете синхронизировать его с iCloud и календарем Google. Вы можете быстро добавлять события одним кликом по кнопке запуска, регулировать продолжительность и добавлять любые необходимые детали. Красоты приложению добавляет то, что оно является кросс-платформенным, и вы сможете пользоваться им не только на ноутбуке или стационарном компьютере, но также и на планшете или смартфоне.
Если вы когда-нибудь случайно закрывали вкладку или же нажимали кнопку Назад при заполнении формы, то Lazarus Form Recovery- это тот инструмент, который вы давно ждали. Это приложение сохраняет все, что вы пишете в онлайн-формах, шифруя информацию, чтобы соблюсти параметры безопасности и секретности.
Если вы случайно что-то удалите или закроете, то нажмите на иконку Lazarus` а и выберете, какой текст нужно восстановить. У этого приложения есть чудесная настройка, позволяющая сохранять информацию в течение длительного времени, так что вы сможете вернуться в заполненные документы.
Существует три основных правила 0h h1, и вы можете о них свободно рассказывать. Во-первых, ни три красных, ни три синих плитки не могут располагаться рядом в одном столбце или строке, во-вторых, в полной строке или столбце должно быть одинаковое количество плиток разных цветов, в-третьих, две строки, также как и два столбца, не могут быть одинаковыми. Разгадать эту маленькую головоломку намного сложнее, чем может показаться с первого взгляда. Увлекательный сплав судоку и тетриса не оставит вас равнодушными.
Telegram - это ультра-безопасное и зашифрованное облачное приложение, созданное для обмена сообщениями, которое позволяет общаться с друзьями с помощью любого устройства. Это простое в использовании приложение позволит иметь доступ ко всем вашим сообщениям что с ноутбука, что с планшета, что со смартфона. Недавнее обновление добавило встроенную поддержку сервисов Instagram и Twitter, а также YouTube, Vine и Vimeo. Это одно из самых безопасных приложений для обмена сообщениями.
Gmail Offline решает одну из самых больших проблем почтовых приложений - доступность в автономном режиме. Это приложение синхронизируется с вашей учетной записью Gmail каждый раз, когда вы находитесь в сети, позволяя получить доступ к почте в тот момент, когда вы не подключены. Вы можете читать сообщения, архивировать почту и даже писать новые письма или ответы. В следующий раз, когда приложение обнаружить доступное подключение к Интернету, оно автоматически выполняет все действия.
WeatherBug - это отличное самостоятельное приложение, посвященное погоде. WeatherBug предоставляет актуальную метеорологическую информацию для различных мест, интерактивные карты, предупреждения об изменениях погоды, а также онлайн-трансляции с видеокамер ближайших метеорологических станций.
Pixlr Touch Up - это простой и бесплатный редактор фотографий, который идеально подходит для редактирования фотографий для того, чтобы выложить из в социальные сети или онлайн-галерею. Возможности приложения включают в себя обрезку изображения, изменение размера, поворот, регулирование цвета и контрастности, применение цветовых фильтров. Кнопки Undo и Redo позволят отменить неподходящие изменения, а отредактированные изображения вы сможете сохранить на жестком диске или на Google Drive. Это, конечно, не Photoshop, но зато очень хорошее приложение для моментальной обработки.
Google Keep - это приложение не просто сохраняет закладки из браузера в свою собственную панель задач, оно полностью изменяет рабочий стол. Теперь вы находитесь в одном клике от написания заметок и напоминаний, быстрой вставки фрагментов текста. Вы сможете вставлять изображения и списки, устанавливать напоминания, архивировать или удалять заметки, а также синхронизировать данные на всех ваших устройствах.
Pocket - это весьма популярное приложение для синхронизации устройств. Это приложение сохраняет статьи, видео, фотографии во время просмотра онлайн для последующего доступа в автономном режиме на любом устройстве. Это приложение создано для автономного просмотра сохраненного контента, при этом вы можете редактировать и оптимизировать вид статей, менять размер шрифта и задний фон, проставлять теги, искать, архивировать или делиться через электронную почту, Twitter или Facebook.
В нашем высокотехнологичном мире нам постоянно приходится жонглировать именами пользователей и паролями от различных аккаунтов в диком разнообразии приложений и сервисов. LastPass - это пароль-менеджер, который поможет вам создавать сложные пароли и хранить их в зашифрованном виде на сервере, к которому у вас будет доступ в любое время и из любого места. Вы сможете извлечь любой необходимый пароль, зная всего лишь один - основной пароль от хранилища. Просто, безопасно, удобно - это приложение спасет всех рассеянных пользователей.
Вконтакте
Если вы следите за популярными технологиям,такими как блоги или Techcrunch Download Squad ,вы могли заметить, тизерные сообщения о веб-приложениях Google Chrome , новой функции Chromium которую разработчики Google Chrome развивают в течение некоторого времени.План компании Google является предоставление веб-приложений в новой версии Chrome Web Store . Есть бесплатные и платные приложения, которые пользователи Chrome могут установить в веб-браузере.
Веб-приложения Chrome перечислены в менеджере расширений в браузере,есть только некоторые различия между расширениями и Chrome веб-приложениями . Веб-приложения Chrome установлены по умолчанию и отображаются на вкладке новой страницы, где они могут быть легко доступны, при условии, что они установлены на компьютере.
Google Chrome веб-приложения .
Нажмите на веб-приложение и оно открывается слева от TabBar . Вкладка иконки выглядят на первый взгляд похожа на закрепленные вкладки с тем исключением, что они с высоким разрешением, так как они не используют значки,а имеют местные иконки.
Chrome веб-приложения.
На скриншоте выше показаны два
веб-приложения Chrome
и одно
во вкладке. Gmail и Google Calendar являются веб-приложениями. При нажатии на них открывается веб-страница службы в браузере. Я честно не в состоянии выяснить существующие различия между веб-приложениями и удержании вкладки в этой точке, за исключением лучших иконок вкладки и тот факт, что веб-приложения перечислены в новых закладках.Я считаю, что это пример концепции. Например,в статьях Techcrunch показан скриншот игры, которая, вероятно, работает локально, а не на веб-сайте.
Веб-приложения Chrome игры
Как вы можете видеть на скриншоте выше нет URL в адресной
строкепредполагая, что она выполняется локально (или, что URL-адрес был удален с экрана).
Как включить веб-приложения Chrome в Google Chrome Dev.
Веб-приложения Chrome
могут быть включены в Google Chrome - Chromium
. В Download Squad размещены инструкции:
Google Chrome
поставляется с тремя веб-приложениями для тестирования. Они обеспечивают функциональность Google Docs, Gmail и Google Calendar.
Приложения расположены в C: \ Users \ имя пользователя \ AppData \ Local \ Google \ Chrome \ Application \ 6.0.453.1 \ Resources \ на Windows. Обратите внимание, что версия изменяется с каждым новым релизом Chrome
.
Вам нужно добавить параметр запуска-Enable-приложений в браузере. Самый простой способ сделать это, создать ярлык, щелкните правой кнопкой мыши на ярлыке и выберите свойства. Цель должна выглядеть подобным образом в конце C: \ Users \ имя пользователя \ AppData \ Local \ Google \ Chrome \ Application \ chrome.exe включить приложения
Теперь откройте меню расширений, нажав на значок гаечного ключа на панели инструментов Chrome
, там вы увидите инструменты и расширения.
Выберите распаковать расширения и перейдите к папке ресурсов. Каждое веб- приложение Chrome
должно быть установлено отдельно.
Веб-приложения
сразу появляются на странице «Новая вкладка», где они могут быть запущены.А что вы думаете по этому поводу? Дайте знать в комментариях.
{ "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; }
Итак, разберём код в 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-приложений - .