Rich Errors в Kotlin 2.4: шаг вперёд или шаг в сторону?
#kotlin #exception #error
https://habr.com/ru/companies/spring_aio/articles/931148/
Вместо того чтобы выбрасывать исключения, теперь функции могут возвращать возможные ошибки как часть своей сигнатуры:
fun fetchUser(): User | NetworkError
Такой подход делает потенциальные сбои явными, упрощает тестирование и избавляет от try-catch для предсказуемых ошибок. Новинка уже доступна в Kotlin 2.4 и, по мнению авторов, особенно полезна в бизнес-логике.
#kotlin #exception #error
https://habr.com/ru/companies/spring_aio/articles/931148/
Хабр
Rich Errors в Kotlin 2.4: шаг вперёд или шаг в сторону?
Команда Spring АйО не могла остаться в стороне и не прокомментировать одну из самых обсуждаемых новинок Kotlin, анонсированную на KotlinConf 2025 — Rich Errors. Вместо того чтобы выбрасывать...
🤔11👍10👎6🖕1
Под капотом Android: как создаются, управляются и восстанавливаются процессы приложений в системе
#android #system #process
https://habr.com/ru/companies/psb/articles/931712/
На одном из собеседований мне задали вопрос, про восстановление приложения после смерти, на который я не смог ответить. Мне стало интересно и я решил изучить этот вопрос и в результате появилась эта статья.
Но собрать информацию оказалось не так‑то и просто. И после долгих поисков, запросов к нейросеткам (которые ещё и привирали порой), просмотра документации и анализа всей полученной информации, я получил базовое представление о теме.
Решил сократить и при этом структурировать всё, что нашёл, и поделиться с сообществом — возможно, кому‑то это поможет подготовиться к собеседованию на сеньора и не потерять при этом кучу времени и нервов:)
#android #system #process
https://habr.com/ru/companies/psb/articles/931712/
Хабр
Под капотом Android: как создаются, управляются и восстанавливаются процессы приложений в системе
Эта статья родилась из практической задачи — понять, как устроен Android в общем и целом, как он сохраняет и восстанавливает состояния приложения (помимо БД и файлов)...
👍13❤4
This media is not supported in your browser
VIEW IN TELEGRAM
23 августа пройдет фестиваль Яндекса для мобильных разработчиков — Mobile Runtime!
Это фест с упором на практику: будем не слушать, а прокачиваться на воркшопах, кодить и участвовать в дискуссиях.
В программе:
— AI-хакатон, где нужно создать работающий продукт с помощью ИИ за 5 часов. Ваши решения будут оценивать жюри: Дмитрий Мовчан (Дзен), Геннадий Евстратов (Яндекс), Анна Жаркова (Usetech) и другие. Победителей ждут призы, а всех участников — классный опыт. Регистрация на хакатон — отдельная.
— Практические воркшопы по ускорению приложений и MCP
— Карьерные консультации с лидами и сеньорами из Яндекса и других компаний
— Квиз по iOS, Android и Flutter для тех, кто любит мобилку и искусство
А еще будем много общаться и отдыхать! Команда Поиска и рекламных технологий подготовила зону с настолками, Яндекс 360 — фирменный бар, а Городские сервисы Яндекса организуют дискуссию о тестировании, метриках и BDUI.
Регистрируйся
Это фест с упором на практику: будем не слушать, а прокачиваться на воркшопах, кодить и участвовать в дискуссиях.
В программе:
— AI-хакатон, где нужно создать работающий продукт с помощью ИИ за 5 часов. Ваши решения будут оценивать жюри: Дмитрий Мовчан (Дзен), Геннадий Евстратов (Яндекс), Анна Жаркова (Usetech) и другие. Победителей ждут призы, а всех участников — классный опыт. Регистрация на хакатон — отдельная.
— Практические воркшопы по ускорению приложений и MCP
— Карьерные консультации с лидами и сеньорами из Яндекса и других компаний
— Квиз по iOS, Android и Flutter для тех, кто любит мобилку и искусство
А еще будем много общаться и отдыхать! Команда Поиска и рекламных технологий подготовила зону с настолками, Яндекс 360 — фирменный бар, а Городские сервисы Яндекса организуют дискуссию о тестировании, метриках и BDUI.
Регистрируйся
💩11❤4👍2🔥2🖕2
Обзор обновлений в стабильной студии
#androidstudio
https://android-developers.googleblog.com/2025/07/android-studio-narwhal-feature-drop-stable-agent-mode.html
#androidstudio
https://android-developers.googleblog.com/2025/07/android-studio-narwhal-feature-drop-stable-agent-mode.html
👍4😁1
Обзор новой Compose функции - retain. Похоже на функцию remember с временем жизни ViewModel.
#compose #lifecycle #viewmodel #retain #remember
https://proandroiddev.com/exploring-retain-api-a-new-way-to-persist-state-in-jetpack-compose-bfb2fe2eae43
#compose #lifecycle #viewmodel #retain #remember
https://proandroiddev.com/exploring-retain-api-a-new-way-to-persist-state-in-jetpack-compose-bfb2fe2eae43
Medium
Previewing retain{} API: A New Way to Persist State in Jetpack Compose
Jetpack Compose has reshaped how we think about UI in Android. With its declarative nature, reactive state model, and composable functions…
👍10
Ликбез по UseCase’ам Android
#architecture #betstpractices #solid #usecase
https://habr.com/ru/companies/otus/articles/925614/
Какое отношение юзкейсы имеют к Чистой архитектуре? Юзкейс (Use Case) — это основной элемент в этой философии. Он представляет собой отдельную операцию с единственной ответственностью в рамках вашего приложения.
Как и остальные компоненты в Чистой архитектуре, юзкейсы соответствуют определенному шаблону: их интерфейсы определяются в слое домена, а реализации находятся в слое данных. Этот подход способствует соблюдению сразу нескольких принципов SOLID.
#architecture #betstpractices #solid #usecase
https://habr.com/ru/companies/otus/articles/925614/
Хабр
Ликбез по UseCase’ам Android: от базовых реализаций до мультипровайдерных и многомодульных систем — Часть 1
Делаем архитектуру вашего Android‑приложения SOLID'нее... Современные Kotlin (и Android) проекты часто следуют принципам «Чистой» архитектуры (Clean Architecture), чтобы сделать код более...
🥱20👍5❤1👎1
Интересное описание эксперимента, в котором поручили ИИ создать Spring Boot приложение.
Я недавно тоже провел эксперимент - попросил агента в студии интегрировать Pagination вместо простого запроса данных. Мы это делали по шагам - от дата слоя к UI, с подробными промптами и указанием всех необходимых классов, типов и аргументов.
В целом он справился, но часто "забывал" какие классы ему нужны, не заканчивал текущий шаг и пытался перейти к следующему, или просто останавливался и говорил, что больше так не может))
#android #ai #codegeneration #vibecoding
https://martinfowler.com/articles/pushing-ai-autonomy.html
Я недавно тоже провел эксперимент - попросил агента в студии интегрировать Pagination вместо простого запроса данных. Мы это делали по шагам - от дата слоя к UI, с подробными промптами и указанием всех необходимых классов, типов и аргументов.
В целом он справился, но часто "забывал" какие классы ему нужны, не заканчивал текущий шаг и пытался перейти к следующему, или просто останавливался и говорил, что больше так не может))
#android #ai #codegeneration #vibecoding
https://martinfowler.com/articles/pushing-ai-autonomy.html
martinfowler.com
How far can we push AI autonomy in code generation?
An experiment to test the limits of autonomous code generation by LLMs
😁9❤3👍1🖕1
Короткий пост о том, что в Kotlin для создания коллекций существуют удобные build* функции
#kotlin #collections
https://landomen.github.io/posts/kotlin-builder-functions/
#kotlin #collections
https://landomen.github.io/posts/kotlin-builder-functions/
Domen Lanisnik
Kotlin’s Builder Functions: A Better Way to Create Lists, Maps, Strings & Sets
Kotlin offers several convenience functions to create lists, maps, strings, and more without the usual boilerplate code.
👍12
RetainedEffect - Side Effect в Compose на базе новой функции retain
#compose #kotlin #sideeffect #retain
https://proandroiddev.com/previewing-retainedeffect-a-new-side-effect-to-bridge-between-composition-and-retention-lifecycles-685b9e543de7
#compose #kotlin #sideeffect #retain
https://proandroiddev.com/previewing-retainedeffect-a-new-side-effect-to-bridge-between-composition-and-retention-lifecycles-685b9e543de7
Medium
Previewing RetainedEffect: A New Side Effect to Bridge Between Composition and Retention Lifecycles
The Jetpack Compose ecosystem has grown exponentially in recent years, and it is now widely adopted for building production-level UIs in…
👍3
Обзор изменений в Media3 1.8.0
#android #media
- Scrubbing in ExoPlayer
- Live streaming ads with HLS interstitials
- Duration retrieval without playback
- Partial downloads, XR audio routing and more efficient playback
- Playback resumption in demo app and better notification defaults
- Faster trim operations with edit list support
- Chipset specific optimizations with CodecDbLite
- New Composition demo
https://android-developers.googleblog.com/2025/08/media3-180-whats-new.html
#android #media
- Scrubbing in ExoPlayer
- Live streaming ads with HLS interstitials
- Duration retrieval without playback
- Partial downloads, XR audio routing and more efficient playback
- Playback resumption in demo app and better notification defaults
- Faster trim operations with edit list support
- Chipset specific optimizations with CodecDbLite
- New Composition demo
https://android-developers.googleblog.com/2025/08/media3-180-whats-new.html
Android Developers Blog
Media3 1.8.0 - What’s new?
Media3 1.8.0 release features a scrubbing mode in ExoPlayer, live streaming ad support with HLS interstitials, updated MetadataRetriever, and more.
👍4😱1
Обзор обновлений в последнем релизе Compose BOM 2025.08.00
- Shadows
- New Visibility modifiers
- Rich styling in OutputTransformation
- LazyLayout
- Scroll
- Improve crash analysis
- New annotations and Lint checks
- Additional updates
#android #compose
https://android-developers.googleblog.com/2025/08/whats-new-in-jetpack-compose-august-25-release.html
- Shadows
- New Visibility modifiers
- Rich styling in OutputTransformation
- LazyLayout
- Scroll
- Improve crash analysis
- New annotations and Lint checks
- Additional updates
#android #compose
https://android-developers.googleblog.com/2025/08/whats-new-in-jetpack-compose-august-25-release.html
Android Developers Blog
What’s new in the Jetpack Compose August ’25 release
The Jetpack Compose 1.9 release introduces features like advanced shadow modifiers, new visibility modifiers, and enhanced rich styling capabilities.
🔥4👍2
Как мы переписали мобильное приложение с 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 — казалось, это идеальный компромисс между скоростью разработки и кроссплатформенностью. Однако, со временем мы...
👎34🖕9👍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
👍4😢1