Как мы переписали мобильное приложение с React Native на Flutter
Kotlin Multiplatform показался слишком сырым для полноценной разработки в небольшой команде. Да, бизнес-логику можно было бы переиспользовать, но UI по-прежнему пришлось бы писать отдельно для iOS и Android - а это сильно снижает выигрыш по времени и усилиям. Кроме того, до недавнего времени существовала проблема с фризами, связанные с работой сборщика мусора. А из-за молодого комьюнити выбор готовых библиотек оказался бы ограниченным, и многое приходилось бы реализовывать вручную.
На мой взгляд, KMP отлично подходит для готовых продуктов, которые уже написаны на Kotlin и хотят добавить поддержку iOS с минимальными затратами.
#android #multiplatform #kmp #flutter
https://habr.com/ru/articles/929058/
Kotlin Multiplatform показался слишком сырым для полноценной разработки в небольшой команде. Да, бизнес-логику можно было бы переиспользовать, но UI по-прежнему пришлось бы писать отдельно для iOS и Android - а это сильно снижает выигрыш по времени и усилиям. Кроме того, до недавнего времени существовала проблема с фризами, связанные с работой сборщика мусора. А из-за молодого комьюнити выбор готовых библиотек оказался бы ограниченным, и многое приходилось бы реализовывать вручную.
На мой взгляд, KMP отлично подходит для готовых продуктов, которые уже написаны на Kotlin и хотят добавить поддержку iOS с минимальными затратами.
#android #multiplatform #kmp #flutter
https://habr.com/ru/articles/929058/
Хабр
Как мы переписали мобильное приложение с React Native на Flutter
Когда мы только начинали разработку мобильного приложения, выбор пал на React Native — казалось, это идеальный компромисс между скоростью разработки и кроссплатформенностью. Однако, со временем мы...
👎35🖕10👍6😁3
Как RecyclerView создает магию анимаций: архитектура ItemAnimator под капотом
В основе системы анимаций лежит простая идея: чтобы анимировать изменение, нужно знать состояние "до" и состояние "после". RecyclerView реализует это через трехфазный процесс layout:
1. Pre-Layout (dispatchLayoutStep1) — захват начального состояния
2. Real Layout (dispatchLayoutStep2) — расчет финальных позиций
3. Post-Layout (dispatchLayoutStep3) — сравнение и запуск анимаций
Каждая фаза выполняется последовательно при любом изменении данных. Давайте пройдемся по каждой фазе и посмотрим, что происходит на самом деле.
#android #recyclerview #animation
https://habr.com/ru/articles/939594/
В основе системы анимаций лежит простая идея: чтобы анимировать изменение, нужно знать состояние "до" и состояние "после". RecyclerView реализует это через трехфазный процесс layout:
1. Pre-Layout (dispatchLayoutStep1) — захват начального состояния
2. Real Layout (dispatchLayoutStep2) — расчет финальных позиций
3. Post-Layout (dispatchLayoutStep3) — сравнение и запуск анимаций
Каждая фаза выполняется последовательно при любом изменении данных. Давайте пройдемся по каждой фазе и посмотрим, что происходит на самом деле.
#android #recyclerview #animation
https://habr.com/ru/articles/939594/
Хабр
Как RecyclerView создает магию анимаций: архитектура ItemAnimator под капотом
Введение RecyclerView умеет превращать обычные операции с данными в плавные анимации. Когда вы добавляете элемент в список, остальные элементы плавно расступаются. При удалении — схлопываются. Эта...
👍11❤1
Android Studio теперь каждый месяц получает новую стабильную Feature Drop версию.
#androidstudio #android
https://android-developers.googleblog.com/2025/08/accelerating-development-with-monthly-releases-android-studio-2x-more-than-before.html
#androidstudio #android
https://android-developers.googleblog.com/2025/08/accelerating-development-with-monthly-releases-android-studio-2x-more-than-before.html
👍5😢4
Автор приводит минусы загрузки данных в ViewModel.init и рассматривает Flow-based решение на замену
#android #viewmodel #architecture #bestpractise
https://funkymuse.dev/posts/properly-load-data/
#android #viewmodel #architecture #bestpractise
https://funkymuse.dev/posts/properly-load-data/
FunkyMuse
Android ViewModel Data Loading: Best Practices and Flow-Based Architecture
Architecture discussions in Android development often spark passionate debates—sometimes garnering both praise and criticism. Writing about these topics isn’t easy, but that’s what makes it worthwhile.
1❤9
Google меняет правила игры: верификация разработчиков и ограничения APK в Android
#googleplay #android
https://habr.com/ru/articles/942522/
Google анонсировал радикальные изменения в экосистеме Android, которые затронут процесс установки приложений из сторонних источников. Новая система верификации разработчиков может перевернуть привычный подход к sideload'у APK‑файлов. Давайте разберёмся, что это значит для пользователей, разработчиков и всей экосистемы Android.
#googleplay #android
https://habr.com/ru/articles/942522/
Хабр
Google меняет правила игры: верификация разработчиков и ограничения APK в Android
Google анонсировал радикальные изменения в экосистеме Android, которые затронут процесс установки приложений из сторонних источников. Новая система верификации разработчиков может...
😢21❤3👍3
Обзор 5 малоизвестных Compose компонентов
- TriStateCheckbox
- SegmentedButton
- RangeSlider
- Badge
- Tooltip
#android #compose
https://proandroiddev.com/exploring-5-lesser-known-compose-components-9a5cfd5eb354
- TriStateCheckbox
- SegmentedButton
- RangeSlider
- Badge
- Tooltip
#android #compose
https://proandroiddev.com/exploring-5-lesser-known-compose-components-9a5cfd5eb354
Medium
Exploring 5 Lesser-Known Compose Components
We explore lesser known components in Compose Material 3 such as TriStateCheckbox, RangeSlider, SegmentedButton, and others.
✍15👍15
Видео обзор wake lock метрик в Android Vitals
#android #performance #vitals
https://www.youtube.com/watch?v=-6mEvkLOlno
#android #performance #vitals
https://www.youtube.com/watch?v=-6mEvkLOlno
👍3🤔2
Обзор Visibility APIs в Jetpack Compose:
- Modifier.onVisibilityChanged
- Modifier.onFirstVisible
#android #compose
https://proandroiddev.com/visibility-apis-in-jetpack-compose-1-9-easier-cleaner-but-not-quite-there-yet-9bbfdb60bd6b
- Modifier.onVisibilityChanged
- Modifier.onFirstVisible
#android #compose
https://proandroiddev.com/visibility-apis-in-jetpack-compose-1-9-easier-cleaner-but-not-quite-there-yet-9bbfdb60bd6b
Medium
Visibility APIs in Jetpack Compose 1.9
Track the visibility of composables reliably.
👍14
Ответы на самые распространенные вопросы о недавно анонсированном Android developer verification
#android #developer #verification
https://android-developers.googleblog.com/2025/09/lets-talk-security-answering-your-top.html
#android #developer #verification
https://android-developers.googleblog.com/2025/09/lets-talk-security-answering-your-top.html
Android Developers Blog
Let's talk security: Answering your top questions about Android developer verification
News and insights on the Android platform, developer tools, and events.
2👍4
Подробный материал про Stability в Compose
#android #compose
https://github.com/skydoves/compose-stability-inference
#android #compose
https://github.com/skydoves/compose-stability-inference
GitHub
GitHub - skydoves/compose-stability-inference: 📚 A comprehensive study of how the Compose compiler determines type stability for…
📚 A comprehensive study of how the Compose compiler determines type stability for recomposition optimization. - skydoves/compose-stability-inference
👍7😢1
Беседа про Journeys. Это новый способ написания end-to-end тестов на человеческом языке с помощью Gemini.
#android #test #ai #gemini
https://www.youtube.com/watch?v=DiqQrSqHyds
#android #test #ai #gemini
https://www.youtube.com/watch?v=DiqQrSqHyds
❤3👍1👏1
Шутки и веселье в публичном Android API
#android
https://habr.com/ru/articles/919062/
Сегодня я расскажу о методах и других частях публично доступного Android API, которые могут показаться больше смешными, чем полезными. Это пасхальные яйца, шутки, видимые только разработчикам приложений для Android, но не обычным пользователям.
#android
https://habr.com/ru/articles/919062/
Хабр
Шутки и веселье в публичном Android API
Ранее я рассказывал об относительно малоизвестной и ныне удалённой строке-заполнителе в Android, использовавшейся в качестве пасхалки. Это был выдуманный оператор сотовой связи под названием El Telco...
👍7❤🔥2🔥2🤮2
Статья с примерами, рассказывающая про использование runCatching вместо try-catch
#android #kotlin
https://proandroiddev.com/kotlin-tips-and-tricks-you-may-not-know-7-goodbye-try-catch-hello-trycatching-7135cb382609
#android #kotlin
https://proandroiddev.com/kotlin-tips-and-tricks-you-may-not-know-7-goodbye-try-catch-hello-trycatching-7135cb382609
Medium
Kotlin Tips and Tricks You May Not Know: #7 — Goodbye try-catch, Hello runCatching!
A cleaner way to handle exceptions in Kotlin with runCatching.
👍7👎1🔥1
Метрика excessive partial wake locks вышла из беты и доступна всем разработчикам в Android Vitals
Эта метрика поможет снизить потребление батареи. Имеет смысл обратить на нее внимание, т.к. это будет влиять, например, на появление приложения в рекомендациях с 01.03.2026.
#performance #vital #battery #android
https://android-developers.googleblog.com/2025/11/raising-bar-on-battery-performance.html
Эта метрика поможет снизить потребление батареи. Имеет смысл обратить на нее внимание, т.к. это будет влиять, например, на появление приложения в рекомендациях с 01.03.2026.
#performance #vital #battery #android
https://android-developers.googleblog.com/2025/11/raising-bar-on-battery-performance.html
Android Developers Blog
Raising the bar on battery performance: excessive partial wake locks metric is now out of beta
News and insights on the Android platform, developer tools, and events.
👍6❤2🔥2
Вышла стабильная версия 1.0 библиотеки Jetpack Navigation 3
#android #compose #navigation
https://android-developers.googleblog.com/2025/11/jetpack-navigation-3-is-stable.html
#android #compose #navigation
https://android-developers.googleblog.com/2025/11/jetpack-navigation-3-is-stable.html
Android Developers Blog
Jetpack Navigation 3 is stable
News and insights on the Android platform, developer tools, and events.
🎉18👍8
Руководство по производительности приложений, включающее в себя 5 уровней
Level 1: Use Play Console provided field monitoring
Level 2: Follow the App Performance Score action items
Level 3: Leverage local performance test frameworks
Level 4: Use trace analysis tools like Perfetto
Level 5: Build your own performance tracking framework
#android #performance
https://android-developers.googleblog.com/2025/11/leveling-guide-for-your-performance.html
Level 1: Use Play Console provided field monitoring
Level 2: Follow the App Performance Score action items
Level 3: Leverage local performance test frameworks
Level 4: Use trace analysis tools like Perfetto
Level 5: Build your own performance tracking framework
#android #performance
https://android-developers.googleblog.com/2025/11/leveling-guide-for-your-performance.html
Android Developers Blog
Leveling Guide for your Performance Journey
News and insights on the Android platform, developer tools, and events.
👍8
Live Updates на Android: где макеты врут, a SDK ставит границы
#android #notifications #liveupdates
https://habr.com/ru/companies/dododev/articles/969810/
Live Updates — это режим повышенной видимости. Его можно включить не только для отображения прогресса, но и для других системных шаблонов, например, звонков (CallStyle) или навигации. Как я уже и говорил, фича работает и без progress-centric. Если использовать подходящий системный стиль, Android закрепит карточку сверху, добавит чип в статус-баре и выведет на заблокированный экран уведомление, которое будет работать даже в режиме Always-On-Display, что клёво
#android #notifications #liveupdates
https://habr.com/ru/companies/dododev/articles/969810/
Хабр
Live Updates на Android: где макеты врут, a SDK ставит границы
Привет, Хабр! Меня зовут Сергей Орлов, я — Android-разработчик в Dodo Engineering. В этой статье я расскажу, как и зачем мы в приложение Додо Пиццы Live Updates завозили. Сразу скажу, что вы не...
👍4🔥1
Подборка новостей из мира Kotlin
- Kotlin 2.3.0-RC is out!
- A fresh look for Kotlin docs
- Join the Kotlin team for an AMA on Reddit
- Kotlin Multiplatform: Level up before 2026!
- How Android devs can advance their career with KMP – livestream (December 3)
- KotlinConf’26 Black Friday special
- The KotlinConf’26 Call for Speakers is closing soon
- Kotlin adoption guide
- Your Ktor experience counts – tell us about it
- Getting closer to Exposed 1.0.0!
- Google Summer of Code 2025: What our contributors built
- Quick poll for Android devs
#kotlin #kmp #android
https://blog.jetbrains.com/kotlin/2025/11/kodees-kotlin-roundup-november-edition
- Kotlin 2.3.0-RC is out!
- A fresh look for Kotlin docs
- Join the Kotlin team for an AMA on Reddit
- Kotlin Multiplatform: Level up before 2026!
- How Android devs can advance their career with KMP – livestream (December 3)
- KotlinConf’26 Black Friday special
- The KotlinConf’26 Call for Speakers is closing soon
- Kotlin adoption guide
- Your Ktor experience counts – tell us about it
- Getting closer to Exposed 1.0.0!
- Google Summer of Code 2025: What our contributors built
- Quick poll for Android devs
#kotlin #kmp #android
https://blog.jetbrains.com/kotlin/2025/11/kodees-kotlin-roundup-november-edition
The JetBrains Blog
Kodee’s Kotlin Roundup: Too Many News to Keep Quiet About | The Kotlin Blog
Kodee has gathered the latest Kotlin highlights for you — from the Kotlin Reddit AMA and documentation updates to learning programs and Google Summer of Code 2025 projects.
👍3
Видео Navigation 3 API overview
- Nav3 basics
- Defining content with NavEntry and entryProvider
- API basics - coding walkthrough
- Multi-module Navigation
- Modularization - coding walkthrough
- Animating between screens
- Animations - coding walkthrough
- Adaptive layouts using Scenes
- Adaptive layouts - coding walkthrough
- Recap
#android #navigation
https://www.youtube.com/watch?v=6L6GfvlmKj8
- Nav3 basics
- Defining content with NavEntry and entryProvider
- API basics - coding walkthrough
- Multi-module Navigation
- Modularization - coding walkthrough
- Animating between screens
- Animations - coding walkthrough
- Adaptive layouts using Scenes
- Adaptive layouts - coding walkthrough
- Recap
#android #navigation
https://www.youtube.com/watch?v=6L6GfvlmKj8
YouTube
Navigation 3 API overview | Spotlight Week
Learn Jetpack Navigation 3, Google's new library for building navigation in Android apps. Discover how to use keys to represent navigable content, manage your back stack, and create `NavEntry`s to contain your Composable content.
Learn how to modularize…
Learn how to modularize…
👍5🔥3❤1
Что нового в Jetpack Compose December '25
Performance improvements
- Pausable composition in lazy prefetch
New features
- Retain
- Material 1.4
New animation features
- Dynamic shared elements
- Modifier.skipToLookaheadPosition()
- Initial velocity in shared element transitions
- Veiled transitions
Upcoming changes
- Deprecation of Modifier.onFirstVisible
- Coroutine dispatch in tests
Tools
#android #compose
https://android-developers.googleblog.com/2025/12/whats-new-in-jetpack-compose-december.html
Performance improvements
- Pausable composition in lazy prefetch
New features
- Retain
- Material 1.4
New animation features
- Dynamic shared elements
- Modifier.skipToLookaheadPosition()
- Initial velocity in shared element transitions
- Veiled transitions
Upcoming changes
- Deprecation of Modifier.onFirstVisible
- Coroutine dispatch in tests
Tools
#android #compose
https://android-developers.googleblog.com/2025/12/whats-new-in-jetpack-compose-december.html
Android Developers Blog
What's new in the Jetpack Compose December '25 release
News and insights on the Android platform, developer tools, and events.
👍4❤1