Advertisement
  1. Code
  2. Google

Последствия Google I/O 2015

Russian (Pусский) translation by Aleksandr Dokin (you can also view the original English article)

Каждый год разработчики с нетерпением ждут Google I/O, чтобы прийти и удивить нас введением новых фич, сервисов и инструментов разработки. В прошлом году Google ориентировался на революции путем внедрения новых форм-факторов, таких как Android Wear и Material Design.

В этом году Google сделал важные шаги, направленные на улучшение операционной системы Android и предоставляемые разработчикам инструменты для создания более качественных приложений. Вдобавок к этому они представили новую интересную технологию загрузки.

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

Android

Пожалуй наибольшее внимание в этом году на Google I/O было уделено платформе Android. Прежде всего, это анонс Android М developer preview, после прецедента от Lollipop с релизом бета-версии операционной системы для разработчиков.

Также Google анонсировал то, что они работают с производителями, чтобы перейти к стандарту двунаправленного USB-C коннектора, давая новым устройствам на базе Android возможность заряжаться в 3-5 раз быстрее.

Продолжая фокусироваться на энергоэффективности и расходе энергии, Google объявил о новых API и возможностях операционной системы, подразумевающих экономию заряда батареи. Кроме того, Google представил множество улучшений в Play Store, способствующих привлечению пользователей, а также инструменты для разработчиков с применением вспомогательных библиотек и новых API.

Android M Developer Preview

Больше всего приходящих с Google I/O новостей - это анонс новой версии операционной системы Android - Android M, которая будет выпущена в 3 квартале этого года.

M - это усовершенствование текущей операционной системы Lollipop, направленное на улучшение качества ПО. Эта новейшая версия Android включает тысячи багфиксов Lollipop, новые аппаратные API и улучшенное управление питанием.

Google будет выпускать многократные обновления к M Preview с исправлением ошибок и дополнительными фичами примерно раз в месяц вплоть до официального релиза. На текущий момент Android M developer preview поддерживается на Nexus 5, 6, 9 и Player.

Devices that support the M preview

Doze - спящий режим

Первое что обсуждалось в ходе конференции Google I/O Keynote, это Doze - новая возможность Android M, которая с помощью обнаружения движений (motion detection) определяет, используется устройство или нет. Если нет - операционная система экспоненциально замедляет сетевую активность для экономии батареи пока устройство неактивно.

Хотя устройство находится в спящем режиме (doze mode), оно все еще может "проснуться" для ответа на аварийные вызовы (будильник) и уведомления с высоким приоритетом. Согласно исследованию Google, в режиме простоя на двух одинаковых планшетах Nexus 9, где на одном установлен Android Lollipop, а на другом Android M, батарея устройства с Android M служит в два раза дольше.

API для Android M

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

Многие новые методы направлены на оборудование, так например усиленная проверка подлинности с помощью сканера отпечатков пальцев, улучшенная поддержка стилуса для кнопок и жестов, и 4K display mode. Google даже представил API, который имеет дело с голосовыми взаимодействиями, позволяя приложениям общаться с пользователями посредством разговора.

Дополнительные API, поддерживаемые Android M, касаются пользовательских разрешений. Одна из возможностей - прямой шаринг, который позволяет делиться информацией о приложении с определенными контактами (например email или hangouts контакты).

Другой API, App Links, позволяет устройствам автоматически ассоциировать URL с проверенным приложением, вместо того чтобы каждый раз проходить через диалог выбора приложения. Еще более мощным является Assist API. Используя Assist, вы сможете реализовать функциональность Google Now непосредственно в вашем приложении. Assist основывает выдачу на содержимом, которое показывается пользователю. Его цель в том, чтобы предоставить пользователю ответы и возможные действия когда они необходимы.

В дополнении к этому Google добавил возможность под названием Now on Tap. Она позволяет пользователям удерживать кнопку "Home" для получения результатов от Google Now, основанных на контексте текущего приложения (in-app information).

Contextually Aware Google Now in App

Runtime Permissions

В течение многих лет пользователи спрашивали о решении бескомпромиссного (all-or-nothing) подхода для запроса разрешений в приложениях на Android. Начиная с M, Google представил запрос разрешений на лету (runtime permissions).

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

Чтобы помочь пользователям, Android перегруппировал разрешения в наборы понятных категорий (permissions categories). Важно отменить, что эти категории могут быть запрещены или разрешены в любое время через экран настроек устройства.

Example of a permissions dialog

Play Services 7.5

В дополниние к M preview, Google выкатил версию 7.5 Play Services. К счастью эта библиотека включает много новых интересных фич. В прошлом году был выпущен JobScheduler API, позволяющий разработчикам пакетно обрабатывать операции, когда системой были соблюдены определенные условия для экономии батареи. Недостаток этого API в том, что работало оно только на Lollipop. С новой версией Play Services, Google представил GcmNetworkManager, который по сути обратно совместим с JobScheduler и который откатывается к JobScheduler при необходимости.

Другие полезные дополнения включают следующее:

  • Google Cloud Messages, на которые можно подписаться и фильтровать по темам.
  • App Invites позволяет пользователям отправлять прямую ссылку на установку чего-либо своим друзьям.
  • Google Cast remote displays позволяет пользователям смотреть различный контент на своем устройстве и на другом экране, например телевизоре.
  • The Google Maps API теперь работает и на Android Wear устройствах.
  • Google улучшил данные Google Fit и добавил десятки новых тренировочных упражнений.

Design Support Library

Наряду с обновлением Play Services, Google представил Design Support Library. Используя эту библиотеку, теперь разработчики имеют возможность реализации различных компонент пользовательских интерфейсов к прошлому API 7, который ранее поддерживался только в Android Lollipop или через сторонние библиотеки.

Некоторые из доступных компонент включают плавающие кнопки (floating action buttons), заголовки навигационных панелей (navigation drawer headers), и новый контейнер под названием CoordinatorLayout, который автоматически перемещает views, т.к. другие views изменяют размер или видимость.

Example of a navigation drawer with a header

Улучшения Play Store

Во время Keynote этого года Google анонсировал ряд новых возможностей Play Store. Одни касаются улучшений в предоставлении статистики чтобы помочь увеличить уровень скачиваемости приложения.

В обновленной Google Play Developers Console разработчики теперь смогут увидеть количество пользователей, которые просмотрели приложение в store в сравнении с количеством установивших его. Также разработчики смогут использовать Experiments - сервис, который позволяет опробовать варианты листинга в app store, чтобы посмотреть, какие изменения смогут дать больше скачиваний.

В дополнение к app store листингу, разработчики смогут создавать кастомные домашние страницы Google Play для показа во всех своих приложениях, а также некоторую информацию о себе или компании.

Другие улучшения касаются контента, который показывается пользователям, когда те ищут что-то через Play Store. Store теперь более осведомлен о конкретных приложениях, соответствующих критериям поиска, а в случае расплывчатого поиска пользователю будет предложен ряд категорий с приложениями, которые могут удовлетворить его потребности.

Последнее существенное изменение в Play Store касается поиска детских и семейных приложений. Теперь приложения могут иметь рейтинг и метку, которая указывает, подходит ли их контент для семей. Пользователи также могут искать приложения, фильтруя их по возрастным группам. Наряду с традиционными методами поиска приложений, Play Store ввел возможность поиска по действующему лицу, позволяя родителям находить приложения, основанные на любимой книге их ребенка, фильме или анимационном персонаже.

Updated Developer Console Showing Views vs Installs

Android Pay

Подтвердив обсуждаемые еще до Google I/O слухи, Google запустил новый сервис под названием Android Pay. Используя NFC, Android Pay позволяет пользователям выполнять транзакции более чем в 700 000 точек розничной торговли, которые поддерживают бесконтактные платежи (contactless payments).

Android Pay безопасен за счет использования номера виртуального аккаунта для транзакций вместо того, чтобы расшаривать реальный номер карты пользователя. К тому же у пользователей Android M будет дополнительный слой безопасности при использовании сканеров отпечатков пальцев.

Pay также может быть интегрирован в приложения, позволяя пользователям быстро и легко покупать товары со своих устройств. Android Pay будет поддерживаться на любом устройстве с NFC.

Android Pay Console

Средства разработки под Android

Два года назад Google выпустил первую бета-версию Android Studio и с тех пор они продолжают улучшать IDE, чтобы облегчить жизнь разработчиков.

И этот год - не исключение. Google выпустил Android Studio 1.3 на canary channel. Новая версия включает замечательные фичи, такие как ускоренная сборка, новый memory profiler, новые аннотации и возможность связывать данные моделей с отображениями (views) через XML файлы.

В Android Studio также добавлена одна из самых нужных возможностей - улучшенная нативная поддержка разработки. Полная поддержка редактирования и отладки с исправлением ошибок, автодополнение кода и отладка C++ приложений теперь доступны разработчикам при использовании NDK.

C Debugging in Android Studio

Пока инструменты для создания приложений улучшаются, Google, вслед за поглощением Apprufy, запустил новый сервис Cloud Test Lab. С помощью него разработчики могут загрузить свое приложение и Google запустит тесты на 20 самых популярных Android устройствах. По завершении тестов Cloud Test Lab сформирует отчет, содержащий crash-логи и видео с запуском приложения.

Google Photos

Одним из наиболее увлекательных анонсов на Google I/O было представление Google Photos. Photos, отделившиеся от Google+, доступны для iOS, Android и web. Сервис автоматически систематизирует изображения и создает коллекции, основанные на лентах новостей и альбомов, помогая организовать содержимое.

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

Cardboard

С момента анонсирования Cardboard на Google I/O 2014 набралось более миллиона зрителей. В этом году Google сделал несколько простых обновлений для своей VR гарнитуры, например добавил кнопку, которая пригодна для работы с несколькими устройствами, изменил габариты для поддержки любого телефона до 6 дюймов.

Google также обновил Unity SDK для поддержки iOS устройств и выложил версию приложения в Apple's App Store. Хотя гарнитура Cardboard интересна сама по себе, Google планирует сделать с ней что-то по-настоящему волшебное.

Expeditions

Google представил новую программу под названием Expeditions как часть инициативы Google in Education. Через Expeditions предварительно собранные наборы с Cardboard, телефонами и планшетами для преподавателей будут направлены в учебные классы для того, чтобы дети смогли побывать на смоделированных экскурсиях.

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

Children viewing Expeditions using Cardboard

Jump

Для создания необходимых для Expeditions и Cardboard 360-градусного видео высокой четкости Google придумал систему под названием Jump. Jump состоит из 3 частей. Первая часть - это физический массив из 16 камер, соединенных таким образом, чтобы отснять все углы с множеством точек пересечения. Хотя Google будет выпускать схемы для изготовления Jump с нуля, они также сотрудничали с GoPro для продажи заранее смонтированного устройства.

GoPro Jump Array

Вторая часть Jump системы называется Assembler. При использовании мощных компьютеров в облаке, контент с устройства Jump может быть загружен и обработан с целью сглаживания изображений, цветокоррекции и создания стереоскопического VR видео. Когда сервис впервые запустят этим летом, будет доступен только выбор создателей вплоть до официального запуска в конце этого года.

И наконец третья часть Jump - это доставка контента пользователям. Делается это путем добавления поддержки VR видео на YouTube. Это означает, что любой у кого есть гарнитура Cardboard, может получить доступ уже этим летом.

Internet of Things

С поглощением Nest в прошлом году Google начал работы по вовлечению в Internet of Things (IoT). Как было отмечено в ходе основного доклада, одна из самых сложных задач, стоящих перед Internet of Things прямо сейчас - это отсутствие универсального ПО и связи между устройствами.

Чтобы помочь решить эту проблему, они представили две новых технологии - Brillo и Weave. Brillo - это операционная система для IoT устройств, полученная из Android и заточенная чтобы быть легковесной, в тоже время поддерживая такие возможности как связь по bluetooth.

Weave - это общий язык, похожий на JSON, для устройств, которым надо взаимодействовать друг с другом, будь то устройства в облаке, телефон или оборудование IoT. Информации и по Brillo и по Weave на текущий момент маловато. Однако, Brillo должен выйти в 3 квартале 2015, а Weave будет доступен к 4 кварталу.

Проект Jacquard

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

Оптимизация для "дешевых устройств"

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

Когда Chrome оптимизирован, web страницы загружаются в 4 раза быстрее и используют на 80% меньше данных. Принимая во внимание опыт для этих 14 стран, Google планирует использовать оптимизированные web страницы по всему миру для "дешевых устройств", определяя их при помощи своего нового инструмента Network Quality Estimator.

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

Недавно YouTube начал тестировать поддержку оффлайн видео в 4 странах, предлагая загружать видео для хранения на 48 часов, чтобы позже это видео можно было смотреть без подключения к интернету. Аналогично и для Google Maps - поддержка оффлайн карт и навигаторов будет доступна в этом году.

Network Quality Estimator at work

Другие инструменты разработки

Наконец официально вышел Polymer версии 1.0. Этот релиз включает в себя ряд новых фич, таких как возможность дропать например графики и тулбары, а также быструю систему биндинга данных (data-binding system).

Google анонсировал принятие ими CocoaPods в качестве основного способа предоставления своего SDK для iOS разработчиков.

Заключение

В этом году на Google I/O было затронуто много вопросов. От образования с помощью Cardboard до подвижек в области Internet of Things, Google продолжает демонстрировать нам, что это универсальная компания, которая инвестирует в сообщество разработчиков. Мы живем в интересные времена и они собираются стать еще более интересными.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.