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

Если вы пока не знакомы с парадигмой реактивного программирования, использование этой либы должно помочь вам разобраться в теме.

RxBinding на гитхабе
Очень короткая статья про дизайн мобильных форм. На 90% состоит из скриншотов, которые показывают, какие элементы UI использовать и как их лучше размещать.

Оригинал
Перевод
Google разрабатывают набор реактивных библиотек для создания Material Design анимаций.

Версия для iOS (Swift) уже находится в стадии stable dev preview, Библиотеки для Android и JavaScript пока еще в разработке, но их уже можно попробовать.
🆕 Вышел dagger-android – модуль для инъекции Activity и Fragment'ов

О том, как внедрить его в свой проект, можно почитать на официальной странице и в этой статье.

Примеры на гитхабе:
Java
Kotlin
🎁 Популярные эмодзи в векторе для макетов ваших приложений

https://applypixels.com/template/vector-emoji/
Отличная статья с Best Practices для Kotlin.
Есть спорные моменты, но в целом много полезной инфы и приёмов, о которых вы могли не знать.

https://blog.philipphauer.de/idiomatic-kotlin-best-practices/
Всех с началом новой недели!

Вот короткая и интересная заметка о важности свободного пространства в интерфейсах. И том, что делать с клиентами, которые хотят чем-то занять это пространство.

https://blog.prototypr.io/how-to-use-space-in-ui-design-15e169127236
🔑 Как совместить хороший UX и безопасность, когда вы просите пользователя придумать пароль:

1. Не заставляйте соблюдать правила наподобие "в пароле должен быть как минимум один специальный символ".
2. Задайте минимальную длину (в Unicode).
3. Убедитесь, что придуманный пароль не попадает в топ самых распространенных паролей.
4. Проверяйте энтропию.
5. Следите за особыми случаями – пароль не должен совпадать с логином или с названием сервиса.

https://blog.codinghorror.com/password-rules-are-bullshit/
Еще одна подборка Best Practices, на этот раз по Android-приложениям. Некоторые вещи довольно очевидны, а о некоторых я раньше не слышал (например, о проблеме матрешки, касающейся вложенных фрагментов). В любом случае, будет полезно почитать и подумать о том, всё ли вы делаете правильно 😉

Кстати, аналогичные подборки есть для iOS и Windows. Про их качество и полезность ничего сказать не могу, но надеюсь, кому-нибудь они пригодятся.
Как писать адаптеры для списков с разными типами элементов, не используя касты и instanceof/is, и соблюдая Open-Closed Principle.
Код в статье написан на Kotlin, но все описанное подойдет и для Java.

https://medium.com/@dpreussler/writing-better-adapters-1b09758407d2
Гайдлайны Material Design обновились – Google добавили инструмент для подбора палитры. Можно составить схему из цветов, которые есть в гайдлайнах, или использовать любой другой цвет. Обновление также коснулось текстовых полей и гайдлайнов по иконкам для Right-To-Left лейаутов.
Интересный гайд по анимированию элементов в Constraint Layout.

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

Всем хорошей рабочей недели!
📈 Небольшая вводная статья для разработчиков про аналитику в приложениях.

Что, как и где отслеживать, какие инструменты использовать и как не нарушить приватность пользователей.

https://medium.com/@sergii/the-key-concepts-of-app-tracking-for-developers-a11bebf1e65e
Если вы читали гайдлайны Material Design, то наверняка встречали раздел Launch screens, в котором идеть речь про экраны, которые пользователь видит во время загрузки приложения. Вот презентация для Android-разработчиков о том, как создавать такие экраны, отслеживать время их запуска и обеспечивать совместимость со всеми платформами.
📄 Лицензирование open-source приложений

Если вам, как и мне, эта тема кажется скучной и из-за этого вы откладываете её освоение, то теперь у вас нет отговорок – я собрал для все, что нужно. 😉

Начните с этой статьи.
Здесь почти без воды и доступным языком объясняется:
- для чего нужны лицензии
- какие они бывают
- как они влияют на то, что можно делать с кодом
- как их комбинировать
- как выбрать подходящую лицензию

Если очень уж лень читать, а лицензию выбрать надо, вам поможет сайт choosealicense.com. Исходя из того, что вам нужно, он предложит нужную лицензию, перечислит её особенности, а также приложит сам текст лицензии.

Еще я нашел пару полезных плагинов для Gradle:
- Gradle License Report собирает в одном месте информацию о лицензиях, которые используются в зависимостях проекта
- License Gradle Plugin пригодится, если вам нужно прикладывать текст лицензии к каждому файлу проекта (этого требует, к примеру, Apache License 2.0)

Проекты без лицензии никто не сможет использовать, а это противоречит самой идее open source. Так что разбирайтесь и лицензируйте. Это не сложно. ✌️
Почему спиннеры вредят UX и что лучше использовать вместо них

Главное:
- из-за спиннеров кажется, что загрузка происходит дольше, чем на самом деле
- пользователи не знают, что и когда появится в результате загрузки
- вместо спиннеров лучше использовать skeleton screens – экраны, приближенные к финальному состоянию

В статье больше доказательств того, что спиннеры вреднее, чем мы думаем, и примеров по улучшению пользовательского опыта во время загрузки контента.

Оригинал | Перевод
Прокачиваем адаптеры с помощью Data Binding – меньше бойлерплейта и больше гибкости.

https://medium.com/google-developers/android-data-binding-recyclerview-db7c40d9f0e4