Этой серией статей я хочу простым человеческим языком показать, зачем нужны Contracts, как их использовать на практике и как они работают внутри.
#kotlin #contract
https://habr.com/ru/companies/alfa/articles/916536/
Хабр
Не хотите поговорить о Kotlin Contracts?
Привет! Меня зовут Виталий. Я — Android‑разработчик в Альфа‑Банке. За время собеседований я заметил одну любопытную вещь: даже опытные котлиноводы частенько не в курсе такой...
❤7
Небольшая статья о том, почему стоит обратить внимание на новую библиотеку для навигации в Compose - Navigation 3
#android #compose #navigation
https://proandroiddev.com/future-of-android-why-navigation-3-is-a-game-changer-f835f841c17f
#android #compose #navigation
https://proandroiddev.com/future-of-android-why-navigation-3-is-a-game-changer-f835f841c17f
Medium
Future Of Android: Why Navigation 3 is a Game-Changer!
New Navigation Library that fits for all use cases.
👍12❤1
Несколько дней назад вышел Kotlin 2.2.0
What's new
Language: new language features in preview, including context parameters. Several previously experimental features are now Stable, such as guard conditions, non-local break and continue, and multi-dollar interpolation.
Kotlin compiler: unified management of compiler warnings.
Kotlin/JVM: changes to default method generation for interface functions.
Kotlin/Native: LLVM 19 and new features for tracking and adjusting memory consumption.
Kotlin/Wasm: separated Wasm target and the ability to configure Binaryen per project.
Kotlin/JS: fix for the copy() method generated for @JsPlainObject interfaces.
Gradle: binary compatibility validation in the Kotlin Gradle plugin.
Standard library: stable Base64 and HexFormat APIs.
Documentation: our documentation survey is open, and notable improvements have been made to the Kotlin documentation.
#kotlin #release
https://kotlinlang.org/docs/whatsnew22.html
What's new
Language: new language features in preview, including context parameters. Several previously experimental features are now Stable, such as guard conditions, non-local break and continue, and multi-dollar interpolation.
Kotlin compiler: unified management of compiler warnings.
Kotlin/JVM: changes to default method generation for interface functions.
Kotlin/Native: LLVM 19 and new features for tracking and adjusting memory consumption.
Kotlin/Wasm: separated Wasm target and the ability to configure Binaryen per project.
Kotlin/JS: fix for the copy() method generated for @JsPlainObject interfaces.
Gradle: binary compatibility validation in the Kotlin Gradle plugin.
Standard library: stable Base64 and HexFormat APIs.
Documentation: our documentation survey is open, and notable improvements have been made to the Kotlin documentation.
#kotlin #release
https://kotlinlang.org/docs/whatsnew22.html
Kotlin Help
What's new in Kotlin 2.2.0 | Kotlin
❤9
Незаметное ограничение Android 15
#android #background #network
https://habr.com/ru/articles/922100/
О чем речь: если приложение в фоне, то теперь не получится сделать сетевой запрос вне WorkManager или Foreground Service, иначе запрос упадет с UnknownHostException. Я проверил на своем устройстве с недавно прилетевшим Android 15 и выставленным targetSdk = 35 и это действительно так.
#android #background #network
https://habr.com/ru/articles/922100/
Хабр
Незаметное ограничение Android 15
Сейчас Android 15 активно появляется у пользователей. И, как мне кажется, одна его особенность для многих могла остаться незамеченной и даже в документации в описании...
👍10😢6😡5
Автор рассказывает про Scene Strategy в новом Navigation 3, на примере перехода между single pane и dual pane.
#android #compose #navigation
https://proandroiddev.com/custom-scene-strategy-in-navigation-3-make-your-app-flow-your-way-2feffc86ba4b
#android #compose #navigation
https://proandroiddev.com/custom-scene-strategy-in-navigation-3-make-your-app-flow-your-way-2feffc86ba4b
Medium
Custom Scene Strategy in Navigation 3 — Make Your App Flow Your Way
Take Full Control of Screen Transitions in Jetpack Compose with Your Own Scene Strategy
❤3👍2😱1
Как Android-разработчик в iOS погружался: мой опыт внедрения Kotlin Multiplatform
Продукт создавали нативно на каждую платформу, без пересечения кода. В начале года у нас ушло несколько iOS-разработчиков, из-за чего замедлилась поставка новых функций на обеих платформах. Мы решили, что это повод внедрить наконец кроссплатформенную разработку и выровнять поставку фич на обеих платформах. В этом материале расскажу, почему мы остановились на KMP, как погружались в iOS c опытом в Android и как прошло внедрение этого фреймворка. Спойлер: быстрее и проще, чем мы думали.
#android #kmp #ios #crossplatform
https://habr.com/ru/companies/ru_mts/articles/923366/
Продукт создавали нативно на каждую платформу, без пересечения кода. В начале года у нас ушло несколько iOS-разработчиков, из-за чего замедлилась поставка новых функций на обеих платформах. Мы решили, что это повод внедрить наконец кроссплатформенную разработку и выровнять поставку фич на обеих платформах. В этом материале расскажу, почему мы остановились на KMP, как погружались в iOS c опытом в Android и как прошло внедрение этого фреймворка. Спойлер: быстрее и проще, чем мы думали.
#android #kmp #ios #crossplatform
https://habr.com/ru/companies/ru_mts/articles/923366/
Хабр
Как Android-разработчик в iOS погружался: мой опыт внедрения Kotlin Multiplatform
Привет, Хабр! Меня зовут Артем Клименко, я Lead Android-разработчик в МТС Web Services, занимаюсь продуктом Membrana Kids. Продукт создавали нативно на каждую платформу, без пересечения кода. В начале...
🔥13👍3😁1🖕1
Хроника изменений API фоновой работы в Android
Наше приложение выполняет важную задачу — хранит воспоминания пользователей. Для этого необходимо уметь правильно работать с файлами в фоне, чтобы не только надёжно хранить те самые воспоминания, но и быстро их загружать, редактировать и делиться. В этой статье я расскажу о том, как мы пришли к нашим современным методам фоновой работы в Android.
#android #background
https://habr.com/ru/companies/vk/articles/916466/
Наше приложение выполняет важную задачу — хранит воспоминания пользователей. Для этого необходимо уметь правильно работать с файлами в фоне, чтобы не только надёжно хранить те самые воспоминания, но и быстро их загружать, редактировать и делиться. В этой статье я расскажу о том, как мы пришли к нашим современным методам фоновой работы в Android.
#android #background
https://habr.com/ru/companies/vk/articles/916466/
Хабр
Хроника изменений API фоновой работы в Android
Привет! Меня зовут Алексей, я работаю Android-разработчиком в Облаке Mail. Наше приложение выполняет важную задачу — хранит воспоминания пользователей. Для этого необходимо уметь правильно работать с...
👍11
Android Studio может помочь с миграцией на 16 KB page sizes
#androidstudio #performance
https://android-developers.googleblog.com/2025/07/transition-to-16-kb-page-sizes-android-apps-games-android-studio.html
Starting November 1st, 2025, all new apps and app updates that use native C/C++ code targeting Android 15+ devices submitted to Google Play must support 16 KB page sizes. This is a crucial step towards ensuring your app delivers the best possible performance on the latest Android hardware. Apps without native C/C++ code or dependencies, that just use the Kotlin and Java programming languages, are already compatible, but if you're using native code, now is the time to act.
#androidstudio #performance
https://android-developers.googleblog.com/2025/07/transition-to-16-kb-page-sizes-android-apps-games-android-studio.html
Android Developers Blog
Transition to using 16 KB page sizes for Android apps and games using Android Studio
Learn about Android's upcoming move to 16KB page sizes for performance gains, with tools in Android Studio to help app developers transition.
❤11
Статья про equals/hashcode и как это используется в Hash* коллекциях. Базовый вопрос на интервью.
#java #kotlin #collections
https://proandroiddev.com/how-to-answer-hashing-like-a-java-kotlin-expert-fc934ffabf02
#java #kotlin #collections
https://proandroiddev.com/how-to-answer-hashing-like-a-java-kotlin-expert-fc934ffabf02
Medium
How to Answer Hashing Like a Java/Kotlin Expert
Understanding hashing and the relationship between equals() and hashCode() is essential not just for interviews but for writing…
👍19
Полезное видео про Couroutines/Flow + Android Lifecycle
#android #kotiln #couroutines #flow $lifecycle #video
https://www.youtube.com/watch?v=qJB5iX2cOu0
#android #kotiln #couroutines #flow $lifecycle #video
https://www.youtube.com/watch?v=qJB5iX2cOu0
👍12🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Android-инженеры собираются на E-CODE 2025
И это звучит как лучшая идея ко Дню разработчика: Ozon Tech устраивает E-CODE 13 и 14 сентября.
Трек мобильной разработки в программе 14 сентября, но мы рекомендуем подавать заявку на оба дня. Так вы успеете побывать и на лекциях учёных, пообщаться с HR в формате 1х1, включиться в неформальный нетворк и поучаствовать во всех интерактивах — от настолок до концертов.
Увидимся на E-CODE!
И это звучит как лучшая идея ко Дню разработчика: Ozon Tech устраивает E-CODE 13 и 14 сентября.
Трек мобильной разработки в программе 14 сентября, но мы рекомендуем подавать заявку на оба дня. Так вы успеете побывать и на лекциях учёных, пообщаться с HR в формате 1х1, включиться в неформальный нетворк и поучаствовать во всех интерактивах — от настолок до концертов.
Увидимся на E-CODE!
👍4🤡4🖕1
Комментарии vs. самодокументируемый код: что выбрать?
#android #kotlin #bestpractice
https://habr.com/ru/articles/929600/
#android #kotlin #bestpractice
https://habr.com/ru/articles/929600/
Хабр
Комментарии vs. самодокументируемый код: что выбрать?
Если вы когда-либо сталкивались с чужим кодом (или даже со своим, написанным полгода назад), то знаете, как сложно бывает понять, что именно делает тот или иной фрагмент. В такие моменты особенно...
👍3❤2
Видео о проблеме забытых значений. Когда функция вызывается, но результат не используется. Самый распространенный пример - list.sorted().
#kotlin
https://www.youtube.com/watch?v=OyEfB6Q4Y0s
#kotlin
https://www.youtube.com/watch?v=OyEfB6Q4Y0s
YouTube
Don't forget your values! | Leonid Startsev
Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs
No one likes to be forgotten, and the results of most non-unit function calls are no exception here. 'Check return value' or 'ignored call result' may sound familiar —…
No one likes to be forgotten, and the results of most non-unit function calls are no exception here. 'Check return value' or 'ignored call result' may sound familiar —…
❤4👍2
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 в общем и целом, как он сохраняет и восстанавливает состояния приложения (помимо БД и файлов)...
👍11❤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❤3👍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
👍3😁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…
👍8
Ликбез по 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), чтобы сделать код более...
🥱10👍2