Мобайл: дизайн и разработка – Telegram
Мобайл: дизайн и разработка
473 subscribers
8 photos
158 links
Android-разработчик и дизайнер делится своим опытом, полезными инструментами, выжимками статей и докладов.
Download Telegram
Прокачиваем адаптеры с помощью Data Binding – меньше бойлерплейта и больше гибкости.

https://medium.com/google-developers/android-data-binding-recyclerview-db7c40d9f0e4
🕹 Что нужно учесть, проектируя навигацию в приложении

Если вы решили добавить в приложение bottom navigation, важно не переусердсововать - вы можете усложнить навигацию вместо того, чтобы её упрощать.

- Используйте bottom navigation только для самых главных разделов (не больше 5)
- Давайте пользователю возможность понять, где он находится в каждый момент времени
- Используйте только распространенные иконки
- Если у иконок есть подписи, не делайте их слишком длинными

Статья в чем-то дублирует гайдлайны Material Design, но паттерн нижней навигации в ней рассмотрен немного подробнее, так что прочитайте её прежде, чем дизайнить.

https://www.smashingmagazine.com/2016/11/the-golden-rules-of-mobile-navigation-design/
💎 Команда AirBnb релизнула библиотеку для создания макетов в формате Sketch с помощью React-компонентов.

Почитать: http://airbnb.design/painting-with-code/
Посмотреть: http://airbnb.io/react-sketchapp/docs/examples.html
Попробовать: https://github.com/airbnb/react-sketchapp
Полезная заметка про то, что такое Context в Android и как его правильно использовать.

Главное правило – нужно использовать контекст компонента, с которым вы работаете (getContext() в Activity, getApplicationContext() в синглтонах). Не передавайте контекст туда, где его использование может выйти за пределы жизненного цикла родительского компонента.

https://blog.mindorks.com/understanding-context-in-android-application-330913e32514
O'Reilly раздаёт книги по разработке, и среди них есть небольшое (41 страница) руководство по применению RxJava в Android-разработке. Я просмотрел её и могу сказать, что хотел бы знать о ней раньше – там довольно кратко и ёмко рассматривается все, что нужно знать при знакомстве с этой библиотекой. С первого взгляда она кажется более понятной, чем все статьи, которые я видел в интернете (хотя не хватает диаграмм для наглядности). В общем, советую.

Все остальные бесплатные книги можно найти тут: oreilly.com/programming/free/
Хэй-хэй, всех с началом новой недели!

Посмотрите классный доклад Джейка Уортона про управление состоянием приложения с помощью RxJava. Он рассказывает, почему работать и с данными, и с UI, в рамках одной подписки на Observable – это плохо, и как разбить логику изменения состояний на легко тестируемые модули.

https://www.youtube.com/watch?v=0IKHxjkgop4
Пара полезных статей об аннотациях в Android:
Здесь рассказывается, как применять уже существующие аннотации для улучшения читабельности кода и проверки разных условий во время code inspection. Например, с их помощью можно указать, что передаваемый в метод integer должен быть ссылкой на строковый ресурс, или что метод может вернуть null.
А здесь можно почитать, как создавать свои собственные аннотации.
🛠 Git для дизайнеров (и не только)

Если вы хотите прокачать свой workflow, научиться использовать систему контроля версий (VSC) – отличная идея.
Если коротко, Git – это история всех внесенных изменений, бэкапы и коллективная работа над проектом в одном флаконе.

Влиться в тему поможет эта статья – здесь подробно рассказано, что такое Git и Github, и по шагам расписано, как создать репозиторий. А в конце есть список ресурсов для дальнейшего изучения.

Возможно, вы захотите положить под контроль большие файлы с макетами. Но тогда ваш репозиторий будет занимать все больше и больше места после каждого внесённого изменения. На помощь придет расширение Large File Storage. Здесь написано, как его установить и как им пользоваться.

Если вас пугает командная строка, обратите внимание на SourceTree или упоминаемый в статьях Tower – клиенты с графическим интерфейсом, которые сделают многие вещи проще и понятнее, особенно если у вас нет опыта работы с Git. К командной строке со временем можно и нужно привыкнуть – она помогает избавиться от многих лишних телодвижений, особенно когда нужно сделать шаг в сторону от выполнения рутинных задач.

С первого взгляда все это может показаться сложным, но усилия окупятся – работа над проектом с использованием VCS станет на порядок легче.
Нас сильно прибавилось, уже больше 500 человек!
Спасибо, что вы здесь.
Давайте проведём небольшой опрос:

Результаты:
Я разработчик: 114 ■■■■
Я дизайнер: 73 ■■
Я менеджер: 70 ■■
Другое: 23
Проголосовавшие видны создателю опроса
5 классных UI-библиотек.
Даже если вы не собираетесь ими пользоваться, будет полезно посмотреть, как они устроены.

https://medium.cobeisfresh.com/top-5-android-libraries-may-2017-3988610b3ce6
Короткий гайд по open source для начинающих – буквально несколько абзацев про то, с чего начать, и каким должен быть хороший репозиторий.

https://hackernoon.com/how-to-get-started-with-open-source-2b705e726fea
Достаточно подробная статья про оптимизацию приложений под слабые устройства и медленное соединение.

Внутри много советов и библиотек, которые помогут:
- сделать размер приложения меньше
- увеличить плавность интерфейса
- загружать контент максимально быстро
- обеспечить хороший UX даже при отсутствии интернета
- заранее предугадывать, когда пользователю понадобится контент и подгружать его заранее

https://blog.aritraroy.in/how-to-make-android-apps-great-again-e670e6db6a8a
🖥 Подборка с подборками!

Много отобранных вручную материалов по Android-разработке – инструменты, книги, сайты, open source приложения, и даже шорткаты для Android Studio:
https://github.com/aritraroy/UltimateAndroidReference

Исчерпывающий список библиотек и других инструментов по категориям:
https://github.com/JStumpp/awesome-android

И немного ресурсов по Kotlin:
https://github.com/mcxiaoke/awesome-kotlin

В таких списках часто можно найти что-то крутое, о чем раньше не знал, поэтому будет полезно пробежаться глазами.
Если вы разработчик, и у вас есть идея запустить своё приложение, то можно поступить, как я пару лет назад – набраться мотивации работать, сделать приложение, а потом понять, что оно никому не нужно и вообще такое уже есть. Это очень плохой способ потратить время и силы.
Говорят, что если найти действительно серьезную проблему, досконально изучить свою аудиторию и её потребности, заморочиться с бизнес-моделью (вы же собираетесь зарабатывать на своём приложении, правда?) и суметь правильно преподнести продукт, то шансы на успех сильно повысятся. В этом докладе идет речь обо всех подобных вещах. Посмотрите. Благодаря ему вы не создадите успешный стартап за одну ночь, но оно даёт хорошее представление о том, с чем вам придется столкнуться (и нужно ли оно вам вообще).

Насчёт продуктового дизайна можно писать долго и подробно, так что я поделюсь только парой ресурсов, которые помогут подробнее разобраться в теме – это, к примеру, Школа Дизайна Яндекса 2015 и 2016, замечательная книга The Mom Test (о том, как правильно выстраивать интервью с будущими клиентами), Hooked: How To Build Habit-Forming Products (которую я в силу обстоятельств бросил на середине, но обязательно к ней вернусь, потому что она крутая), и канал @proproduct, в котором много полезного (не реклама, а просто личная рекомендация).

Я считал, что прежде, чем браться за дело, надо много прочитать и изучить. Кто-то говорит, что не стоит тратить на это время – надо брать и делать. Но истина где-то посередине. Много читайте, работайте ещё больше, и успех придет. Со стороны кажется, что приходит он внезапно и по воле случайности, но любой успех – это результат усилий, умноженных на потраченное время. Поэтому всем, кто хочет чего-то добиться, я желаю не только успеха, но также времени и сил для его достижения.
Сегодня в 20:00 начнётся Google I/O 2017, на которой официально представят Android O, вторую версию Google Home и новый VR-шлем с мощной начинкой.
Ждёте?
Google Assistant стал лучше – теперь он распознает изображения, понимает не только голос, но и ввод с клавиатуры, знает больше языков и работает на iPhone. Появилась поддержка проведения транзакций – с помощью голоса можно заказать, например, еду. Вводить адрес или данные карты не нужно – сервис сам подтянет нужные данные из Google аккаунта.
В Google Home добавили функцию бесплатных звонков. А еще он может выводить ответы на экран смартфона или телевизора.
Рассказывают про Google Photos – теперь Google может решить за вас, какими фотографиями делиться и с кем именно. Например, отправить другу фотографии, на которых он есть. Есть возможность даже отправить СМС тем, кто не пользуется сервисом.
Добавили умные общие коллекции. Можно делиться не всем подряд, а, например, фотографиями детей или фотографиями с привязкой к определенной дате. Заманить на сцену настоящих детей не смогли – фичу демонстрируют с помощью фотографий в полный рост.
Photo Books – фотоальбомы из того, что выкладываете в Google Photos. Генерируются автоматически и стоят $10 за книгу с мягкой обложкой и $20 – с твёрдой.
Google Lens – распознавание фотографий – работает не только напрямую через камеру, но и с готовыми фотографиями.