Как выглядит Android-разработка в 2025 году? Подходы меняются, а тренды приходят и уходят.
Но одно осталось неизменным — качественный UI имеет решающее значение. И если вы работаете с Jetpack Compose, то вам на Podlodka Android Crew!
🚀 Podlodka Crew – это онлайн-конференции для разработчиков, где обсуждаются самые актуальные темы.
Мы за прикладную пользу: только практические кейсы, ошибки, инсайты и работающие решения.
💡24-28 марта обсуждаем Compose спустя три года в продакшене:
• Compose Multiplatform: реальный опыт адаптации. Тимур Чикишев (KTS) расскажет, как перенести Android-приложение на Compose Multiplatform, какие подводные камни ждут на этом пути и какие проблемы пришлось решать.⚡️
• Compose под ТВ – Максим Романов (Яндекс) объяснит, как адаптировать UI для телевизоров, почему управление фокусом — это ад, и как поддерживать высокую производительность на слабых устройствах.📺
• Modifier в Compose – Алексей Киселев (ВКонтакте) вскроет внутренности Modifier. Как работают .padding(), .clickable() и другие? Почему неочевидные вещи могут снижать перформанс? Напишем свой кастомный Modifier.✨
• Кастомные UI-компоненты в Compose – Никита Созник (Контур) покажет реализацию сложных компонентов SegmentedControl и DatePicker и расскажет, почему готовые решения от Google не всегда подходят.🎨
• Скриншот-тестирование UI – Филипп Беседковский (Яндекс Auto.ru) научит, как внедрять скриншот-тесты в Compose, какие библиотеки использовать и где они реально спасают разработку.📸
Все сессии проходят в удобное время: утром и вечером. Полный разбор темы, максимум пользы и никаких отвлекающих факторов.
📍Билеты и подробности: https://podlodka.io/droidcrew
А мой промокод START13 дает скидку в 500р🥳
#реклама
Но одно осталось неизменным — качественный UI имеет решающее значение. И если вы работаете с Jetpack Compose, то вам на Podlodka Android Crew!
🚀 Podlodka Crew – это онлайн-конференции для разработчиков, где обсуждаются самые актуальные темы.
Мы за прикладную пользу: только практические кейсы, ошибки, инсайты и работающие решения.
💡24-28 марта обсуждаем Compose спустя три года в продакшене:
• Compose Multiplatform: реальный опыт адаптации. Тимур Чикишев (KTS) расскажет, как перенести Android-приложение на Compose Multiplatform, какие подводные камни ждут на этом пути и какие проблемы пришлось решать.⚡️
• Compose под ТВ – Максим Романов (Яндекс) объяснит, как адаптировать UI для телевизоров, почему управление фокусом — это ад, и как поддерживать высокую производительность на слабых устройствах.📺
• Modifier в Compose – Алексей Киселев (ВКонтакте) вскроет внутренности Modifier. Как работают .padding(), .clickable() и другие? Почему неочевидные вещи могут снижать перформанс? Напишем свой кастомный Modifier.✨
• Кастомные UI-компоненты в Compose – Никита Созник (Контур) покажет реализацию сложных компонентов SegmentedControl и DatePicker и расскажет, почему готовые решения от Google не всегда подходят.🎨
• Скриншот-тестирование UI – Филипп Беседковский (Яндекс Auto.ru) научит, как внедрять скриншот-тесты в Compose, какие библиотеки использовать и где они реально спасают разработку.📸
Все сессии проходят в удобное время: утром и вечером. Полный разбор темы, максимум пользы и никаких отвлекающих факторов.
📍Билеты и подробности: https://podlodka.io/droidcrew
А мой промокод START13 дает скидку в 500р🥳
#реклама
💩8👍5👌2
Я давно интересуюсь способами, позволяющими ускорить сборку приложения. В статье я покажу результаты моих исследований и несколько способов разогнать Gradle-сборку, проверенных мною. Материал будет полезен как новичкам, так и опытным разработчикам, поэтому устраивайтесь поудобнее.
#gradle #build #performance
https://habr.com/ru/companies/alfa/articles/876382/
Хабр
Детские ошибки при сборке Gradle-приложений
Всем привет! Меня зовут Никита Горбунов, я технический лидер Android. Сейчас я работаю над мобильным банком Альфы, поддерживаю его инфраструктуру и CI/CD-систему. Я много работаю с Gradle, и мне это...
👍5🔥4😁4
Подробная статья о том, как в Compose приложении держать Global State данные: authentication status, feature flag и т.п.
#android #state #compose
https://proandroiddev.com/mastering-global-state-management-in-android-with-jetpack-compose-e99350fad822
#android #state #compose
https://proandroiddev.com/mastering-global-state-management-in-android-with-jetpack-compose-e99350fad822
Medium
Mastering Global State Management in Android with Jetpack Compose
As Android developers, we often face the challenge of managing state across our applications. Whether it’s user authentication, theme preferences, or app-wide settings, having a reliable way to…
👍8
Команда Gradle подробно пишет про работу над фичей Configuration Cache
#android #gradle #build #performance
https://blog.gradle.org/road-to-configuration-cache
#android #gradle #build #performance
https://blog.gradle.org/road-to-configuration-cache
blog.gradle.org
State of the Configuration Cache - On the Road to Gradle 9
Introduction
👍6
Большинство разработчиков не любит проводить код-ревью. Все понимают, что это важно и нужно, могут с ходу назвать три-четыре причины необходимости этого процесса. Но раз за разом они всячески избегают его. Или участвуют в нём неэффективно.
Поэтому разрушим шаблоны — не будем акцентировать внимание на важности и полезности код-ревью, а разберёмся в причинах сложившейся неприязни к этому процессу. И попробуем понять, как с этим жить.
#code #codereview
https://habr.com/ru/companies/surfstudio/articles/892304/
👍3❤1👎1
Несколько дней назад релизнулся Kotlin 2.1.20
Список изменений:
- K2 compiler updates: New default kapt compiler plugin.
- Kotlin Multiplatform: A new DSL to replace Gradle’s Application plugin in multiplatform projects.
- Kotlin/Native: Inlining optimization to improve runtime performance.
- Kotlin/Wasm: Custom formatters are now enabled by default in development builds.
- Gradle support: Support for adding custom publication variants in multiplatform and JVM projects.
- Standard library: Introduction of common atomic types, improved UUID support, and a new time-tracking functionality.
- Compose compiler: Now includes source information by default across all platforms.
#kotlin #release
https://blog.jetbrains.com/kotlin/2025/03/kotlin-2-1-20-released-2/
Список изменений:
- K2 compiler updates: New default kapt compiler plugin.
- Kotlin Multiplatform: A new DSL to replace Gradle’s Application plugin in multiplatform projects.
- Kotlin/Native: Inlining optimization to improve runtime performance.
- Kotlin/Wasm: Custom formatters are now enabled by default in development builds.
- Gradle support: Support for adding custom publication variants in multiplatform and JVM projects.
- Standard library: Introduction of common atomic types, improved UUID support, and a new time-tracking functionality.
- Compose compiler: Now includes source information by default across all platforms.
#kotlin #release
https://blog.jetbrains.com/kotlin/2025/03/kotlin-2-1-20-released-2/
👍4
Автор рассказывает почему в Dagger/Hilt аннотация @Binds эффективнее, чем @Provides
#kotlin #di #dagger #hilt #performance
https://medium.com/@m.rzna/why-binds-is-faster-than-provides-annotation-in-dagger-hilt-7d0f89af6542
#kotlin #di #dagger #hilt #performance
https://medium.com/@m.rzna/why-binds-is-faster-than-provides-annotation-in-dagger-hilt-7d0f89af6542
Medium
Why @Binds is faster than @Provides annotation in Dagger/Hilt?
I’ve seen Android projects heavily using Dagger/Hilt for Dependency Injection purposes, along with Kapt or nowadays, KSP to improve the…
👍12👎1
Как мы ускоряли Android-сборку «селлера»
#android #build #performance
https://habr.com/ru/companies/ozontech/articles/894364/
Вся работа по улучшению сборок, за исключением Build Cache, выполнялась в рамках техдолга и растянулась во времени примерно на месяц. Если говорить о результатах, то в относительных значениях мы получили ускорение на всех типах сборок ~19% относительно первоначального варианта.
#android #build #performance
https://habr.com/ru/companies/ozontech/articles/894364/
Хабр
Как мы ускоряли Android-сборку «селлера»
Всем привет! Меня зовут Женя, я руководитель отдела разработки «Аккаунт» в мобильном приложении для продавцов платформы Ozon Seller. Поделюсь нашим опытом работы над улучшением скорости сборки...
🔥3👍2
Сравнение TopLevel и Companion констант с точки зрения генерируемого кода
#kotlin #contstant #performance
https://proandroiddev.com/top-level-constants-vs-companion-enclosed-constants-using-kotlin-in-android-cbb067732428
#kotlin #contstant #performance
https://proandroiddev.com/top-level-constants-vs-companion-enclosed-constants-using-kotlin-in-android-cbb067732428
Medium
Kotlin Constants in Android: Top-level vs. Companion-enclosed
Does the choice between the two affect performance, APK size, or memory usage? Let’s break it down by diving into the bytecode.
👍11
ООП: худшее, что случалось с программированием
#programming #java #pattern #oop
https://habr.com/ru/articles/885980/
В этой статье попробуем разобраться, почему ООП — худшее, что было придумано в программировании, как оно стало таким популярным, почему опытные программисты Java (C#, C++ и т.п.) в принципе не могут считаться крутыми инженерами, а код на Java - хорошим.
#programming #java #pattern #oop
https://habr.com/ru/articles/885980/
Хабр
ООП: худшее, что случалось с программированием
Если бы строили так, как пишут код ООП. В этой статье попробуем разобраться, почему ООП — худшее, что было придумано в программировании, как оно стало таким популярным, почему опытные программисты...
🤡69😁12👍3👎2🤔2
RuStore — один из крупнейших магазинов приложений в России.
И, конечно, он не стоит на месте — постоянно появляются новые функции для удобной публикации, продвижения и монетизации ваших приложений.
Но каким же должен быть идеальный магазин приложений?
В RuStore сейчас проходит исследование среди разработчиков, где собираются честные отзывы о том, чего не хватает, что можно улучшить и как создать платформу, которая завоюет вашу любовь.
Участвуйте в опросе, и вы сможете повлиять на развитие магазина приложений!
👉[Участвуйте в опросе по ссылке]👈
#реклама
И, конечно, он не стоит на месте — постоянно появляются новые функции для удобной публикации, продвижения и монетизации ваших приложений.
Но каким же должен быть идеальный магазин приложений?
В RuStore сейчас проходит исследование среди разработчиков, где собираются честные отзывы о том, чего не хватает, что можно улучшить и как создать платформу, которая завоюет вашу любовь.
Участвуйте в опросе, и вы сможете повлиять на развитие магазина приложений!
👉[Участвуйте в опросе по ссылке]👈
#реклама
💩39🤮10👍7👎6🖕1
Gemini in Android Studio for businesses - более секьюрная версия для корпоративного кода
#android #ai #gemini
https://android-developers.googleblog.com/2025/04/gemini-in-android-studio-for-business.html
#android #ai #gemini
https://android-developers.googleblog.com/2025/04/gemini-in-android-studio-for-business.html
Android Developers Blog
Gemini in Android Studio for businesses: Develop with confidence, powered by AI
Gemini in Android Studio helps you bridge design mocks to Compose UI code, accelerating Android development and boosting developer productivity.
🤡5🔥3👍1
Context parameters релизнуты в Beta статусе в Kotlin 2.2.0
Миграция на них с текущих context receivers крайне рекомендуется, т.к. context receivers будут в дальнейшем удалены
#kotlin #contextreceivers #contextparameters
https://blog.jetbrains.com/kotlin/2025/04/update-on-context-parameters/
Миграция на них с текущих context receivers крайне рекомендуется, т.к. context receivers будут в дальнейшем удалены
#kotlin #contextreceivers #contextparameters
https://blog.jetbrains.com/kotlin/2025/04/update-on-context-parameters/
The JetBrains Blog
Update on Context Parameters | The Kotlin Blog
Context parameters will be replacing context receivers in Kotlin, with version 2.2.0 featuring them as Beta. We are committed to providing an easy migration between both features, including dedicated compiler and IntelliJ IDEA support.
👍7🥱5😱1
Сегодня мы затронем очень интересную тему — сервисы Firebase. Поговорим об их применении в мобильных приложениях и о том, как обеспечить их безопасность. Эта статья призвана обратить внимание разработчиков и ИБ-специалистов на внешние сервисы, которые используют приложения, поскольку они часто остаются без должного внимания и аудита. Очень надеемся, что после прочтения вы начнёте по-другому смотреть на безопасность мобильных продуктов, ведь они обмениваются данными не только с собственными серверами, но и с многими другими.
#android #security #firebase
https://habr.com/ru/companies/swordfish_security/articles/864190/
Хабр
Особенности использования сторонних сервисов в мобильных приложениях на примере Firebase
Всем привет! На связи Веселина Зацепина ( @VeselinaZatsepina ) и Юрий Шабалин, эксперты по безопасности мобильных приложений из компании Стингрей. Сегодня мы затронем очень интересную тему...
👍7❤2
K2 mode будет включен по умолчанию начиная с IntelliJ IDEA 2025.1. Он улучшит производительность и позволит использовать некоторые новые фичи Kotlin
#android #kotlin #compiler
https://blog.jetbrains.com/idea/2025/04/k2-mode-in-intellij-idea-2025-1-current-state-and-faq/
#android #kotlin #compiler
https://blog.jetbrains.com/idea/2025/04/k2-mode-in-intellij-idea-2025-1-current-state-and-faq/
The JetBrains Blog
K2 Mode in IntelliJ IDEA 2025.1: Current State and FAQ | The IntelliJ IDEA Blog
Starting with IntelliJ IDEA 2025.1, K2 mode, a new implementation of Kotlin support, will be enabled by default. This change is an important step in the ongoing effort to improve Kotlin support in the
👍5
Как работает Robolectric и почему это важно знать
#android #test #robolectric
https://habr.com/ru/companies/tbank/articles/902180/
Представьте, что можно тестировать android-код без эмулятора, запуская тесты за секунды вместо минут. Именно это обещает Robolectric — библиотека, которую либо любят, либо ненавидят, но точно не игнорируют.
За кажущейся простотой «просто добавь зависимость» скрывается удивительная магия модификации байткода, о которой не рассказывают в статьях. Предлагаю разобраться, как на самом деле работает магия Robolectric и почему эти знания пригодятся любому android-разработчику.
#android #test #robolectric
https://habr.com/ru/companies/tbank/articles/902180/
Хабр
Что скрывает Robolectric и почему это важно знать?
Представьте, что можно тестировать android-код без эмулятора, запуская тесты за секунды вместо минут. Именно это обещает Robolectric — библиотека, которую либо любят, либо ненавидят, но точно не...
👍9👎1
ViewModelScenario - поможет протестить Lifecycle кейсы вью-модели
Доступен с Lifecycle 2.9.0-alpha08.
#android #viewmodel #test
https://medium.com/androiddevelopers/unit-testing-lifecycle-and-state-in-viewmodels-9d406c08cbd7
Доступен с Lifecycle 2.9.0-alpha08.
#android #viewmodel #test
https://medium.com/androiddevelopers/unit-testing-lifecycle-and-state-in-viewmodels-9d406c08cbd7
Medium
Unit Testing Lifecycle and State in ViewModels
Simplify Android ViewModel testing with ViewModelScenario, now available for catching cleanup and saved state errors.
👍8
Обзор последних изменений в Compose BOM 2025.04.01
- Autofill
- Text
- Visibility tracking
- Animate composable bounds
- Increased API stability
- Improvements and fixes for core features
#android #compose
https://android-developers.googleblog.com/2025/04/whats-new-in-jetpack-compose-april-25.html
- Autofill
- Text
- Visibility tracking
- Animate composable bounds
- Increased API stability
- Improvements and fixes for core features
#android #compose
https://android-developers.googleblog.com/2025/04/whats-new-in-jetpack-compose-april-25.html
Android Developers Blog
What’s new in the Jetpack Compose April ’25 release
Upgrade your Android UI development with Jetpack Compose 1.8: autofill integration, text enhancements, visibility tracking, stabilized APIs, and more
👍13
Автор призывает быть внимательнее при использовании массивов в Data классах из-за их реализации equals()
#kotlin #dataclass #array
https://proandroiddev.com/avoid-using-array-in-the-data-class-constructor-in-kotlin-ebc308e46a95
#kotlin #dataclass #array
https://proandroiddev.com/avoid-using-array-in-the-data-class-constructor-in-kotlin-ebc308e46a95
Medium
Avoid using Array in the data class constructor in Kotlin
Understand the hidden risks of using Array inside Kotlin data classes — and a better alternative.
👍5👌5🥴3❤1
Разбираем архитектуру. Часть 1. Чистая архитектура и её корни: история и взаимосвязи
#architecture
https://habr.com/ru/articles/905148/
Цель этой статьи — объединить и кратко изложить все базовые архитектурные подходы: их терминологию, концепции и отличительные черты. Собрать всё воедино, чтобы можно было относительно быстро вникнуть в основы.
#architecture
https://habr.com/ru/articles/905148/
Хабр
Разбираем архитектуру. Часть 1. Чистая архитектура и её корни: история и взаимосвязи
Предисловие Цель этой статьи — объединить и кратко изложить все базовые архитектурные подходы: их терминологию, концепции и отличительные черты. Собрать всё воедино, чтобы можно было...
👍9