С ростом команды и приложения приходится пересматривать устройство кода, чтобы всем было удобно работать над проектом. В статье представлена стратегия управления кодовой базой в такой ситуации.
https://dev.to/jameson/scaling-development-of-an-android-app-2fl4
https://dev.to/jameson/scaling-development-of-an-android-app-2fl4
DEV Community
Scaling Development of an Android App
Packaging and source code management strategies for an Android application as it grows in size and number of contributors
📲 Оффер от Яндекса за выходные!
Приглашаем мобильных разработчиков на Weekend Offer: решите две задачи онлайн, пройдите две секции с кодом и получите предложение о работе в Яндексе за одни выходные (9 и 10 октября).
Зарегистрироваться
Приглашаем мобильных разработчиков на Weekend Offer: решите две задачи онлайн, пройдите две секции с кодом и получите предложение о работе в Яндексе за одни выходные (9 и 10 октября).
Зарегистрироваться
Оффер от Яндекса за выходные
9-10 июля Яндекс проводит Weekend Offer для мобильных разработчиков — мероприятие, на котором можно получить оффер от Яндекса за 2 дня.
«Лаборатория Касперского» ищет крутых специалистов по направлению MobileDev в команду.
MobileDev — центр экспертизы по мобильным и носимым устройствам. Специалисты направления занимаются исследованиями, разработкой и поддержкой продуктов защиты для домашних и корпоративных пользователей.
Мы ждем целеустремленных профессионалов и стажеров — требования стандартные:
- Android-разработчик — пишете на Java/Kotlin/C++
- iOS-разработчик — пишете на Swift/ObjectiveC/C++
Если у вас есть эти навыки — смело отправляйте заявки на вакансии:
- Developer IOS
- Senior Developer iOS
- Android Developer
- Senior Developer Android
- Testing Engineer (Mobile)
- Flutter Developer
Переходите по ссылке — там вы найдете подробную информацию о вакансиях и сможете присоединиться к команде лучших экспертов.
MobileDev — центр экспертизы по мобильным и носимым устройствам. Специалисты направления занимаются исследованиями, разработкой и поддержкой продуктов защиты для домашних и корпоративных пользователей.
Мы ждем целеустремленных профессионалов и стажеров — требования стандартные:
- Android-разработчик — пишете на Java/Kotlin/C++
- iOS-разработчик — пишете на Swift/ObjectiveC/C++
Если у вас есть эти навыки — смело отправляйте заявки на вакансии:
- Developer IOS
- Senior Developer iOS
- Android Developer
- Senior Developer Android
- Testing Engineer (Mobile)
- Flutter Developer
Переходите по ссылке — там вы найдете подробную информацию о вакансиях и сможете присоединиться к команде лучших экспертов.
careers.kaspersky.ru
Карьера в ЛК
Карьера в Лаборатории Касперского
Есть желание попробовать Jetpack Compose в проекте, но не хочется всё переписывать? Для этого есть API совместимости, которое позволит миксовать привычные View и новый подход.
https://blog.yudiz.com/adopting-jetpack-compose-with-interop-api/
https://blog.yudiz.com/adopting-jetpack-compose-with-interop-api/
TalkBack позволяет людям с ограниченными возможностями управлять устройством, не смотря на экран. Разбираемся как посмотреть на наше приложение глазами TalkBack для тестирования и отладки.
https://zarah.dev/2021/09/13/debugging-accessibility.html
https://zarah.dev/2021/09/13/debugging-accessibility.html
zarah.dev
Seeing What Talkback Sees 🔍
One of the things we should be doing as Android developers is to ensure that our apps are as accessible as possible. There are a bunch of talks and articles ...
Обзор инструментов для автоматического анализа кода, как статического, так и в работающем приложении, доступных на данный момент: от ktlint до SonarQube и Leak Canary.
https://proandroiddev.com/automating-analyzing-of-code-in-android-projects-a60313569c53
https://proandroiddev.com/automating-analyzing-of-code-in-android-projects-a60313569c53
Medium
Automation of code analysis in Android projects
Tools that will help you automate analyzing code of Android projects and improve code quality
Google обновила управление доступами в Play Console. Теперь напротив недоступных действий появится кнопка, позволяющая быстро запросить необходимые разрешения у администраторов, а также добавятся групповые операции.
https://android-developers.googleblog.com/2021/09/improved-google-play-console-user.html
https://android-developers.googleblog.com/2021/09/improved-google-play-console-user.html
Android Developers Blog
Improved Google Play Console user management: access requests, permission groups, and more
Posted by Mike Yerou, Software Engineer, Google Play User management is an important responsibility for businesses of all size...
Продолжаем пополнять книгу рецептов по Jetpack Compose, в этот раз готовим эффект liftOnScroll.
https://proandroiddev.com/lift-on-scroll-in-jetpack-compose-ccd05170ea83
https://proandroiddev.com/lift-on-scroll-in-jetpack-compose-ccd05170ea83
Medium
Lift on scroll in Jetpack Compose
Jetpack Compose doesn’t provide liftOnScroll, so how do we make our designs match MaterialDesign?
Первый взгляд на KSP, который приходит на смену kapt, со стороны разработчика. Заполняем пробелы в документации и заводим свой процессор.
https://nikoladespotoski.medium.com/hands-on-google-ksp-c0508d623863
https://nikoladespotoski.medium.com/hands-on-google-ksp-c0508d623863
Medium
Hands on Google KSP
Experience with KSP; not a guide how to use KSP with Room
Многие из вас знают Евгения Мацюка, GDE, активного участника Android коммьюнити и эксперта во всех вопросах вокруг тестирования. В этот раз Женя поделился своими практиками рефакторинга. На живом примере он показал, как можно улучшить небольшой проект, выполненный как тестовое задание при приеме на работу. Бонус – куча инсайтов про то, как ревьюят ваши тестовые задания при найме.
https://youtu.be/ZD7Jr-Gy36M
https://youtu.be/ZD7Jr-Gy36M
YouTube
Воркшоп: Рефакторинг Android-проекта / Евгений Мацюк
Понравилось видео и хочешь узнать что-то еще про Android? Забирай весь плейлист на https://is.gd/kChYnl или купи билет на следующий сезон конференции https://is.gd/auKynm.
Подпишись на канал – каждую неделю мы выкладываем новые видео про то, как устроена…
Подпишись на канал – каждую неделю мы выкладываем новые видео про то, как устроена…
Продолжаем тему доступности приложений для пользователей с ограниченными возможностями. Серия статей по системному подходу к разработке приложенй с учетом accessibility.
https://bytes.swiggy.com/designing-the-swiggy-app-to-be-truly-accessible-episode-2-7759d72a5f83
https://bytes.swiggy.com/designing-the-swiggy-app-to-be-truly-accessible-episode-2-7759d72a5f83
Medium
Designing the Swiggy app to be truly ‘accessible’ | Episode-2
In our earlier blog post, we shared how we went about identifying the accessibility gaps in Swiggy and our design philosophy to address…
При сборке больших проектов выделяется огромное количество оперативной памяти, что на некоторых системах даже приводит к OutOfMemoryError, но эту ситуацию можно немного улучшить: использовать G1GC алгоритм для GC, снизить количество параллельных задач и уменьшить размер доступной памяти для KotlinCompile.
https://medium.com/traveloka-engineering/identify-handle-android-builds-memory-issues-66bf9299549
https://medium.com/traveloka-engineering/identify-handle-android-builds-memory-issues-66bf9299549
Medium
Identify & Handle Android Builds’ Memory Issues
During an Android developer’s journey, projects would get larger and take progressively longer to build.
Учимся измерять время от запуска приложения до момента отрисовки первых кадров пользовательского интерфейса, параллельно погружаясь в детали системных механизмов, стоящих за этим процессом.
https://py.hashnode.dev/launch-response-time
https://py.hashnode.dev/launch-response-time
Py's blog
Launch Response Time
Android Vitals
История эволюции работы с локальным хранилищем файлов в разных версиях Android, а также обзор текущего положения дел.
https://proandroiddev.com/storage-model-android-101-26bc8aef9609
https://proandroiddev.com/storage-model-android-101-26bc8aef9609
Medium
Storage Model | Android 101
With the recent years of Android platform updates, the storage model has evolved. Starting Android 10 (API 29), the model has become…
Для связи Jetpack Compose и ViewModel можно использовать как
https://proandroiddev.com/viewmodels-using-compose-mutablestateflows-or-mutablestates-64d34ba548c5
MutableStateFlow
, так и MutableState
. Автор решил сравнить два подхода. Также бонусом идет инструкция по автоматическому сохранению состояния MutableState
внутри ViewModel при смерти процесса.https://proandroiddev.com/viewmodels-using-compose-mutablestateflows-or-mutablestates-64d34ba548c5
Medium
ViewModels using Compose: MutableStateFlows or MutableStates?
State hoisting is an important concept useful to make a Composable stateless (and so easily reusable). The official Compose documentation…
rememberUpdatedState
— API в Jetpack Compose, которое позволяет сохранять ссылку на переменную внутри LaunchedEffect даже после рекомпозиции. Разбираемся как этим пользоваться на примерах.https://proandroiddev.com/jetpack-compose-side-effects-iii-rememberupdatedstate-c8df7b90a01d
Medium
Jetpack Compose Side-Effects III— rememberUpdatedState
rememberUpdatedState helps keep an updated reference to variables in our compose side-effect. Read to see a use case where this could help
01 ноября 2021 наступает дедлайн, к которому все приложения должны перейти на использование Android Billing Library 3 для совершения покупок. А в статье приведена инструкция, как обновиться до уже 4 версии библиотеки.
https://naveentp.medium.com/migrating-to-android-billing-library-v4-0-f268ec1cd5fa
https://naveentp.medium.com/migrating-to-android-billing-library-v4-0-f268ec1cd5fa
Medium
Migrating to Android Billing Library v4.0
Breaking changes, better Retry logic, and much more.
В релиз вышла библиотека Arrow, которая приносит функциональные подходы в ваши проекты и позволяет писать на Kotlin код, похожий на Haskell. Среди множества нововведений хочется выделить поддержку Kotlin Multiplatform и Coroutines.
https://www.47deg.com/blog/arrow-1-0-release/
https://www.47deg.com/blog/arrow-1-0-release/
Xebia
Blog - Xebia
Explore the most recent articles on technology, software development, and digital transformation. Brought to you by the experts at Xebia.
Яндекс улучшил рекламу мобильных приложений
Новые инструменты для рекламы приложений от Яндекс значительно облегчают запуск и увеличивают эффективность. Смотрите сами:
Платить можно только за установки — выбор стратегии за рекламодателем
формат выдачи сразу показывает оценки и рейтинг
интерфейс осваивается интуитивно
Кроме того, охваты стали больше за счет интеграции с ин-апп приложениями. Узнайте о том, как продвинуть свое приложение за несколько шагов на Яндекс.Директ.
Новые инструменты для рекламы приложений от Яндекс значительно облегчают запуск и увеличивают эффективность. Смотрите сами:
Платить можно только за установки — выбор стратегии за рекламодателем
формат выдачи сразу показывает оценки и рейтинг
интерфейс осваивается интуитивно
Кроме того, охваты стали больше за счет интеграции с ин-апп приложениями. Узнайте о том, как продвинуть свое приложение за несколько шагов на Яндекс.Директ.
vc.ru
Яндекс представил обновленный интерфейс для запуска рекламы мобильных приложений
Новый интерфейс позволит завести рекламную кампанию приложений в несколько шагов. Для этого не потребуется специальных знаний и помощь специалистов. Рекламодателю нужно лишь добавить ссылку на приложение, креативы, указать географию показов, выбрать стратегию…
Jetpack Compose по умолчанию идет вместе с Material темой, но зачастую приложения используют свои дизайн системы, для которых настроек Material недостаточно. В статье подробная инструкция по созданию полностью кастомной темы на такой случай.
https://dmytroshuba.com/blog/how-to-create-a-custom-theme-in-jetpack-compose/
https://dmytroshuba.com/blog/how-to-create-a-custom-theme-in-jetpack-compose/
Dmytro Shuba
How to create a truly custom theme in Jetpack Compose
How to create a Jetpack Compose custom theme from scratch without MaterialTheme. We will learn how to add custom fonts, styles, dimensions, etc.