Что нового в Kotlin 2.3.0
Language: more stable and default features, unused return value checker, explicit backing fields, and changes to context-sensitive resolution.
Kotlin/JVM: support for Java 25.
Kotlin/Native: improved interop through Swift export, faster build time for release tasks, C and Objective-C library import in Beta.
Kotlin/Wasm: fully qualified names and new exception handling proposal enabled by default, as well as new compact storage for Latin-1 characters.
Kotlin/JS: new experimental suspend function export, LongArray representation, unified companion object access, and more.
Gradle: compatibility with Gradle 9.0 and a new API for registering generated sources.
Compose compiler: stack traces for minified Android applications.
Standard library: stable time tracking functionality and improved UUID generation and parsing.
#kotlin
https://kotlinlang.org/docs/whatsnew23.html
Language: more stable and default features, unused return value checker, explicit backing fields, and changes to context-sensitive resolution.
Kotlin/JVM: support for Java 25.
Kotlin/Native: improved interop through Swift export, faster build time for release tasks, C and Objective-C library import in Beta.
Kotlin/Wasm: fully qualified names and new exception handling proposal enabled by default, as well as new compact storage for Latin-1 characters.
Kotlin/JS: new experimental suspend function export, LongArray representation, unified companion object access, and more.
Gradle: compatibility with Gradle 9.0 and a new API for registering generated sources.
Compose compiler: stack traces for minified Android applications.
Standard library: stable time tracking functionality and improved UUID generation and parsing.
#kotlin
https://kotlinlang.org/docs/whatsnew23.html
Kotlin Help
What's new in Kotlin 2.3.0 | Kotlin
Read the Kotlin 2.3.0 release notes covering new language features, updates to Kotlin Multiplatform, JVM, Native, JS, and Wasm, and build tool support for Gradle and Maven.
👍3
Небольшой видеокурс от команды Gradle о том, как создавать Gradle плагины
#gradle
https://www.youtube.com/playlist?list=PLLQbIfXVLZqF49D6ATgAB5m6TYDzdkPpu
#gradle
https://www.youtube.com/playlist?list=PLLQbIfXVLZqF49D6ATgAB5m6TYDzdkPpu
❤11👍8
Переводим проекты на Android Gradle Plugin 9.0
#kotlin #android #gradle
https://blog.jetbrains.com/kotlin/2026/01/update-your-projects-for-agp9/
#kotlin #android #gradle
https://blog.jetbrains.com/kotlin/2026/01/update-your-projects-for-agp9/
The JetBrains Blog
Update your Kotlin projects for Android Gradle Plugin 9.0 | The Kotlin Blog
Learn how to migrate your projects to AGP 9.0 by moving to built-in Kotlin and the new Android KMP library plugin.
👍3
🤖 Android-приложение — это не просто набор экранов и кнопок. За ним стоит чёткая системная архитектура: sandbox, IPC, жизненные циклы и компоненты, от понимания которых зависит стабильность, безопасность и масштабируемость приложения.
На открытом вебинаре OTUS подробно разберём, как Android-приложение работает внутри системы. Поговорим о sandbox и взаимодействии с ОС, разберём обмен данными между приложениями и заглянем под капот Binder IPC.
Этот урок поможет выстроить фундаментальное понимание платформы Android. Без него сложно осознанно проектировать приложения, принимать архитектурные решения и двигаться дальше от простых примеров к промышленной разработке.
📆 Встречаемся 5 февраля в 20:00 МСК в преддверии старта курса «Android Developer». Регистрация открыта: https://otus.pw/XamT/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
На открытом вебинаре OTUS подробно разберём, как Android-приложение работает внутри системы. Поговорим о sandbox и взаимодействии с ОС, разберём обмен данными между приложениями и заглянем под капот Binder IPC.
Этот урок поможет выстроить фундаментальное понимание платформы Android. Без него сложно осознанно проектировать приложения, принимать архитектурные решения и двигаться дальше от простых примеров к промышленной разработке.
📆 Встречаемся 5 февраля в 20:00 МСК в преддверии старта курса «Android Developer». Регистрация открыта: https://otus.pw/XamT/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍5🤡3❤1😁1
Ниже расскажу, как паттерн Memento реализуется в Android через CustomView, SavedStateHandle, Compose и навигацию. Основное внимание уделю CustomView — недооцененному способу сохранения состояния, который позволяет держать экраны легкими. View сама знает, что сохранять и как восстанавливать, без необходимости тащить все в Activity или Fragment. Также рассмотрю типичные ошибки, ограничения Bundle и методы тестирования восстановления после process death.
#android #state
https://habr.com/ru/articles/990568/
Хабр
Паттерн Memento в Android: полный разбор сохранения состояния
Привет, Хабр! На связи Алина, старший Android-разработчик в команде Инвестиций компании «Совкомбанк Технологии». Мы разрабатываем, поддерживаем и улучшаем приложение «Совкомбанк Инвестиции». Если вы...
❤11👍5💩2
Несмотря на недостатки, я считаю возможным оставить SP в проекте, если он используется в нескольких местах приложения, не используется в Compose, лишние данные очищаются, нет работы с большими объектами, а так же проект сам по себе не перегружен другими операциями. Как только одно из условий нарушается, работа с SP может хоть и не испортить ситуацию самостоятельно, но сыграть роль накопителя нагрузки. Если вы видите у себя в проекте странные ANR , связанные с SP, а так же ваш проект подходит под описание выше, то данные видимые проблемы становятся аргументами для переходу на Datastore.
#android #preferences #datastore
https://habr.com/ru/companies/alfa/articles/991556/
Хабр
Ахиллесова пята SharedPreferences и стоит ли внедрять Datastore как альтернативу
В этой статье я расскажу то, о чём не спрашивают на собесeдованиях и не рассказывают на курсах по Android-разработке — о неявной особенности Android, которая влияет на деградацию производительности и...
👍5👎1
🤖 AI в практике разработчиков: новый сезон Podlodka AI Crew
«Мы поигрались с промптом, но пока не внедряли» — часто разговоры про AI в разработке заканчиваются именно так.
Инструментов всё больше, а вот времени на то, чтобы разобраться и сделать так, чтобы магия заработала, порой не хватает.
С 16 по 20 февраля у Podlodka AI Crew пройдёт сезон «AI-агенты в разработке»: проверенные рабочие сценарии от практиков индустрии.
👀 В программе:
• единый AI-workflow для разработчика
• автоматизация стендапов и работы с документацией
• Claude Code, субагенты для кодинга
• практические кейсы внедрения AI в SRE
• подходы к созданию промптов с насыщенным контекстом
Формат — классический для Podlodka Crew: 5 дней, 10+ спикеров, 10 сессий и закрытое комьюнити в Telegram.
Отдельный плюс — цена: заметно ниже привычных конференций, при этом контента много, и он ориентирован на практику.
👉🏻Если тема AI в разработке вам интересна и хочется меньше хайпа, больше дела — держите ссылку.
А по промокоду START_AI получите скидку🎁
«Мы поигрались с промптом, но пока не внедряли» — часто разговоры про AI в разработке заканчиваются именно так.
Инструментов всё больше, а вот времени на то, чтобы разобраться и сделать так, чтобы магия заработала, порой не хватает.
С 16 по 20 февраля у Podlodka AI Crew пройдёт сезон «AI-агенты в разработке»: проверенные рабочие сценарии от практиков индустрии.
👀 В программе:
• единый AI-workflow для разработчика
• автоматизация стендапов и работы с документацией
• Claude Code, субагенты для кодинга
• практические кейсы внедрения AI в SRE
• подходы к созданию промптов с насыщенным контекстом
Формат — классический для Podlodka Crew: 5 дней, 10+ спикеров, 10 сессий и закрытое комьюнити в Telegram.
Отдельный плюс — цена: заметно ниже привычных конференций, при этом контента много, и он ориентирован на практику.
👉🏻Если тема AI в разработке вам интересна и хочется меньше хайпа, больше дела — держите ссылку.
👍2
Я работаю на проекте Android приложения Альфа-банка для физических лиц. Для нашего большого проекта это время — больная тема, так как у нас около 800 модулей и большая часть кода полностью покрыта unit тестами (за некоторыми исключениями, например, view классы). Сейчас у нас почти 6000 spec (тест-классов) в которых 37 000 тест-кейсов.
Общее время прогона всех тестов на CI превышало 3 часа. Локально все тесты прогнать вообще было утопией, так как вероятнее всего сборка просто падала от нехватки оперативной памяти.
Сейчас все тесты проекта мы научились прогонять за честные 12 минут и я расскажу что для этого потребовалось.
#android #gradle #performance
https://habr.com/ru/companies/alfa/articles/993352/
Хабр
37 000 unit-тестов против Gradle: как мы добились 12-минутного прогона
Привет я Федотов Михаил, технический лидер по Android-разработке в Альфа-Банке. Сегодня хочу поговорить про performance (ускорение) unit-тестов. Я работаю на проекте Android приложения Альфа-банка для...
❤11💩4🔥3👍2
Вышла первая бета Android 17
What's new:
Orientation and resizability restrictions
- Key Changes for SDK 37
- Exemptions and User Control
- Updates to configuration changes
Performance
- Lock-free MessageQueue
- Generational garbage collection
- Static final fields now truly final
- Custom Notification View Restrictions
- New performance debugging ProfilingManager triggers
Media and Camera
- Dynamic Camera Session Updates
- Logical multi-camera device metadata
- Versatile Video Coding (VVC) support
- Constant Quality for Video Recording
- Background Audio Hardening
Privacy and Security
- Deprecation of Cleartext Traffic Attribute
- HPKE Hybrid Cryptography
Connectivity and Telecom
- Enhanced VoIP Call History
- Wi-Fi Ranging and Proximity
Developer Productivity and Tools
- Updates for companion device apps
#android #beta #release
https://android-developers.googleblog.com/2026/02/the-first-beta-of-android-17.html
https://android-developers.googleblog.com/2026/02/prepare-your-app-for-resizability-and.html
What's new:
Orientation and resizability restrictions
- Key Changes for SDK 37
- Exemptions and User Control
- Updates to configuration changes
Performance
- Lock-free MessageQueue
- Generational garbage collection
- Static final fields now truly final
- Custom Notification View Restrictions
- New performance debugging ProfilingManager triggers
Media and Camera
- Dynamic Camera Session Updates
- Logical multi-camera device metadata
- Versatile Video Coding (VVC) support
- Constant Quality for Video Recording
- Background Audio Hardening
Privacy and Security
- Deprecation of Cleartext Traffic Attribute
- HPKE Hybrid Cryptography
Connectivity and Telecom
- Enhanced VoIP Call History
- Wi-Fi Ranging and Proximity
Developer Productivity and Tools
- Updates for companion device apps
#android #beta #release
https://android-developers.googleblog.com/2026/02/the-first-beta-of-android-17.html
https://android-developers.googleblog.com/2026/02/prepare-your-app-for-resizability-and.html
Android Developers Blog
The First Beta of Android 17
News and insights on the Android platform, developer tools, and events.
❤8👍4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
👨💻 Вы пишете адаптеры для RecyclerView и чувствуете, что делаете это не так
Когда список простой — всё понятно. Но стоит добавить разные типы элементов, свайпы или drag-and-drop, код превращается в месиво условий и костылей. Работает, но выглядит не по-профессиональному.
Разница между junior и middle — не в том, умеете ли вы делать списки. А в том, как вы это делаете.
🗓 25 февраля в 20:00 — открытый урок «Работаем со списками как профессионалы»
Разберём то, что отличает рабочий код от профессионального: разнородные элементы, ItemViewType, перетаскивание и смахивание без костылей.
Что рассмотрим:
✅как правильно работать с разными типами элементов в одном списке
✅ как реализовать drag-and-drop и swipe-to-dismiss
✅ как писать чистый, поддерживаемый код для сложных адаптеров
❗️После урока вы поймёте, как делать списки на уровне middle-разработчика. Без велосипедов, по стандартам индустрии.
Урок проходит в преддверии старта курса «Android Developer. Professional». Все участники получат скидку на обучение.
➡️ Регистрация по ссылке: https://otus.pw/WdZM7/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Когда список простой — всё понятно. Но стоит добавить разные типы элементов, свайпы или drag-and-drop, код превращается в месиво условий и костылей. Работает, но выглядит не по-профессиональному.
Разница между junior и middle — не в том, умеете ли вы делать списки. А в том, как вы это делаете.
🗓 25 февраля в 20:00 — открытый урок «Работаем со списками как профессионалы»
Разберём то, что отличает рабочий код от профессионального: разнородные элементы, ItemViewType, перетаскивание и смахивание без костылей.
Что рассмотрим:
✅как правильно работать с разными типами элементов в одном списке
✅ как реализовать drag-and-drop и swipe-to-dismiss
✅ как писать чистый, поддерживаемый код для сложных адаптеров
❗️После урока вы поймёте, как делать списки на уровне middle-разработчика. Без велосипедов, по стандартам индустрии.
Урок проходит в преддверии старта курса «Android Developer. Professional». Все участники получат скидку на обучение.
➡️ Регистрация по ссылке: https://otus.pw/WdZM7/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
😁11👎10🤡3👍2💩1
В подкасте Android Developers Backstage обсуждают R8
Chapters:
0:00 - Intro
0:23 - What is R8?
1:16 - R8 vs D8
1:40 - Tree Shaking & Dead Code
4:14 - Handling Reflection
10:10 - Performance Co-Optimization
13:03 - Kotlin-Specific Gains
16:22 - Real-World Impact
41:50 - Jetpack Compose & R8
50:51 - Keep annotations
1:03:49 - The "Free Hardware Upgrade"
#android #build #r8
https://adbackstage.libsyn.com/whats-so-great-about-r8
https://www.youtube.com/watch?v=0B07A_c45_o
Chapters:
0:00 - Intro
0:23 - What is R8?
1:16 - R8 vs D8
1:40 - Tree Shaking & Dead Code
4:14 - Handling Reflection
10:10 - Performance Co-Optimization
13:03 - Kotlin-Specific Gains
16:22 - Real-World Impact
41:50 - Jetpack Compose & R8
50:51 - Keep annotations
1:03:49 - The "Free Hardware Upgrade"
#android #build #r8
https://adbackstage.libsyn.com/whats-so-great-about-r8
https://www.youtube.com/watch?v=0B07A_c45_o
Libsyn
Android Developers Backstage: What’s so great about R8?
Join hosts Tor and Romain as they sit down with Søren Gjesse, Chris Craik, and Shai Barack. This week, the team dives into R8, the whole-program optimizer that handles the "last mile" of your code before it runs on a device. Learn why implementing R8 is effectively…
👍2