СоХабр закрыт.

С 13.05.2019 изменения постов больше не отслеживаются, и новые посты не сохраняются.

Android L. Личный опыт. Material Design и разработка. Радости и разочорования в черновиках


Предистория. Как только прошумела презентация грядущей версии Android под кодовым названием Android L, я ринулся просматривать материалы. Google добавил замечательные гайдлайны, наиболее полно описывающие то, как пользователь должен взаимодействовать с интерфейсом. Это была работа совершенно другого уровня, по сравнению с прошлыми потугами Google описать свою философию дизайна. По качеству описания, это уже было что-то сравнимое с Apple. Так же была выпущенна публичная бета версия Android L, чего так же ранее не случалось. Бетой, до ныне, был сам релиз, который доходил до пользователей, в лучшем случае, через несколько месяцев спустя выпуска в продакшн версии ОС.
Анонс мне откровенно понравился, я решительно настроился познакомиться с данным творением поближе. Подводные камни, радости и неудачи, возникшие при знакомстве с надвигающейся 15 октября реинкарнацией Android, под катом.
Краткая ретроспектива. Андроид, пережил до этого, минимум 5 значительных «мутаций».

Каждая новая была несомненно лучше. Венцом этого стал новый дизайн.

Материалы, которые можно было бы назвать гайдлайнами, появились где-то во времена 4.0 и кардинально с тех пор не изменялись. Android L проповедует концепцию Material Design. Это действительно попытка стандартизировать все взаимодействия в различных приложениях, навязать единые подходы к построению интерфейса. Очень симпатична Floating Action Button, достаточно часто упоминавшаяся до этого на хабре.

В кратце, это концепция одного главного действия на конкретном экране. Что дает пользователю следовать стандартному флоу приложения, без каких либо усилий. На действии по умолчанию делается особый акцент. Например, почтовый клиент предлагает создать письмо. Кнопка эта, может «путешествовать» по различным экранам. Но ее внешний вид помогает отыскать мгновенно.
Очень подробно были описаны анимации для каждого из действий. Я большой любителей всевозможных «плавностей» анимаций iOS8. Google сумел предложить то, что выглядит свежо.
Живое знакомство. Вдоль насладившись пропагандойдокументацией, я покорно решил поставить бету Android L. Под раздачу попал мой Nexus 7. Заранее скажу, что процесс выпуска бета версий у гугла никакойзакрытый, и ничего похожего с регулярными бетами iOS и близко небыло. В итоге, откровенно сыроватая прошивка, заработала на моем планшете. Из встроенных приложений material design был только в калькуляторе. Такая вот дисгармония с тем что было в блестящих гайдлайнах…
Мы так просто не сдаемся, подумал я. Я все же хотел проверить так ли хорош Android L как описан был в документации. И решил написать небольшое приложение для новой системы. Придумал сделать простенькую запоминалку парковки, коих в google play огромное количество, и это своего рода hello world для андроид приложений, однако дизайном они все застряли в каменном веке2011 или раньше. В любом случае, работа закипела и родилось парочку скринов. Старался все делать как рекомендовали, были там и floating action и метрики с keylines. Получилось вот так:

Имплементация. Дальше, я решил попробовать, все таки воплотить дизайн в код. И тут, меня ждало еще больше печали… На момент пары недель после презентации Google I/O и представленного Material Desgin, пока что нигде не было документации о том, как пользоваться новыми анимациями, появившимися в Android L, которые входили в новый SDK. К примеру анимация “reveal effect”.

Даже на момент написания статьи в разделе анимаций достаточно скудное описание с небольшим сниппетом кода. Пришлось ходить на гитхаб и выискивать все необходимые анимашки, тени и прочие радости, которыми якобы одарил гугл разработчиков. В целом, на этом сложности и необычности проекта закончились.
Закончив девелопмент, я решил поделиться творением многих ночей ковыряний git для имлементации стандартных действий из документации. И тут я сообразил что это бета, и никаких бекпортов API нет вообще, и будут они аж когда-то после релиза Android L… Снова закипела работа, теперь по выключению всех новшеств анимаций переходов и т.п. К слову сказать, даже обезображеннаяадаптированная версия выглядела довольно свежо на мой взгляд. Без всяких теней, анимаций и прочего.
Итог Изначально я думал написать пост о том как здорово все теперь будет в мире Android. Однако тут все как обычно у Google. Хорошие в целом начинания, часто заканчиваются полумерами. Я так и не понял, что вендор хотел сказать этой бетой. Никаких объяснений, хороших примеров. За пару недель до релиза стали появляться оф. статьи и немного постов энтузиастов.
Как должно было быть Я понимаю, если бы эта бета, была выпущенна для разработчиков, что бы с релизом, огромной кол-во приложений засияло новыми красками. А так, ни внятных документаций, ни бекпортов API до релиза, ни регулярных обновлений самой беты небыло. С точки зрения поддержки разработчиков Google еще необходимо поучиться у Apple. Они не дали времени разработчикам подготовиться и наглядно показать все новинки. Несколько писателей и программистов сделали бы очень много для экосистемы гугл. А так… Полноценно Material Design засияет только в 2015 году. Ждем!
Статья получилась не полная во второй части хочу добавить примеры кода. Так как документация явно не покрывает всего.
Линки:
Material Design
Мое семплове приложение по парковке, обозвал нехитро, Pinpark. , к второй части выложу исходники, но уже с анимациями и для Android L. Есть мысли как-то поиграться еще с iBeacons, но это уже будет отдельная статья.

комментарии (15)

+11
+12 –1
Goodkat ,  
Ещё бы они жёсткую премодерацию на соответствие приложений гайдлайнам в Маркете ввели, хотя бы опциональную, но c последующим фичерингом прошедших модерацию приложений и повышением их позиций в поисковой выдаче, чтобы хоть как-то стимулировать разработчиков.
0
+1 –1
Rirus ,  
Уже сейчас google при фичиринге присылает список несоответствий Android L.
Возможно, с официальным релизом они начнут строже отбирать приложения.
+1
+3 –2
sneer ,  
Поддерживаю, смотришь порой соверешнно ущербное приложение откровенно ниже в выдаче.
+1
+4 –3
alcyone ,  
Что?
+2
sneer ,  
выше хотел сказать, простите
+2
sneer ,   * (был изменён)
Пусть у них более открытая модель, я это одобряю, но стимулировать новые приложения нужно, пусть не featured, но хотя бы каким-то бонусом от редакции. Например +2 в выдаче, до топ3.
+3
CAJAX ,  
Я так и не понял, что вендор хотел сказать этой бетой

А ничего не хотел. Это не бета, а превью.

Get an early look at the next release and get your apps ready when the platform officially launches.
+3
sneer ,   * (был изменён)
не получается их сделать реди, нет бекпортов, нет документации, нет даже приложений в этом превью, только калькулятор.
0
zagayevskiy ,  
Я только из вашей статьи узнал, что калькулятор в стиле Material Design сделан. Зашел посмотреть, потыкать… Потапал, полонгтапал, и в какой-то момент Nexus 7 подвис, а спустя секунд 5 начал перезагружаться о_О. Это как вообще?? С чего вдруг такое могло произойти?
+1
damat ,   * (был изменён)
Досадно, что так. С большой надеждой смотрел на новые гайдлайны, очень надеялся, что добавится смысла в переходах между окнами и закончатся бесконечные и бессмысленные попапы из центра окна. Но, судя по всему, пока только придумали, а сделать слегка забыли.

Большое спасибо за статью. Очень порадовал дайджест дизайнов, не видел такой четкой подборки.
0
sneer ,   * (был изменён)
Ну посмотрим, пока что кроме этого превью ничего нет. Возможность есть, проблема в том что не дают подготовиться как следует. Вот это огорчает. Запустят класный красивый андроид, в итоге человек будет ставить приложения которые не смотрятся совсем. Мой прогноз хорошие material design приложения будут через год в топе…
+2
+3 –1
raid ,  
А зачем Google заботиться о разработчиках? Их и так очень много, если кому-то что-то не нравится, его никто не держит, есть миллионы других.
+1
sneer ,  
для того что бы продвигать свою платформу, качественными, новыми приложениями
0
+1 –1
Gordon01 ,  
Можно, но зачем? Пипл и так хавает.
0
EasyX ,  
Новый Андроид радует глаз, спору нет. Если бы на нем так не вис Dialer еще, сил нет…