Очень короткая статья про дизайн мобильных форм. На 90% состоит из скриншотов, которые показывают, какие элементы UI использовать и как их лучше размещать.
Оригинал
Перевод
Оригинал
Перевод
UX Planet
Building Great Mobile Forms
How to help users be successful with the forms you are designing
Уменьшаем использование сети с помощью OkHttp3 и механизма If-Modified-Since.
https://android.jlelse.eu/reducing-your-networking-footprint-with-okhttp-etags-and-if-modified-since-b598b8dd81a1
https://android.jlelse.eu/reducing-your-networking-footprint-with-okhttp-etags-and-if-modified-since-b598b8dd81a1
AndroidPub
Reducing your networking footprint with OkHttp, Etags and If-Modified-Since
You have many options to reduce networking usage of your Android app. Low-hanging fruit is the use of If-Modified-Since or Etags headers…
Google разрабатывают набор реактивных библиотек для создания Material Design анимаций.
Версия для iOS (Swift) уже находится в стадии stable dev preview, Библиотеки для Android и JavaScript пока еще в разработке, но их уже можно попробовать.
Версия для iOS (Swift) уже находится в стадии stable dev preview, Библиотеки для Android и JavaScript пока еще в разработке, но их уже можно попробовать.
GitHub
Material Motion
Providing tools to describe and implement rich interactive motion. - Material Motion
🛠 Библиотека для валидации форм с помощью Data Binding.
https://github.com/Ilhasoft/data-binding-validator
https://github.com/Ilhasoft/data-binding-validator
GitHub
GitHub - Ilhasoft/data-binding-validator: Android fields validation library based on data binding adapters.
Android fields validation library based on data binding adapters. - GitHub - Ilhasoft/data-binding-validator: Android fields validation library based on data binding adapters.
🆕 Вышел dagger-android – модуль для инъекции Activity и Fragment'ов
О том, как внедрить его в свой проект, можно почитать на официальной странице и в этой статье.
Примеры на гитхабе:
Java
Kotlin
О том, как внедрить его в свой проект, можно почитать на официальной странице и в этой статье.
Примеры на гитхабе:
Java
Kotlin
Medium
Android and Dagger 2.10 AndroidInjector
Dagger 2.10 introduced dagger-android, a new module specifically for Android that aims to conform more closely to DI concept
🎁 Популярные эмодзи в векторе для макетов ваших приложений
https://applypixels.com/template/vector-emoji/
https://applypixels.com/template/vector-emoji/
Отличная статья с Best Practices для Kotlin.
Есть спорные моменты, но в целом много полезной инфы и приёмов, о которых вы могли не знать.
https://blog.philipphauer.de/idiomatic-kotlin-best-practices/
Есть спорные моменты, но в целом много полезной инфы и приёмов, о которых вы могли не знать.
https://blog.philipphauer.de/idiomatic-kotlin-best-practices/
Philipp Hauer's Blog
Idiomatic Kotlin. Best Practices.
This post shows how we can replace Java's best practices with idiomatic Kotlin code.
Всех с началом новой недели!
Вот короткая и интересная заметка о важности свободного пространства в интерфейсах. И том, что делать с клиентами, которые хотят чем-то занять это пространство.
https://blog.prototypr.io/how-to-use-space-in-ui-design-15e169127236
Вот короткая и интересная заметка о важности свободного пространства в интерфейсах. И том, что делать с клиентами, которые хотят чем-то занять это пространство.
https://blog.prototypr.io/how-to-use-space-in-ui-design-15e169127236
Prototyping: From UX to Front End
How to use space in UI Design
Definition with practical examples
🔑 Как совместить хороший UX и безопасность, когда вы просите пользователя придумать пароль:
1. Не заставляйте соблюдать правила наподобие "в пароле должен быть как минимум один специальный символ".
2. Задайте минимальную длину (в Unicode).
3. Убедитесь, что придуманный пароль не попадает в топ самых распространенных паролей.
4. Проверяйте энтропию.
5. Следите за особыми случаями – пароль не должен совпадать с логином или с названием сервиса.
https://blog.codinghorror.com/password-rules-are-bullshit/
1. Не заставляйте соблюдать правила наподобие "в пароле должен быть как минимум один специальный символ".
2. Задайте минимальную длину (в Unicode).
3. Убедитесь, что придуманный пароль не попадает в топ самых распространенных паролей.
4. Проверяйте энтропию.
5. Следите за особыми случаями – пароль не должен совпадать с логином или с названием сервиса.
https://blog.codinghorror.com/password-rules-are-bullshit/
Еще одна подборка Best Practices, на этот раз по Android-приложениям. Некоторые вещи довольно очевидны, а о некоторых я раньше не слышал (например, о проблеме матрешки, касающейся вложенных фрагментов). В любом случае, будет полезно почитать и подумать о том, всё ли вы делаете правильно 😉
Кстати, аналогичные подборки есть для iOS и Windows. Про их качество и полезность ничего сказать не могу, но надеюсь, кому-нибудь они пригодятся.
Кстати, аналогичные подборки есть для iOS и Windows. Про их качество и полезность ничего сказать не могу, но надеюсь, кому-нибудь они пригодятся.
GitHub
GitHub - futurice/android-best-practices: Do's and Don'ts for Android development, by Futurice developers
Do's and Don'ts for Android development, by Futurice developers - futurice/android-best-practices
Как писать адаптеры для списков с разными типами элементов, не используя касты и instanceof/is, и соблюдая Open-Closed Principle.
Код в статье написан на Kotlin, но все описанное подойдет и для Java.
https://medium.com/@dpreussler/writing-better-adapters-1b09758407d2
Код в статье написан на Kotlin, но все описанное подойдет и для Java.
https://medium.com/@dpreussler/writing-better-adapters-1b09758407d2
Medium
Writing Better Adapters
Implementing adapters is one of the most frequent tasks for an Android developer. It’s the base for every list. Looking at apps, lists are…
Гайдлайны Material Design обновились – Google добавили инструмент для подбора палитры. Можно составить схему из цветов, которые есть в гайдлайнах, или использовать любой другой цвет. Обновление также коснулось текстовых полей и гайдлайнов по иконкам для Right-To-Left лейаутов.
Material Design
Build beautiful, usable products faster. Material Design is an adaptable system—backed by open-source code—that helps teams build high quality digital experiences.
Интересный гайд по анимированию элементов в Constraint Layout.
У автора есть статьи про основы работы с этим контейнером и про различные особенности, но стиль их написания оставляет желать лучшего, поэтому рекомендую читать документацию.
Всем хорошей рабочей недели!
У автора есть статьи про основы работы с этим контейнером и про различные особенности, но стиль их написания оставляет желать лучшего, поэтому рекомендую читать документацию.
Всем хорошей рабочей недели!
U Want To Learn
Constraint Layout [Animations | Dynamic Constraints | UI by Java] ( What the hell is this )[Part3] - U Want To Learn
WOW, we got one more day so its time to make this day awesome by learning something new ? . Hello guys, hope every body is doing good. We already learned a lot of new things about Constraint Layout in part1 and part2.... Read moreConstraint Layout [Animations…
📈 Небольшая вводная статья для разработчиков про аналитику в приложениях.
Что, как и где отслеживать, какие инструменты использовать и как не нарушить приватность пользователей.
https://medium.com/@sergii/the-key-concepts-of-app-tracking-for-developers-a11bebf1e65e
Что, как и где отслеживать, какие инструменты использовать и как не нарушить приватность пользователей.
https://medium.com/@sergii/the-key-concepts-of-app-tracking-for-developers-a11bebf1e65e
Medium
The key concepts of app tracking for developers
If you have a mobile application or are going to develop one, it is important to remember about one thing on the side — mobile analytics…
🛠 Traceur – библиотека для логирования ошибок в асинхронных запросах при использовании RxJava 2
https://github.com/T-Spoon/Traceur
https://github.com/T-Spoon/Traceur
GitHub
GitHub - T-Spoon/Traceur: Easier RxJava2 debugging with better stacktraces
Easier RxJava2 debugging with better stacktraces. Contribute to T-Spoon/Traceur development by creating an account on GitHub.
Если вы читали гайдлайны Material Design, то наверняка встречали раздел Launch screens, в котором идеть речь про экраны, которые пользователь видит во время загрузки приложения. Вот презентация для Android-разработчиков о том, как создавать такие экраны, отслеживать время их запуска и обеспечивать совместимость со всеми платформами.
Material Design
Build beautiful, usable products faster. Material Design is an adaptable system—backed by open-source code—that helps teams build high quality digital experiences.
📄 Лицензирование open-source приложений
Если вам, как и мне, эта тема кажется скучной и из-за этого вы откладываете её освоение, то теперь у вас нет отговорок – я собрал для все, что нужно. 😉
Начните с этой статьи.
Здесь почти без воды и доступным языком объясняется:
- для чего нужны лицензии
- какие они бывают
- как они влияют на то, что можно делать с кодом
- как их комбинировать
- как выбрать подходящую лицензию
Если очень уж лень читать, а лицензию выбрать надо, вам поможет сайт choosealicense.com. Исходя из того, что вам нужно, он предложит нужную лицензию, перечислит её особенности, а также приложит сам текст лицензии.
Еще я нашел пару полезных плагинов для Gradle:
- Gradle License Report собирает в одном месте информацию о лицензиях, которые используются в зависимостях проекта
- License Gradle Plugin пригодится, если вам нужно прикладывать текст лицензии к каждому файлу проекта (этого требует, к примеру, Apache License 2.0)
Проекты без лицензии никто не сможет использовать, а это противоречит самой идее open source. Так что разбирайтесь и лицензируйте. Это не сложно. ✌️
Если вам, как и мне, эта тема кажется скучной и из-за этого вы откладываете её освоение, то теперь у вас нет отговорок – я собрал для все, что нужно. 😉
Начните с этой статьи.
Здесь почти без воды и доступным языком объясняется:
- для чего нужны лицензии
- какие они бывают
- как они влияют на то, что можно делать с кодом
- как их комбинировать
- как выбрать подходящую лицензию
Если очень уж лень читать, а лицензию выбрать надо, вам поможет сайт choosealicense.com. Исходя из того, что вам нужно, он предложит нужную лицензию, перечислит её особенности, а также приложит сам текст лицензии.
Еще я нашел пару полезных плагинов для Gradle:
- Gradle License Report собирает в одном месте информацию о лицензиях, которые используются в зависимостях проекта
- License Gradle Plugin пригодится, если вам нужно прикладывать текст лицензии к каждому файлу проекта (этого требует, к примеру, Apache License 2.0)
Проекты без лицензии никто не сможет использовать, а это противоречит самой идее open source. Так что разбирайтесь и лицензируйте. Это не сложно. ✌️
Toptal Engineering Blog
Developer’s Guide to Open Source Licenses | Toptal®
A comprehensive guide to open-source licenses
⏱ Почему спиннеры вредят UX и что лучше использовать вместо них
Главное:
- из-за спиннеров кажется, что загрузка происходит дольше, чем на самом деле
- пользователи не знают, что и когда появится в результате загрузки
- вместо спиннеров лучше использовать skeleton screens – экраны, приближенные к финальному состоянию
В статье больше доказательств того, что спиннеры вреднее, чем мы думаем, и примеров по улучшению пользовательского опыта во время загрузки контента.
Оригинал | Перевод
Главное:
- из-за спиннеров кажется, что загрузка происходит дольше, чем на самом деле
- пользователи не знают, что и когда появится в результате загрузки
- вместо спиннеров лучше использовать skeleton screens – экраны, приближенные к финальному состоянию
В статье больше доказательств того, что спиннеры вреднее, чем мы думаем, и примеров по улучшению пользовательского опыта во время загрузки контента.
Оригинал | Перевод
Suleiman's Blog
Stop Using A Loading Spinner, There’s Something Better
Stop using those boring loading spinners in your user interfaces. Seriously. It's killing your apps' experience more than you know. A loading spinner
Разбор популярных ошибок при работе с Realm.
https://medium.com/@Zhuinden/how-to-use-realm-for-android-like-a-champ-and-how-to-tell-if-youre-doing-it-wrong-ac4f66b7f149
https://medium.com/@Zhuinden/how-to-use-realm-for-android-like-a-champ-and-how-to-tell-if-youre-doing-it-wrong-ac4f66b7f149
Medium
How to use Realm for Android like a champ, and how to tell if you’re doing it wrong
I’ve been using Realm for a long time (since v0.81.1), and I should note that I’m not affiliated with Realm. But since then, I’ve been…
Прокачиваем адаптеры с помощью Data Binding – меньше бойлерплейта и больше гибкости.
https://medium.com/google-developers/android-data-binding-recyclerview-db7c40d9f0e4
https://medium.com/google-developers/android-data-binding-recyclerview-db7c40d9f0e4
Medium
Android Data Binding: RecyclerView
Reduce, Reuse, Rebind
🕹 Что нужно учесть, проектируя навигацию в приложении
Если вы решили добавить в приложение bottom navigation, важно не переусердсововать - вы можете усложнить навигацию вместо того, чтобы её упрощать.
- Используйте bottom navigation только для самых главных разделов (не больше 5)
- Давайте пользователю возможность понять, где он находится в каждый момент времени
- Используйте только распространенные иконки
- Если у иконок есть подписи, не делайте их слишком длинными
Статья в чем-то дублирует гайдлайны Material Design, но паттерн нижней навигации в ней рассмотрен немного подробнее, так что прочитайте её прежде, чем дизайнить.
https://www.smashingmagazine.com/2016/11/the-golden-rules-of-mobile-navigation-design/
Если вы решили добавить в приложение bottom navigation, важно не переусердсововать - вы можете усложнить навигацию вместо того, чтобы её упрощать.
- Используйте bottom navigation только для самых главных разделов (не больше 5)
- Давайте пользователю возможность понять, где он находится в каждый момент времени
- Используйте только распространенные иконки
- Если у иконок есть подписи, не делайте их слишком длинными
Статья в чем-то дублирует гайдлайны Material Design, но паттерн нижней навигации в ней рассмотрен немного подробнее, так что прочитайте её прежде, чем дизайнить.
https://www.smashingmagazine.com/2016/11/the-golden-rules-of-mobile-navigation-design/
Smashing Magazine
The Golden Rules Of Bottom Navigation Design — Smashing Magazine
Navigation is generally the vehicle that takes users where they want to go. When you examine the most successful interaction navigation designs of recent years, the clear winners are those who execute fundamentals flawlessly. While thinking outside the box…