Продолжение сериала о том, как операторы merge и zip в RxJava могут стать причиной UndeliverableException, теперь с решением проблемы.
https://medium.com/perry-street-software-engineering/merging-rxjava-observables-considered-harmful-part-iii-f1e804f20d0
https://medium.com/perry-street-software-engineering/merging-rxjava-observables-considered-harmful-part-iii-f1e804f20d0
Medium
Merging RxJava Observables considered harmful — Part III
Implementing and verifying safeMergeArray
В некоторых условиях пользователь может почти одновременно дважды нажать на элемент и соответсвенно дважды запустить например переход на другой экран. Как вы обрабатываете такой кейс в ваших приложениях?
https://proandroiddev.com/duplicate-android-navigation-bug-or-feature-5df370440c83
https://proandroiddev.com/duplicate-android-navigation-bug-or-feature-5df370440c83
Medium
Duplicate Android Navigation — Bug or Feature?
I recently found a bug that would cause a crash in all the apps I ever made. If you click to navigate twice from the same destination…
Серия статей, посвященная тестированию Android приложений. В этой части речь идет о сокращении количества и оптимизации тестов.
https://medium.com/azimolabs/removing-and-simplifying-tests-is-part-of-development-too-9a3ad4fdfc3c
https://medium.com/azimolabs/removing-and-simplifying-tests-is-part-of-development-too-9a3ad4fdfc3c
Medium
Removing and simplifying tests is part of development too
The evolution of apps QA at Azimo
Чеклист по сокращению веса вашего приложения: обфускация кода, сжатие ресурсов, оптимизация изображений.
https://medium.com/@0x4ym4n/the-art-of-download-size-optimization-for-android-applications-in-practice-6fb5314a7f40
https://medium.com/@0x4ym4n/the-art-of-download-size-optimization-for-android-applications-in-practice-6fb5314a7f40
Medium
The Art of download size optimization for Android applications in practice
Hey, guys! I hope that everyone is doing well.
Google представила Tiles — новое API для отображения информации на часах с Wear OS, которая будет в виде плиток отображаться по свайпу на домашнем экране.
https://android-developers.googleblog.com/2021/08/sharing-tiles-with-your-smartwatch-users.html
https://android-developers.googleblog.com/2021/08/sharing-tiles-with-your-smartwatch-users.html
Android Developers Blog
Sharing Tiles with your smartwatch users:
Posted by Jeremy Walker, Engineer Tiles provide quick access to information and actions with a simple swipe from the watch face home...
Вакансии для Android-разработчиков в новый сервис Яндекса
Мы всегда рады обратной связи и особенно — новым идеям от подписчиков. Среди них оказались ребята из Финтеха (будущего Яндекс Банка), которые сейчас как раз ищут разработчиков на Kotlin.
Строить банк с нуля, придумывать архитектуру, запускать в продакшен первые сервисы — и всё это без легаси и чужого кода (и такое бывает!).
Финтеховцы настроены серьезно: ищут опытных бойцов и джунов, готовых прогрессировать, обещают быстрый найм за неделю и контакт эйчара сразу после маленькой задачки на промке. Проверяйте — всё ли действительно так!
Подробности здесь.
Мы всегда рады обратной связи и особенно — новым идеям от подписчиков. Среди них оказались ребята из Финтеха (будущего Яндекс Банка), которые сейчас как раз ищут разработчиков на Kotlin.
Строить банк с нуля, придумывать архитектуру, запускать в продакшен первые сервисы — и всё это без легаси и чужого кода (и такое бывает!).
Финтеховцы настроены серьезно: ищут опытных бойцов и джунов, готовых прогрессировать, обещают быстрый найм за неделю и контакт эйчара сразу после маленькой задачки на промке. Проверяйте — всё ли действительно так!
Подробности здесь.
Что может сделать разработку UI еще лучше после появления Jetpack Compose? Правильно – дизайнеры, которые умеют работать вместе с разработчиками, придерживаются гугловых гайдлайнов и в целом работают с вами плечом к плечу. Мы в Подлодке хотим помочь этому случиться и организуем Design Crew #1.
Темы недель:
- Редизайн (как спланировать, провести и оценить его пользу)
- Взаимодействие с разработчиками (процессы, инструменты, самостоятельная верстка)
Так вот, план-капкан – пошарьте ссылку на конференцию своим дизайнерам, дождитесь, пока они туда сходят, и внедряйте вместе новые практики! А так как конференцию проводим впервые, держите промик:
podlodka.io/designcrew
Темы недель:
- Редизайн (как спланировать, провести и оценить его пользу)
- Взаимодействие с разработчиками (процессы, инструменты, самостоятельная верстка)
Так вот, план-капкан – пошарьте ссылку на конференцию своим дизайнерам, дождитесь, пока они туда сходят, и внедряйте вместе новые практики! А так как конференцию проводим впервые, держите промик:
gr_design
.podlodka.io/designcrew
podlodka.io
Онлайн-конференция Podlodka Design Crew, сезон #3
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам frontend-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
🟢 Android in da Delivery Club 🟢
Delivery Club ищет новых коллег в Android-команды разных направлений.
Новым сотрудникам предстоит:
- участвовать в полном цикле продуктовой разработки: от проектирования контрактов клиент-серверного взаимодействия и до покрытия тестами и внедрения нового функционала;
- Развивать платформу, оптимизировать работу приложения и повышать перформанс;
- Развивать инфрастуктуру, улучшать CI/CD, ускорять и распараллеливать сборки;
- Развивать бренд и комьюнити, проводить внутренние встречи, выступать не внешних конференциях, вести блог на Хабре и т.д.
Подробности об условиях и ожиданиях от кандидата можно почитать тут 💻
По всем вопросам и откликам можно писать напрямую руководителю мобильной разработки Саше Аносову
Delivery Club ищет новых коллег в Android-команды разных направлений.
Новым сотрудникам предстоит:
- участвовать в полном цикле продуктовой разработки: от проектирования контрактов клиент-серверного взаимодействия и до покрытия тестами и внедрения нового функционала;
- Развивать платформу, оптимизировать работу приложения и повышать перформанс;
- Развивать инфрастуктуру, улучшать CI/CD, ускорять и распараллеливать сборки;
- Развивать бренд и комьюнити, проводить внутренние встречи, выступать не внешних конференциях, вести блог на Хабре и т.д.
Подробности об условиях и ожиданиях от кандидата можно почитать тут 💻
По всем вопросам и откликам можно писать напрямую руководителю мобильной разработки Саше Аносову
Некоторое время назад вышел Kotlin 1.5.30. Казалось бы минорный релиз, который однако приносит несколько важных нововведений для Kotlin Multiplatform: превью новой модели памяти, анализ кода во время компиляции и новые зависимости между модулями и кодом.
https://medium.com/@kpgalligan/kotlin-1-5-30-and-kmm-kmp-2ba19af65fe7
https://medium.com/@kpgalligan/kotlin-1-5-30-and-kmm-kmp-2ba19af65fe7
Medium
Kotlin 1.5.30 and KMM/KMP
Kotlin 1.5.30 officially launched just now. There has been a steady stream of Kotlin releases over the last year or so, each with new…
Серия статей про обновленные виждеты в Android 12. В эту часть вошли более продвинутые техники, которые должны помочь улучшить пользовательский опыт.
https://medium.com/androiddevelopers/do-more-with-your-widget-in-android-12-e33f12710532
https://medium.com/androiddevelopers/do-more-with-your-widget-in-android-12-e33f12710532
Medium
Do more with your widget in Android 12!
Do more with your Widget in Android 12!
Пошаговая инструкция по сегментации изображения с камеры в реальном времени с помощью CameraX и MLKit. На случай, если вы решите создать свой Instagram с масками и фильтрами.
https://proandroiddev.com/realtime-selfie-segmentation-in-android-with-mlkit-38637c8502ba
https://proandroiddev.com/realtime-selfie-segmentation-in-android-with-mlkit-38637c8502ba
Medium
Realtime Selfie Segmentation In Android With MLKit
Perform the fastest-ever image segmentation in Android
Решение классической задачи по реализации Drag & Drop в списках на Jetpack Compose.
https://proandroiddev.com/basic-drag-n-drop-in-jetpack-compose-a6919ba58ba8
https://proandroiddev.com/basic-drag-n-drop-in-jetpack-compose-a6919ba58ba8
Medium
Basic Drag-n-Drop in Jetpack Compose
Walkthrough of over basic implementation of Drag-n-Drop for LazyList in Jetpack Compose
В Gradle 7.0 появилась экспериментальная функция, включающую автоподстановку и проверку типов при обращении к модулям проекта. Теперь вместо
https://proandroiddev.com/using-type-safe-project-dependencies-on-gradle-493ab7337aa
project(":libraries:ui”)
можно использовать projects.libraries.ui
.https://proandroiddev.com/using-type-safe-project-dependencies-on-gradle-493ab7337aa
Medium
Using type-safe project dependencies on Gradle
Gradle 7.0 introduced a new feature called type-safe project accessors, which make our life easier to handle project dependencies.
Подробная инструкция по использованию Kotlin Flow во ViewModel: внутренние особенности, правильная подписка на данные в UI и сравнение с LiveData, есть кейсы, в которых старый подход работает лучше.
https://bladecoder.medium.com/kotlins-flow-in-viewmodels-it-s-complicated-556b472e281a
https://bladecoder.medium.com/kotlins-flow-in-viewmodels-it-s-complicated-556b472e281a
Medium
Kotlin’s Flow in ViewModels: it’s complicated
LiveData is still your friend
При использовании Jetpack Compose пользовательский интерфейс строится по иным принципам, поэтому и привычные способы UI тестирования работать не будут. Разбираемся как писать UI тесты для Compose.
https://dmytroshuba.com/blog/jetpack-compose-ui-testing/
https://dmytroshuba.com/blog/jetpack-compose-ui-testing/
Dmytro Shuba
How to test Jetpack Compose UI
Android development has close ties with old good XML for UI development, but is it good enough to beat recently released Jetpack Compose?
Продолжая тему Drag & Drop, вспоминаем как реализовать подобную функциональность на классических View.
https://www.raywenderlich.com/24508555-android-drag-and-drop-tutorial-moving-views-and-data
https://www.raywenderlich.com/24508555-android-drag-and-drop-tutorial-moving-views-and-data
kodeco.com
Android Drag and Drop Tutorial: Moving Views and Data
Learn how to use Android’s drag-and-drop framework to enable an advanced gesture-based user experience.
Шпаргалка по KDoc, которая поможет покрыть документацией ваш код на Kotlin.
https://medium.com/@drflakelorenzgerman/documentation-with-kdoc-for-kotlin-android-a93c99dfe74
https://medium.com/@drflakelorenzgerman/documentation-with-kdoc-for-kotlin-android-a93c99dfe74
Medium
Documentation with KDoc for Kotlin/Android
Think about you’re creating a library and you want to publish it on Git, or even you’re writing your casual code on some project, you need…
Писали когда-нибудь библиотеки на Kotlin, публичные или для внутреннего использования? Помогите команде Kotlin разобраться с тем, как можно улучшить опыт авторов библиотек, пройдя небольшой опрос.
https://surveys.jetbrains.com/s3/an-kotlin-libraries-authors-survey
https://surveys.jetbrains.com/s3/an-kotlin-libraries-authors-survey
Jetbrains
Kotlin libraries authors research
Kotlin libraries authors research.
Погружаемся в детали работы процесса рекомпозиции в Jetpack Compose на реальном примере.
https://proandroiddev.com/understanding-re-composition-in-jetpack-compose-with-a-case-study-9e7d96d98095
https://proandroiddev.com/understanding-re-composition-in-jetpack-compose-with-a-case-study-9e7d96d98095
Medium
Understanding re-composition in Jetpack Compose with a case study
Tells the story how piece of code was examined to understand re-composition better.
После релиза, Hilt стал все чаще и чаще встречаться в проектах. Смотрим как мы можем тестировать код с его помощью.
https://medium.com/androiddevelopers/hilt-testing-best-practices-in-the-mad-skills-series-8186a57eee2c
https://medium.com/androiddevelopers/hilt-testing-best-practices-in-the-mad-skills-series-8186a57eee2c
Medium
Hilt Testing Best Practices in the MAD Skills series
Second episode of the Hilt MAD Skills series