Обзор паттернов, полезных при создании своих UI-компонентов в Compose
#android #compose
https://proandroiddev.com/best-practices-for-composition-patterns-in-jetpack-compose-39676ffcc933
Slot pattern: This uses slots to group components together in a flexible way, making it easy to organize and rearrange UI elements.
Compound Component pattern: This shares the state of a parent component with its children to reduce coupling between components and is useful for separating UI and business logic.
#android #compose
https://proandroiddev.com/best-practices-for-composition-patterns-in-jetpack-compose-39676ffcc933
Medium
Best Practices for Composition Patterns in Jetpack Compose
Learn the Slot pattern and Compound Component pattern through real-world best practices.
👍5
Заезжаем в Kotlin Multiplatform. Но какой ценой?
#android #kotlin #multiplatform #kmp
https://habr.com/ru/articles/887574/
О чем поговорим в статье:
Пройдем путь от идеи Kotlin Multiplatform до её реализации в цифрах.
Обсудим, сколько стоило внедрить Kotlin Multiplatform в продукты и к чему это привело.
Проведём ретроспективу: стоило ли это делать вообще и стоит ли инвестировать в эту технологию дальше. А также разберём, сколько это будет стоить в перспективе.
#android #kotlin #multiplatform #kmp
https://habr.com/ru/articles/887574/
Хабр
Заезжаем в Kotlin Multiplatform. Но какой ценой?
Привет! Меня зовут Денис, я занимаюсь коммерческим программированием уже более 15 лет, управляю командами с 2017 года, работал в Яндексе, TradingView, Skillbox, Arcadia. В статье вы узнаете историю,...
❤4😨2👍1
Что же на самом деле происходит в момент загрузки? Какие этапы преодолевает система от простого нажатия кнопки включения до появления интерфейса? И как устройство готовится к полноценной работе?
#android #application #system
https://habr.com/ru/companies/surfstudio/articles/885348/
Хабр
Как оживает смартфон: Android на старте
Наши с вами телефоны включались бессчётное количество раз. Возможно, вы прямо сейчас запустили смартфон, чтобы прочитать эту статью. Ну а для тех, кто занимается разработкой, процесс включения...
👍6
Как выглядит 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
“” is published by Ioannis Anifantakis in ProAndroidDev.
👍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/
The JetBrains Blog
Kotlin 2.1.20 Released | The Kotlin Blog
The Kotlin 2.1.20 release is out! This version includes performance improvements and bug fixes for Kotlin 2.1.0. Here are some highlights from this release: K2 compiler updates: New default kapt c
👍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…
👍13👎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/
👍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/
👍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