📈 Небольшая вводная статья для разработчиков про аналитику в приложениях.
Что, как и где отслеживать, какие инструменты использовать и как не нарушить приватность пользователей.
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…
Шаблоны адаптивных иконок для нового Android O.
https://www.designernews.co/stories/81778-android-adaptive-icon-templates-for-photoshop-sketch-illustrator-affinity-designer
https://www.designernews.co/stories/81778-android-adaptive-icon-templates-for-photoshop-sketch-illustrator-affinity-designer
Designer News
Android adaptive icon templates for Photoshop, Sketch, Illustrator, Affinity Designer – Designer News
I’ve created some templates for the new Android O adaptive icons (https://developer.android.com/preview/features/adaptive-icons.html). Adaptive ico...
💎 Команда AirBnb релизнула библиотеку для создания макетов в формате Sketch с помощью React-компонентов.
Почитать: http://airbnb.design/painting-with-code/
Посмотреть: http://airbnb.io/react-sketchapp/docs/examples.html
Попробовать: https://github.com/airbnb/react-sketchapp
Почитать: 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
Главное правило – нужно использовать контекст компонента, с которым вы работаете (getContext() в Activity, getApplicationContext() в синглтонах). Не передавайте контекст туда, где его использование может выйти за пределы жизненного цикла родительского компонента.
https://blog.mindorks.com/understanding-context-in-android-application-330913e32514
Mindorks
Understanding Context In Android Application
What is Context?
O'Reilly раздаёт книги по разработке, и среди них есть небольшое (41 страница) руководство по применению RxJava в Android-разработке. Я просмотрел её и могу сказать, что хотел бы знать о ней раньше – там довольно кратко и ёмко рассматривается все, что нужно знать при знакомстве с этой библиотекой. С первого взгляда она кажется более понятной, чем все статьи, которые я видел в интернете (хотя не хватает диаграмм для наглядности). В общем, советую.
Все остальные бесплатные книги можно найти тут: oreilly.com/programming/free/
Все остальные бесплатные книги можно найти тут: oreilly.com/programming/free/
Oreilly
RxJava for Android App Development - O'Reilly Media
RxJava is hot property among experienced Android developers these days, but this powerful library for handling asynchronous data in Android apps can be difficult to learn. In this O’Reilly report, mobile software engineer Matt Dupree introduces you to RxJava…
Хэй-хэй, всех с началом новой недели!
Посмотрите классный доклад Джейка Уортона про управление состоянием приложения с помощью RxJava. Он рассказывает, почему работать и с данными, и с UI, в рамках одной подписки на Observable – это плохо, и как разбить логику изменения состояний на легко тестируемые модули.
https://www.youtube.com/watch?v=0IKHxjkgop4
Посмотрите классный доклад Джейка Уортона про управление состоянием приложения с помощью RxJava. Он рассказывает, почему работать и с данными, и с UI, в рамках одной подписки на Observable – это плохо, и как разбить логику изменения состояний на легко тестируемые модули.
https://www.youtube.com/watch?v=0IKHxjkgop4
YouTube
Managing State with RxJava by Jake Wharton
Please subscribe to our YouTube channel @ https://bit.ly/devoxx-youtube
Like us on Facebook @ https://www.facebook.com/devoxxcom
Follow us on Twitter @ https://twitter.com/devoxx
RxJava's use in building Android apps has grown rapidly! Combining and composing…
Like us on Facebook @ https://www.facebook.com/devoxxcom
Follow us on Twitter @ https://twitter.com/devoxx
RxJava's use in building Android apps has grown rapidly! Combining and composing…
Пара полезных статей об аннотациях в Android:
Здесь рассказывается, как применять уже существующие аннотации для улучшения читабельности кода и проверки разных условий во время code inspection. Например, с их помощью можно указать, что передаваемый в метод integer должен быть ссылкой на строковый ресурс, или что метод может вернуть null.
А здесь можно почитать, как создавать свои собственные аннотации.
Здесь рассказывается, как применять уже существующие аннотации для улучшения читабельности кода и проверки разных условий во время code inspection. Например, с их помощью можно указать, что передаваемый в метод integer должен быть ссылкой на строковый ресурс, или что метод может вернуть null.
А здесь можно почитать, как создавать свои собственные аннотации.
Mindorks
Improve Your Android Coding Through Annotations
Annotations are Metadata.
🛠 Git для дизайнеров (и не только)
Если вы хотите прокачать свой workflow, научиться использовать систему контроля версий (VSC) – отличная идея.
Если коротко, Git – это история всех внесенных изменений, бэкапы и коллективная работа над проектом в одном флаконе.
Влиться в тему поможет эта статья – здесь подробно рассказано, что такое Git и Github, и по шагам расписано, как создать репозиторий. А в конце есть список ресурсов для дальнейшего изучения.
Возможно, вы захотите положить под контроль большие файлы с макетами. Но тогда ваш репозиторий будет занимать все больше и больше места после каждого внесённого изменения. На помощь придет расширение Large File Storage. Здесь написано, как его установить и как им пользоваться.
Если вас пугает командная строка, обратите внимание на SourceTree или упоминаемый в статьях Tower – клиенты с графическим интерфейсом, которые сделают многие вещи проще и понятнее, особенно если у вас нет опыта работы с Git. К командной строке со временем можно и нужно привыкнуть – она помогает избавиться от многих лишних телодвижений, особенно когда нужно сделать шаг в сторону от выполнения рутинных задач.
С первого взгляда все это может показаться сложным, но усилия окупятся – работа над проектом с использованием VCS станет на порядок легче.
Если вы хотите прокачать свой workflow, научиться использовать систему контроля версий (VSC) – отличная идея.
Если коротко, Git – это история всех внесенных изменений, бэкапы и коллективная работа над проектом в одном флаконе.
Влиться в тему поможет эта статья – здесь подробно рассказано, что такое Git и Github, и по шагам расписано, как создать репозиторий. А в конце есть список ресурсов для дальнейшего изучения.
Возможно, вы захотите положить под контроль большие файлы с макетами. Но тогда ваш репозиторий будет занимать все больше и больше места после каждого внесённого изменения. На помощь придет расширение Large File Storage. Здесь написано, как его установить и как им пользоваться.
Если вас пугает командная строка, обратите внимание на SourceTree или упоминаемый в статьях Tower – клиенты с графическим интерфейсом, которые сделают многие вещи проще и понятнее, особенно если у вас нет опыта работы с Git. К командной строке со временем можно и нужно привыкнуть – она помогает избавиться от многих лишних телодвижений, особенно когда нужно сделать шаг в сторону от выполнения рутинных задач.
С первого взгляда все это может показаться сложным, но усилия окупятся – работа над проектом с использованием VCS станет на порядок легче.
Medium
Git for Designers
Or anyone who really wants to use it but has no idea how
Нас сильно прибавилось, уже больше 500 человек!
Спасибо, что вы здесь.
Давайте проведём небольшой опрос:
Результаты:
Проголосовавшие видны создателю опроса
Спасибо, что вы здесь.
Давайте проведём небольшой опрос:
Результаты:
Я разработчик: 114 ■■■■Я дизайнер: 73 ■■Я менеджер: 70 ■■Другое: 23 Проголосовавшие видны создателю опроса
5 классных UI-библиотек.
Даже если вы не собираетесь ими пользоваться, будет полезно посмотреть, как они устроены.
https://medium.cobeisfresh.com/top-5-android-libraries-may-2017-3988610b3ce6
Даже если вы не собираетесь ими пользоваться, будет полезно посмотреть, как они устроены.
https://medium.cobeisfresh.com/top-5-android-libraries-may-2017-3988610b3ce6
COBE
Top 5 Android Libraries — May 2017
The best Android libraries to try out this month.
Короткий гайд по open source для начинающих – буквально несколько абзацев про то, с чего начать, и каким должен быть хороший репозиторий.
https://hackernoon.com/how-to-get-started-with-open-source-2b705e726fea
https://hackernoon.com/how-to-get-started-with-open-source-2b705e726fea
Hacker Noon
How to Get Started with Open Source
This is the 6th post in my Junior Developer Diaries blog series. I’m writing more every week, and you can sign up to hear more and read…
Достаточно подробная статья про оптимизацию приложений под слабые устройства и медленное соединение.
Внутри много советов и библиотек, которые помогут:
- сделать размер приложения меньше
- увеличить плавность интерфейса
- загружать контент максимально быстро
- обеспечить хороший UX даже при отсутствии интернета
- заранее предугадывать, когда пользователю понадобится контент и подгружать его заранее
https://blog.aritraroy.in/how-to-make-android-apps-great-again-e670e6db6a8a
Внутри много советов и библиотек, которые помогут:
- сделать размер приложения меньше
- увеличить плавность интерфейса
- загружать контент максимально быстро
- обеспечить хороший UX даже при отсутствии интернета
- заранее предугадывать, когда пользователю понадобится контент и подгружать его заранее
https://blog.aritraroy.in/how-to-make-android-apps-great-again-e670e6db6a8a
Thought’s by Aritra Roy
Making Android Apps Great Again
We all work hard for weeks and months in making our apps and desperately want them to be popular and successful. We all want our apps to…
🖥 Подборка с подборками!
Много отобранных вручную материалов по Android-разработке – инструменты, книги, сайты, open source приложения, и даже шорткаты для Android Studio:
https://github.com/aritraroy/UltimateAndroidReference
Исчерпывающий список библиотек и других инструментов по категориям:
https://github.com/JStumpp/awesome-android
И немного ресурсов по Kotlin:
https://github.com/mcxiaoke/awesome-kotlin
В таких списках часто можно найти что-то крутое, о чем раньше не знал, поэтому будет полезно пробежаться глазами.
Много отобранных вручную материалов по Android-разработке – инструменты, книги, сайты, open source приложения, и даже шорткаты для Android Studio:
https://github.com/aritraroy/UltimateAndroidReference
Исчерпывающий список библиотек и других инструментов по категориям:
https://github.com/JStumpp/awesome-android
И немного ресурсов по Kotlin:
https://github.com/mcxiaoke/awesome-kotlin
В таких списках часто можно найти что-то крутое, о чем раньше не знал, поэтому будет полезно пробежаться глазами.
GitHub
GitHub - aritraroy/UltimateAndroidReference: :rocket: Ultimate Android Reference - Your Road to Become a Better Android Developer
:rocket: Ultimate Android Reference - Your Road to Become a Better Android Developer - aritraroy/UltimateAndroidReference
Если вы разработчик, и у вас есть идея запустить своё приложение, то можно поступить, как я пару лет назад – набраться мотивации работать, сделать приложение, а потом понять, что оно никому не нужно и вообще такое уже есть. Это очень плохой способ потратить время и силы.
Говорят, что если найти действительно серьезную проблему, досконально изучить свою аудиторию и её потребности, заморочиться с бизнес-моделью (вы же собираетесь зарабатывать на своём приложении, правда?) и суметь правильно преподнести продукт, то шансы на успех сильно повысятся. В этом докладе идет речь обо всех подобных вещах. Посмотрите. Благодаря ему вы не создадите успешный стартап за одну ночь, но оно даёт хорошее представление о том, с чем вам придется столкнуться (и нужно ли оно вам вообще).
Насчёт продуктового дизайна можно писать долго и подробно, так что я поделюсь только парой ресурсов, которые помогут подробнее разобраться в теме – это, к примеру, Школа Дизайна Яндекса 2015 и 2016, замечательная книга The Mom Test (о том, как правильно выстраивать интервью с будущими клиентами), Hooked: How To Build Habit-Forming Products (которую я в силу обстоятельств бросил на середине, но обязательно к ней вернусь, потому что она крутая), и канал @proproduct, в котором много полезного (не реклама, а просто личная рекомендация).
Я считал, что прежде, чем браться за дело, надо много прочитать и изучить. Кто-то говорит, что не стоит тратить на это время – надо брать и делать. Но истина где-то посередине. Много читайте, работайте ещё больше, и успех придет. Со стороны кажется, что приходит он внезапно и по воле случайности, но любой успех – это результат усилий, умноженных на потраченное время. Поэтому всем, кто хочет чего-то добиться, я желаю не только успеха, но также времени и сил для его достижения.
Говорят, что если найти действительно серьезную проблему, досконально изучить свою аудиторию и её потребности, заморочиться с бизнес-моделью (вы же собираетесь зарабатывать на своём приложении, правда?) и суметь правильно преподнести продукт, то шансы на успех сильно повысятся. В этом докладе идет речь обо всех подобных вещах. Посмотрите. Благодаря ему вы не создадите успешный стартап за одну ночь, но оно даёт хорошее представление о том, с чем вам придется столкнуться (и нужно ли оно вам вообще).
Насчёт продуктового дизайна можно писать долго и подробно, так что я поделюсь только парой ресурсов, которые помогут подробнее разобраться в теме – это, к примеру, Школа Дизайна Яндекса 2015 и 2016, замечательная книга The Mom Test (о том, как правильно выстраивать интервью с будущими клиентами), Hooked: How To Build Habit-Forming Products (которую я в силу обстоятельств бросил на середине, но обязательно к ней вернусь, потому что она крутая), и канал @proproduct, в котором много полезного (не реклама, а просто личная рекомендация).
Я считал, что прежде, чем браться за дело, надо много прочитать и изучить. Кто-то говорит, что не стоит тратить на это время – надо брать и делать. Но истина где-то посередине. Много читайте, работайте ещё больше, и успех придет. Со стороны кажется, что приходит он внезапно и по воле случайности, но любой успех – это результат усилий, умноженных на потраченное время. Поэтому всем, кто хочет чего-то добиться, я желаю не только успеха, но также времени и сил для его достижения.
YouTube
CodeFest 2012. Георгий Баркан. Как научиться делать продукт для пользователей?