#MobilePeopleTalks
Привет всем с Mobius!!!
В Mobile People Podcast планируем сделать эпизод о том, что есть качественное приложение.
Прошу вас записать голосовое сообщение со свои мнением, о том что есть качественное приложение, и отправить его в @android_broadcast_discussions или мне в личку @krlrozov
Привет всем с Mobius!!!
В Mobile People Podcast планируем сделать эпизод о том, что есть качественное приложение.
Прошу вас записать голосовое сообщение со свои мнением, о том что есть качественное приложение, и отправить его в @android_broadcast_discussions или мне в личку @krlrozov
Пообщался с Андреем Бреславом. Услышал о:
👉 Kotlin в Flutter
👉 Jetpack Compose
👉 Поддержке ReactNative
👉 Применение Kotlin/Multiplatform при разработке мобильных приложений
Очень надеюсь, что сможем с ним договориться о выступление с докладом в Минске в следующем году 🤞
👉 Kotlin в Flutter
👉 Jetpack Compose
👉 Поддержке ReactNative
👉 Применение Kotlin/Multiplatform при разработке мобильных приложений
Очень надеюсь, что сможем с ним договориться о выступление с докладом в Минске в следующем году 🤞
Хочу узнать распределение аудитории по странам. Из какой страны вы?
Anonymous Poll
51%
Беларусь 🇧🇾
30%
Россия 🇷🇺
13%
Украина 🇺🇦
4%
Другая страна
2%
Запретить достук к геолокации 😀
#Kotlin #Contest
Kotlin Heroes Coding Contest
Хотите проверить свои навыки Kotlin программиста? JetBrains организовали соревнование по Kotlin, в рамках которого вам надо будет выполнить серию заданий.
Соревнование состоится 28 мая 2019 14:35 - 17:05 UTC
Сейчас можно пройти тренировку и посмотреть что вас ожидает
Kotlin Heroes Coding Contest
Хотите проверить свои навыки Kotlin программиста? JetBrains организовали соревнование по Kotlin, в рамках которого вам надо будет выполнить серию заданий.
Соревнование состоится 28 мая 2019 14:35 - 17:05 UTC
Сейчас можно пройти тренировку и посмотреть что вас ожидает
#Coroutines #CoroutinesOnAndroid
Coroutines On Android (part III): Real work
Продолжение серии статей об использование Kotlin Coroutines в Android. В этой части разбираются вопросы реального использования на примере задачи отображения отсортированного списка данных из БД с использование Room.
Coroutines On Android (part III): Real work
Продолжение серии статей об использование Kotlin Coroutines в Android. В этой части разбираются вопросы реального использования на примере задачи отображения отсортированного списка данных из БД с использование Room.
Классный стенд у GDG СПб на Mobius! Тут куча мини докладов, розыгрыш призов, а ещё я насыпал наклеек от канала.
#AndroidQ #GestureNavigation
Gesture Navigation – Edge Cases
В AndroidQ была представлена стандартные жесты для навигация (аля iOS). В статье обозревается новое API View.setSystemGestureExclusionRects(List<Rect>), которое позволяет сообщать системе в каком регионе View, нельзя распознавать жесты как системные.
Gesture Navigation – Edge Cases
В AndroidQ была представлена стандартные жесты для навигация (аля iOS). В статье обозревается новое API View.setSystemGestureExclusionRects(List<Rect>), которое позволяет сообщать системе в каком регионе View, нельзя распознавать жесты как системные.
#DependencyInjection #Kotlin
Koin 2.0 Release
Состоялся релиз Koin 2.0 - просто и чистого решения на Kotlin для dependency injection.
Лично для меня Koin - прекрасный выбор, так как он решает самые распространенные задачи DI в Android и еще больше наслаждаться Kotlin в проекте. Для Java также есть поддержка.
В новой версии произошли следующие изменения:
🎉Значительно улучшена скорость работы, что решило ее проблемы на слабых устройствах
🎉Новый DSL для инициализации
Поддержка многомодульных проектов
🎉Доступна загрузка/выгрузки модулей после инициализации
🎉 Объявление зависимостей на лету
Изменения, которые сломают вам простое обновление версии:
❌ Вложенные модули для описания зависимостей больше не поддерживаются
❌ Изменено описание scope
❌ Изменено описание именованных зависимостей
Koin 2.0 Release
Состоялся релиз Koin 2.0 - просто и чистого решения на Kotlin для dependency injection.
Лично для меня Koin - прекрасный выбор, так как он решает самые распространенные задачи DI в Android и еще больше наслаждаться Kotlin в проекте. Для Java также есть поддержка.
В новой версии произошли следующие изменения:
🎉Значительно улучшена скорость работы, что решило ее проблемы на слабых устройствах
🎉Новый DSL для инициализации
Поддержка многомодульных проектов
🎉Доступна загрузка/выгрузки модулей после инициализации
🎉 Объявление зависимостей на лету
Изменения, которые сломают вам простое обновление версии:
❌ Вложенные модули для описания зависимостей больше не поддерживаются
❌ Изменено описание scope
❌ Изменено описание именованных зависимостей
#MobilePeopleTalks #Podcast
Mobile People Talks #5 - Android Q по следам Google I/O 19
Записали новый выпуск подкаста (технический). Мы немного обсудили прошедший Google IO (Саша Денисов рассказал нам о своих впечатлениях от палящего солнца), Pixel 3a, но основная часть подкаста была посвящена рассказе об Android Q от Кирилла Розова.
Mobile People Talks #5 - Android Q по следам Google I/O 19
Записали новый выпуск подкаста (технический). Мы немного обсудили прошедший Google IO (Саша Денисов рассказал нам о своих впечатлениях от палящего солнца), Pixel 3a, но основная часть подкаста была посвящена рассказе об Android Q от Кирилла Розова.
SoundCloud
Mobile People Talks
Mobile People Talks — подкаст про мобильную разработку. И все остальное.
Так что если вы не мобильный разработчик, не спешите закрывать страничку – разные выпуски имеют разные уровни погружения и буду
Так что если вы не мобильный разработчик, не спешите закрывать страничку – разные выпуски имеют разные уровни погружения и буду
Android Broadcast
#Course Android Architecture Masterclass video course Курс по архитектуре Android приложений, написанию чистого кода и разработке поддерживаемых приложений. Курс стоит $12. Курс состоит из следующих частей: 1️⃣ MVx архитектурные паттерны 2️⃣ MVx в Android…
Я давно обещал вам сделать обзор на этот курс. Досмотрел, но не дошел написать, извините 😢
Курс подойдет вам если вы только начинаете разбираться с архитектурой. Я для себя (опыт 7+ лет промышленной Android разработки) не нашел для себя ничего нового😔.
В рамках курса не раскрылись популярные решения и не хватало практики, хотя бы опросников по каждой из тем. Даже Junior разработчикам я объяснял бы архитектуру немного глубже по некоторым направлениям.
Моя оценка - 4/10 👎
Курс подойдет вам если вы только начинаете разбираться с архитектурой. Я для себя (опыт 7+ лет промышленной Android разработки) не нашел для себя ничего нового😔.
В рамках курса не раскрылись популярные решения и не хватало практики, хотя бы опросников по каждой из тем. Даже Junior разработчикам я объяснял бы архитектуру немного глубже по некоторым направлениям.
Моя оценка - 4/10 👎
#Dagger #ViewModel
Android. Less Dagger boilerplate code for ViewModel creation
Те кто писал Factory для ViewModel, у которой есть зависимости из графа и соединить весь Inject с Dagger 2, эти люди знают насколько там много boilerplate кода и как этот процесс неприятен.
Для тех кто не знает - посмотрите статью выше и поймите. В ней вы найдете рецепт как соединить Dagger и создание . ViewModel.
Cпойлер: сейчас в EPAM мы работает над библиотекой, которая будет генерировать весь этот код за вас
Android. Less Dagger boilerplate code for ViewModel creation
Те кто писал Factory для ViewModel, у которой есть зависимости из графа и соединить весь Inject с Dagger 2, эти люди знают насколько там много boilerplate кода и как этот процесс неприятен.
Для тех кто не знает - посмотрите статью выше и поймите. В ней вы найдете рецепт как соединить Dagger и создание . ViewModel.
Cпойлер: сейчас в EPAM мы работает над библиотекой, которая будет генерировать весь этот код за вас
Medium
Android. Less Dagger boilerplate code for ViewModel creation
Dagger architecture component traditional approach
#Gradle #Optimizations
Советы по оптимизации Gradle в Android проектах. Ревизия 2019 года
Советы по следам Google I/O 2019:
👉В многомодульных проектах предпочитайте Java/Kotlin модули вместо Android модулей. Они собираются быстрее и лучше работает инкрементальная сборка
👉Применяйте только необходимые плагины
👉Избегайте непонятных плагинов
👉Мигрируйте на Kotlin 1.3.30 и включайте инкрементальный kapt
👉Запускайте Android Lint только на App модулях
👉Правильно настраивайте зависимости (
👉Описывайте версии зависимостей в одном месте в проекте
👉Используйте папку
👉Кастомные плагины позволят сократить размер gradle файлов в проекте и ускорить сборку
👉Применяйте последние возможности Gradle API, например Lazy конфигурацию для тасков
👉Используйте Gradle Worker API
👉Создавайте таски кастомных типов
👉Не делайте длительных операций во время фазы конфигурации
👉Измеряйте скорость вашей сборки, чтобы искать узкие места. В этом вам помогут Build Scans, Gradle Profiler, Talaoit
Советы по оптимизации Gradle в Android проектах. Ревизия 2019 года
Советы по следам Google I/O 2019:
👉В многомодульных проектах предпочитайте Java/Kotlin модули вместо Android модулей. Они собираются быстрее и лучше работает инкрементальная сборка
👉Применяйте только необходимые плагины
👉Избегайте непонятных плагинов
👉Мигрируйте на Kotlin 1.3.30 и включайте инкрементальный kapt
👉Запускайте Android Lint только на App модулях
👉Правильно настраивайте зависимости (
api и implementation)👉Описывайте версии зависимостей в одном месте в проекте
👉Используйте папку
buildSrc для описания зависимостей👉Кастомные плагины позволят сократить размер gradle файлов в проекте и ускорить сборку
👉Применяйте последние возможности Gradle API, например Lazy конфигурацию для тасков
👉Используйте Gradle Worker API
👉Создавайте таски кастомных типов
👉Не делайте длительных операций во время фазы конфигурации
👉Измеряйте скорость вашей сборки, чтобы искать узкие места. В этом вам помогут Build Scans, Gradle Profiler, Talaoit
#Gradle #Performance
Порой приходится иметь доступ к Android API в Java/Kotlin коде, и отказывать от чистого Java/Kotlin модулей в пользу Android Library проектов.
Есть способ более простой использовать Android API и не уходить от Java/Kotlin модуля - используйте AndroidJar Gradle плагин. Также можно подключить aar с помощью aar2jar Gradle плагина.
Порой приходится иметь доступ к Android API в Java/Kotlin коде, и отказывать от чистого Java/Kotlin модулей в пользу Android Library проектов.
Есть способ более простой использовать Android API и не уходить от Java/Kotlin модуля - используйте AndroidJar Gradle плагин. Также можно подключить aar с помощью aar2jar Gradle плагина.
#Architecture #CleanArchitecture #ArchitectureComponents
How to implement a Clean Architecture on Android
"Повторение мать учения" - так можно сказать об этой статье, в которой рассказывается о Clean Architecture на примере Android приложения и рассказывает об обязанностях каждого из слоев и осуществление коммуникации между ними
How to implement a Clean Architecture on Android
"Повторение мать учения" - так можно сказать об этой статье, в которой рассказывается о Clean Architecture на примере Android приложения и рассказывает об обязанностях каждого из слоев и осуществление коммуникации между ними
Medium
How to implement a Clean Architecture on Android
Learn how to implement a Clean Architecture on Android from scratch
Есть ли у вас подписка на Medium ?
Final Results
9%
Да
2%
Покупаю по надобности
33%
Разве он платный?
56%
Нет
#JetpackCompose
Android Jetpack Compose Review
Вы верите в Jetpack Compose? Пока он очень сырой и совсем не готов к использованию, но создал много шума. Можете изучить больше подробностей о будущем разработки UI на Android в статье
Android Jetpack Compose Review
Вы верите в Jetpack Compose? Пока он очень сырой и совсем не готов к использованию, но создал много шума. Можете изучить больше подробностей о будущем разработки UI на Android в статье
Karumi Blog
Android Jetpack Compose Review
Trust me when I say Android Compose library could change the way developers write Android applications in the future. - Karumi
#Kotlin
Kotlin: Don’t just use LET for null check
Kotlin - язык с богатыми возможностями, который позволяет значительно упрощать различные рутинные операции из Java. Главное надо помнить о правиле Человека-Паука - любую фичу можно обернуть против себя и использовать ее неэффективно.
Как правильно проверить переменную на null
Больше подробностей когда использовать let и когда нет читайте в статье
Kotlin: Don’t just use LET for null check
Kotlin - язык с богатыми возможностями, который позволяет значительно упрощать различные рутинные операции из Java. Главное надо помнить о правиле Человека-Паука - любую фичу можно обернуть против себя и использовать ее неэффективно.
Как правильно проверить переменную на null
if (variable != null) { /*Do something*/ } или variable?.let { /*Do something*/ } ?Больше подробностей когда использовать let и когда нет читайте в статье
Medium
Kotlin: Don’t just use LET for null check
With the introduction of null safety in Kotlin, many uses let{...} to perform the null check. But let is{…} not appropriate for some cases…
#CodeQuality
Gradle static analysis plugin
Чтобы качественно анализировать код вашего проекта надо подключать множество различных утилит. Плагин Gradle static analysis облегчает вашу работу, предоставляя простую настройку множества плагинов, которая включает в себя следующие утилиты:
👉 Checkstyle
👉 PMD
👉 FindBugs
👉 Detekt
👉 KtLint
👉 Android Lint
В процесс работы находятся:
👉 Spotbugs
👉 CPD
👉 Error Prone
👉 Jetbrains IDEA Inspections
Высокого качества кода вашему коду
Gradle static analysis plugin
Чтобы качественно анализировать код вашего проекта надо подключать множество различных утилит. Плагин Gradle static analysis облегчает вашу работу, предоставляя простую настройку множества плагинов, которая включает в себя следующие утилиты:
👉 Checkstyle
👉 PMD
👉 FindBugs
👉 Detekt
👉 KtLint
👉 Android Lint
В процесс работы находятся:
👉 Spotbugs
👉 CPD
👉 Error Prone
👉 Jetbrains IDEA Inspections
Высокого качества кода вашему коду
#Dagger #DependencyInjection
Dagger 2.23 Release
Вышел Dagger 2.23. Релиз был направлен на исправление багов, улучшение скорости работы и причесывание API:
👉 Генерируемый код по умолчанию теперь не форматируется. Это позволяет ускорить кодогенерацию. Форматирование стоит включать в релизном билде
👉 Общее улучшение скорости сборки
👉 Генерируемый компонент теперь объявляются
👉 Более строгая валидация
Dagger 2.23 Release
Вышел Dagger 2.23. Релиз был направлен на исправление багов, улучшение скорости работы и причесывание API:
👉 Генерируемый код по умолчанию теперь не форматируется. Это позволяет ускорить кодогенерацию. Форматирование стоит включать в релизном билде
👉 Общее улучшение скорости сборки
👉 Генерируемый компонент теперь объявляются
public в случае если компонент в вашем коде объявлен как public👉 Более строгая валидация
@BindsInstance