среда, 2 июля 2014 г.

Android L

В этом году компания Google провела конференцию Google I/O на месяц позже чем в прошлом. Несмотря на это Google не успела завершить разработку Android 5.0. Представленные материалы выглядят очень интересно, но создается впечатление, что нам показали промежуточный внутренний релиз, который даже нельзя объявить бетой для разработчиков. В документации есть неработающие ссылки и поломана структура папок в архиве.
Осенью, в Индии, Google вместе с партнерами анонсировала выпуск нескольких моделей бюджетных смартфонов, которые должны работать на новой операционной системе. Если бы не это, то я бы сказал, что до конца года Android 5.0 выйти не успеет.
В сложившийся ситуации для Google было важно чтобы нестабильное состояние релиза не переносилось на восприятие системы в целом, а Android 4.4 не стал устаревшим раньше времени. Решением данной задачи стал отказ от использования номера операционной системы, поэтому на конференции все разговоры велись про Anroid L, а версия для разработчиков была названа Anroid L Developer Preview. Я уверен, что в свое время Anroid L переименуют в нормальный Anroid 5.0 и в штаб-квартире поставят по этому случаю новую статую андроида.

Основное нововведение Anroid L - это новый дизайн интерфейса Material Design. Holo интерфейс продержался всего три года и то, в последнее время, в нем стало появляется все больше и больше элементов, которые в итоге составили основу Material Design.
Новый интерфейс вновь обретает глубину и третье измерение. Нечто похожее сделал перед этим Apple в iOS 7, но там все смотрели на плоские иконки и этот посыл остался не замеченным. В Google все сделано гораздо более явно и иллюстрации наподобие этой
являются важной частью руководства по разработке. За ощущения глубины отвечают тени от слоев. Все остальные элементы, расположенные на этих слоях остаются плоскими.
В очередной раз была скорректирована сетка расположений элементов, типографика и используемые цвета. В результате интерфейс стал более чистым и воздушным, почти не утратив при этом в плотности передачи информации.
Поменялась парадигма взаимодействия с интерфейсом. Несмотря на свою схематичность, он становится более осязаемый и физическим чем все вставки из кожи и оторванные листочки, которые ранее использовала Apple и местами все еще использует Samsung. Это достигается за счет того, что элементы интерфейса начинают взаимодействовать с пальцем пользователя, как будто используют энергию нажатия. Участок, нажатый на экране, становится центром изменений: из этого места открывается новое окно, вокруг него начинает меняться состояние элементов, постепенно расходясь по всему экрану и все это подкрепляется плавной, естественной анимацией и дополнительным эффектом расходящихся волн.
Это выглядит завараживающе красиво в примерах и приложениях Google, но в реальных приложениях реализовывать эту красоту будет сложнее чем привычный интерфейс. Легко будет совершить ошибку, где-то не додать анимации, где-то переборщить с ней, поэтому общее впечатление от системы будет все же не столь впечатляющее, как от первых примеров.
Дизайнеры Google понимают данную проблему, поэтому подготовили столь детальное руководство, какое только можно себе вообразить. Десятки примеров как делать надо и как не надо. Цветовые палитры и правила их применения. Размер и прозрачность текста для всех возможных вариантов использования. Множество готовых шаблонов расположения элементов для разных типов приложений. После небольшой доводки один из этих шаблонов легко становится готовым окном вашей программы.

Еще важным изменением в интерфейсе стали новые уведомления. Уведомления стали важной составляющей для новых сфер применения Android: настольные компьютеры, носимая электроника и автомобили. Поэтому уведомления стали более унифицированными и интеллектуальными. Для них можно задавать уровень приватности: прогноз погоды можно показывать в любой момент, а текст смс сообщения - только в очень редких случаях. Уведомление можно привязать к человеку, задать его приоритет или тип: звонок, сообщение, ошибка или реклама. На основе этих данных Android попытается показать нужное сообщение в нужный момент.

Остальные изменения:

  • виртуальная машина Dalvik меняется на ART. Это хорошо для пользователей, ничего не меняет в разработке обычных приложений и усложняет разработку для тех, кто использует NDK.
  • список запущенных приложений теперь может содержать отдельные документы или чаты. С учетом того, что в новой "карусели" отображается только три окна, то мне кажется, что это создаст хаос и пользоваться новой системой будет невозможно. Microsoft уже проводила похожий эксперимент в Windows и в итоге документы от одного приложения вернулись под одну иконку. Не понимаю, почему Google думает, что у нее выйдет по другому.
  • обновилась поддерживаемая версия OpenGL и добавился собственный набор команд Android Extension Pack. Тут все ожидаемо и важно, в первую очередь, для разработчиков игровых движков.
  • прямой доступ к камере, что улучшит качество фото приложений и сделает их более разнообразными.
  • широковещательные сообщения через Bluetooth, позволят создавать новый класс приложений для взаимодействия смартфона с другой электроникой.
  • новые возможности для оптимизации энергопотребления: сюда вошли как инструменты для анализа использования батареи, так и новый тип фоновых задач.


Часть улучшений Google добавила в Goolge Play Services, так что они будут не доступны для Yandex смартфонов и Fire Phone:

  • взаимодействие с Android wearables
  • индексация контента приложения в поиске Google
  • улучшилась поддержка Chromecast