Это странная история. Веб-приложения запускаются везде, где есть браузер, но теперь Google представил новый поворот в идее «запускать где угодно». Приложения Chrome, работающие на iOS и Android. Что это значит?
Однажды, кажется, очень давно, Интернет предоставил нам огромную возможность. Стандартный веб-браузер может выступать в качестве универсальной платформы программирования. Все, что нам нужно было сделать, это написать программу один раз, и она могла бы работать на любой ОС, поддерживающей браузер. По многим причинам это так и не сработало, но теперь все крупные производители браузеров, похоже, видят в этом смысл.
Очень поздняя попытка Google разрешить веб-приложениям запускаться где угодно с такой же или аналогичной мощностью, что и настольные приложения, наконец, смогла вызвать достаточно энтузиазма, чтобы заставить приложения Chrome работать на рабочем столе.
Так что же такое приложение Chrome?
По сути, это веб-приложение, то есть HTML / JavaScript / CSS плюс некоторые дополнительные API и формат упаковки, который включает манифест. Некоторые из API являются стандартными, но их достаточно, чтобы приложение Chrome работало только в браузере Chrome или в ChromeOS. Вот вам и мечта о веб-приложениях, которые работают в любой системе. Если вы создадите приложение Chrome, оно будет работать в любой системе, в которой работает Chrome. Если вы не хотите использовать Chrome в качестве браузера, вам необходимо использовать какую-либо другую форму веб-приложения, например, приложение Mozilla Open Web.
Последний шаг расширяет возможности приложений Chrome на iOS и Android с помощью хитрого трюка с использованием Apache Cordova, также известного как PhoneGap. Это хитрый трюк, потому что вы уже можете использовать Cordova для запуска очень стандартных веб-приложений на iOS, Android и ряде других мобильных операционных систем.
Так зачем возиться с приложением Chrome?
Простой ответ заключается в том, что Google сделал ряд доступных основных API-интерфейсов Chrome, что означает, что если вы просто ограничиваете то, с чем вы работаете, только API-интерфейсами Chrome, вы можете очень быстро перенести свое приложение Chrome. Конечно, у вас также есть доступ ко всем API Cordova, но если вы используете какой-либо из них, у вас больше не будет чистого приложения Chrome.
Доступные API Chrome включают:
identity — пользователи, входящие в систему с помощью OAuth2, без запроса паролей
платежи (в настоящее время только Android) — продавайте виртуальные товары в своем мобильном приложении
pushMessaging — отправлять сообщения в ваше приложение с вашего сервера
сокеты — отправка и получение данных по сети с использованием TCP и UDP
уведомления (в настоящее время только для Android) — отправляйте насыщенные уведомления из мобильного приложения.
storage — хранить и извлекать данные ключ-значение локально
syncFileSystem — хранить и извлекать файлы, поддерживаемые Google Диском
будильники — периодически запускать задачи
В настоящее время API pushMessaging и syncFileSystem имеют только бета-качество. Существует более длинный список API-интерфейсов Chrome, включая NaCl, которые, похоже, будут поддерживаться в какой-то момент в будущем.
Что упрощает все это, так это новый набор инструментов, который превращает приложение Chrome в собственное приложение с использованием Cordova. После упаковки приложение может быть запущено на реальном устройстве или в эмуляторе.
Когда у вас есть собственное приложение, вы можете отправить его для включения в соответствующий магазин приложений. У вас не будет проблем с магазином приложений для Android, а с iOS? Что Apple сделает с приложениями Chrome, работающими на iOS?
На данный момент слишком много людей, заинтересованных в фрагментации разработки приложений, и слишком мало людей, которые видят преимущества в единой платформе.