Разработчики мобильных приложений для платформ iOS и Android могут воспользоваться новым SDK, в котором появилась офлайн-поддержка приложений. Как отмечено в блоге Google, это позволит создавать софт, сохраняющий работоспособность в условиях, когда связь неустойчивая или вовсе отсутствует. Новый SDK базируется на разработках компании Firebase, купленной поисковым гигантом осенью прошлого года. «Эти средства разработки созданы с целью помочь девелоперам преодолеть ограничения традиционных подходов для мобильного программирования», — сообщил менеджер по продажам Google Cloud Platform Энди Цоу.
По его словам, обеспечение бесшовного применения мобильных продуктов в любых условиях может быть непростой задачей, но это как раз то, что нужно пользователям. Этой же точки зрения придерживается главный разработчик Firebase Джонни Даймонд. Он считает, что новый SDK для iOS и Android позволит добиться устойчивой синхронизации данных приложения с хранилищем, поэтому после разрыва соединения не придётся заново загружать большой объём данных при повторном открытии приложения. В качестве примеров он привел хранение данных приложений, аутентификацию пользователя и рассылку push-уведомлений.
Для этого в SDK предусмотрен механизм, позволяющий отбирать нужные данные для синхронизации с сервером приложений, а также сохранять апдейты на диске для бесшовной работы приложения независимо от условий эксплуатации. Чтобы подключить возможности синхронизации и сохранения апдейтов в режиме реального времени, сказал Даймонд, разработчикам «потребуется всего лишь две строки кода, поскольку СУБД Firebase изначально задумывалась как средство работы с офлайн-данными». К слову, на данный момент Firebase уже используют более 190 тыс. разработчиков.
Firebase использует синхронизацию вместо запросов/ответов для перемещения данных между клиентом и сервером. Все операции чтения и записи производятся в первую очередь на локальной версии базы на самом устройстве. Потом данные отправляются на сервер. Такой механизм работы позволяет Firebase компенсировать отставание сети — локальные операции записи отражаются в локальных операциях чтения до того, как распознаются сервером. Citrix использует эту функцию в своем приложении Talkboard с 2013 г. «Когда вы рисуете на холсте в Talkboard, все офлайн-изменения записываются на диск и синхронизируются позже, когда вы открываете приложение снова», — отметил Даймонд.
Офлайн-поддержка приложений в последнее время становится трендом. К примеру, недавно была заявлена поддержка офлайновых маршрутов в Google Maps и офлайнового видео в YouTube. В прошлом году Parse, принадлежащий Facebook, ввел новую функцию Local Datastore для поддержки в Android SDK офлайн-работы в приложениях на iOS и Android, что может улучшить в целом облачную платформу Google и сделать её более привлекательной для мобильных разработчиков в сравнении с другими основными публичными облаками, такими как Amazon Web Services и Microsoft Azure.
Google также выпустила новую версию инструмента Android Studio 1.3. Он позволяет заниматься отладкой программ в одной среде для iOS (XCode, Cи) и Android (Java), что призвано упростить создание приложений для обеих платформ. В свою очередь, новое решение Cloud Test Lab бесплатно предоставляет возможность автоматизированного тестирования приложений на 20 самых популярных Android-устройствах с отчетами о сбоях и скриншотами. Это связано с тем, что у многих разработчиков есть возможность тестировать новые приложения максимум на трех разных устройствах.
У Microsoft для разработки приложений имеется сервис Mobile Services, который предлагает облачную инфраструктуру для Windows 8, Windows Phone, iOS и Android. На его основе можно построить облачный бэкенд, на который перенести задачи по хранению данных, аутентификации и push-уведомлений.