В жовтні відбувся перший stable-реліз (v1.0.0) бібліотеки JankStats, яка дозволяє моніторити продуктивність кадрів відрисовки екрану. Наприклад - для складних інтерфейсів або анімацій. Особливість бібліотеки в тому, що ви можете включати до неї різні дані зі стейту вашого android-проекту (чимось схоже на кастомну аналітику, тільки для моніторингу продуктивності інтерфейсу). Бібліотека працює з Android Views, Jetpack Compose, і є офіційним інструментом від Google. Підключається одним рядком, без плагінів:
Документація на Android Developers: https://developer.android.com/topic/performance/jankstats
Приклад використання на GitHub: https://github.com/android/performance-samples/tree/main/JankStatsSample
implementation("androidx.metrics:metrics-performance:1.0.0")Документація на Android Developers: https://developer.android.com/topic/performance/jankstats
Приклад використання на GitHub: https://github.com/android/performance-samples/tree/main/JankStatsSample
Android Developers
JankStats Library | App quality | Android Developers
The JankStats library helps track and analyze performance issues in Android applications by reporting on application frames that take too long to render, offering capabilities like jank heuristics and UI state context.
🔥16❤1
Сьогодні варто познайомитись з моєю новою публікацією на Medium 😀 Там ви дізнаєтесь про те, як можна застосувати інтерфейси та механізм делегування в Kotlin для мапінгу даних та для спрощення роботи зі State-класами.
https://medium.com/@rom.andrushchenko/simplify-mappings-with-kotlin-interfaces-2488125d2ba9
https://medium.com/@rom.andrushchenko/simplify-mappings-with-kotlin-interfaces-2488125d2ba9
Medium
How to simplify State and Entity mappings with Kotlin interfaces, delegation and covariant generics
While data classes are the go-to solution, there is a powerful yet underutilized approach that can reduce boilerplate in your code.
🔥35❤2🤯1
Раптово-неочікувано вчора вийшла стабільна версія Jetpack Navigation v3. Пора знову мігрувати свої проекти 😄
https://android-developers.googleblog.com/2025/11/jetpack-navigation-3-is-stable.html
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.
🤣6🤨4❤1🥰1
Вчора Anthropic релізнули нову модель Claude Opus 4.5. Обіцяють, що її результати в сфері Software Engineering найкращі серед інших моделей.
https://www.anthropic.com/news/claude-opus-4-5
https://www.anthropic.com/news/claude-opus-4-5
❤8
Сьогодні о 18-00 буде стрім з розбором коду:
https://youtube.com/live/AiPqrdHXYCQ
https://youtube.com/live/AiPqrdHXYCQ
YouTube
Розбір коду Android-проекту #11 / Kotlin, Android
Розбір коду Android-бібліотеки в прямому ефірі, відповіді на запитання і т.д.
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: htt…
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: htt…
❤7👍1
Хто сидить на Kotlin 1.9? 😁 Тут вчора вийшов стабільний реліз 2.3, з підтримкою Java 25 та деякими експериментальними фічами, серед яких:
- Explicit Backing Fields (тепер не треба писати пари MutableStateFlow / StateFlow)
- Unused Return Value Checker (компілятор буде попереджувати, якщо забули написати return для повернення результату з функції)
Повний список тут:
https://kotlinlang.org/docs/whatsnew23.html
Експериментальні фічі включаються в build.gradle:
- Explicit Backing Fields (тепер не треба писати пари MutableStateFlow / StateFlow)
- Unused Return Value Checker (компілятор буде попереджувати, якщо забули написати return для повернення результату з функції)
Повний список тут:
https://kotlinlang.org/docs/whatsnew23.html
Експериментальні фічі включаються в build.gradle:
kotlin {
compilerOptions {
freeCompilerArgs.add("-Xreturn-value-checker=check")
freeCompilerArgs.add("-Xexplicit-backing-fields")
}
}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.
❤9🫡5🔥1
Сьогодні опублікував відео про Scope-функції: let, run (x2), also, apply, with, а також takeIf. Відео є частиною плейліста по базовим основам Kotlin, але конкретно ця тема може бути цікавішою за інші, тому також залишу посилання тут: https://youtu.be/OFSzQjURk7Q
YouTube
Scope-функції let, apply, also, run, with (а також takeIf) - Основи програмування Kotlin
Розглядаємо Scope-функції в мові Kotlin: let, apply, also, run (в 2х варіантах) та with. Додатково розглядаємо функцію takeIf.
Підтримати канал, ставши спонсором: https://uandcode.com/join
Контент для спонсорів: https://uandcode.com/paid-content/
Telegram…
Підтримати канал, ставши спонсором: https://uandcode.com/join
Контент для спонсорів: https://uandcode.com/paid-content/
Telegram…
👍17❤7🔥3🤯2
Новорічний стрім, останній цього року, буде сьогодні орієнтовно о 16-30. Час може змінитись, у разі відключень світла. Тематика - питання/відповіді та проходження фінальних місій Wings of Liberty 😁
https://www.youtube.com/watch?v=0NkzTY_b4Oc
https://www.twitch.tv/randrushchenko
https://www.youtube.com/watch?v=0NkzTY_b4Oc
https://www.twitch.tv/randrushchenko
YouTube
Новорічний стрім 2025 - Запитання/відповіді та проходження фінальних місій Wings of Liberty :)
Останній стрім цього року :) Відповідаю на запитання Android / Kotlin / Java / IT, а також проходжу фінальні місії кампанії Wings of Liberty.
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів:…
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів:…
🔥8❤1
Вітаю з Новим 2026-м роком 🎄 Cподіваюсь, всі добре відпочили і тепер готові до нових звершень 🔥
А тим часом на каналі перерв немає, і навіть навпаки. За останні пару тижнів підготував декілька відео про рекурсію та рекурсивні функції в рамках плейліста по основам програмування Kotlin:
1) Основи рекурсії - https://youtu.be/48QS0hfeOk4
2) Більш детальний розбір, як працює рекурсія - https://youtu.be/QrJ4WYD1aqE
3) І додатково - бонусне доповнення: Tailrec-функції / хвостова рекурсія:
- На Patreon: https://www.patreon.com/posts/146855411
- На BuyMeACoffee: https://buymeacoffee.com/romychab/kotlin-48-tailrec-functions
- На YouTube: https://youtu.be/UvrxfSc6QFw
Тема рекурсії - це як головоломка, якраз після свят буде чим розім'яти мозок 😄
А тим часом на каналі перерв немає, і навіть навпаки. За останні пару тижнів підготував декілька відео про рекурсію та рекурсивні функції в рамках плейліста по основам програмування Kotlin:
1) Основи рекурсії - https://youtu.be/48QS0hfeOk4
2) Більш детальний розбір, як працює рекурсія - https://youtu.be/QrJ4WYD1aqE
3) І додатково - бонусне доповнення: Tailrec-функції / хвостова рекурсія:
- На Patreon: https://www.patreon.com/posts/146855411
- На BuyMeACoffee: https://buymeacoffee.com/romychab/kotlin-48-tailrec-functions
- На YouTube: https://youtu.be/UvrxfSc6QFw
Тема рекурсії - це як головоломка, якраз після свят буде чим розім'яти мозок 😄
YouTube
Рекурсія, рекурсивні функції (частина 1) - Основи програмування Kotlin
Поняття рекурсії. Рекурсія в програмуванні. Рекурсивні функції в мові Kotlin.
Підтримати канал, ставши спонсором: https://uandcode.com/join
Контент для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: https://uandcode.com/telegram
Telegram…
Підтримати канал, ставши спонсором: https://uandcode.com/join
Контент для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: https://uandcode.com/telegram
Telegram…
❤12👍10🎉2🔥1
Сьогодні планую запустити стрім:
https://www.youtube.com/watch?v=PTVjrwEcDD8
Тематика: Ollama, тест локальної LLM-ки Llama 3.1. Задача мінімум - написати програму-чат на мові Kotlin. Задача максимум - підключити кастомні команди.
Орієнтовний час сьогодні о 20-30, але враховуючи аварійні відключення - можливо доведеться перенести на інший день.
https://www.youtube.com/watch?v=PTVjrwEcDD8
Тематика: Ollama, тест локальної LLM-ки Llama 3.1. Задача мінімум - написати програму-чат на мові Kotlin. Задача максимум - підключити кастомні команди.
Орієнтовний час сьогодні о 20-30, але враховуючи аварійні відключення - можливо доведеться перенести на інший день.
YouTube
ChatGPT не потрібен 😂 Ollama, локальні LLM-моделі (частина 1) - Основи програмування Kotlin
Пишемо програму-чат на мові Kotlin, яка взаємодіє з локальною LLM-моделлю по протоколу HTTP, передаючи повідомлення у форматі JSON.
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів: h…
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів: h…
👍7❤3
Стрім перервався із-за аварійних відключень світла. В цілому, базову частину ми встигли зробити 🙂 А Tool Calling тоді розберемо наступного разу.
⚡15❤1🙈1
А ось і друга частина про Ollama / Local LLM - https://youtu.be/w_SGKCo6yt0
Приклад виклику Kotlin-функцій через LLM на прикладі доступу до файлової системи - читання файлів в каталозі та створення текстових файлів.
Приклад виклику Kotlin-функцій через LLM на прикладі доступу до файлової системи - читання файлів в каталозі та створення текстових файлів.
YouTube
Локальні LLM-моделі: Tool Calling (частина 2) - Основи програмування Kotlin
Виклик будь-яких кастомних функцій в мові Kotlin через локальну LLM-модель. Для прикладу, пишемо інтеграцію LLM-моделі з файловою системою. Реалізація двох простих команд - відображення файлів користувача та створення нових текстових файлів.
Підтримати канал…
Підтримати канал…
🔥6❤2
Я тут подумав та вирішив, що можна всі відео по основам ООП об'єднати в окремий плейліст 😎 Початково вони є частиною загального курсу по основам програмування, але нехай будуть окремим плейлістом також:
https://www.youtube.com/playlist?list=PLRmiL0mct8WloS8JyIxTx-IywD3TZi1kd
https://www.youtube.com/playlist?list=PLRmiL0mct8WloS8JyIxTx-IywD3TZi1kd
❤20🔥6👍2🤯1
Сьогодні о 17-00 буде прямий ефір на каналі:
https://www.youtube.com/watch?v=5RCo-XFjVTY
https://www.twitch.tv/randrushchenko
https://www.youtube.com/watch?v=5RCo-XFjVTY
https://www.twitch.tv/randrushchenko
YouTube
Live Stream / Live Coding (ООП #11) - Основи програмування Kotlin
Прямий ефір з лайв-кодингом та відповідями на запитання.
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: https://uandcode.com/telegram…
Підтримати канал: https://uandcode.com/donate
Стати спонсором: https://uandcode.com/join
Список контенту для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: https://uandcode.com/telegram…
❤8🔥3
Цього тижня (вже скоро) я опублікую статтю - "Stop writing Hilt binding modules manually". Можливо ще й відео запишу.
А поки - зроблю маркетинговий хід 😁 У кого є аккаунт на GitHub - накидайте зірочок на репозиторій, потім розіграю Gold-підписку на рік 😎
Також, якщо вдруг знайдете неточності (в документації, в README), або баги - то пишіть в будь-який час, будемо виправляти.
https://github.com/romychab/hilt-autobind
А поки - зроблю маркетинговий хід 😁 У кого є аккаунт на GitHub - накидайте зірочок на репозиторій, потім розіграю Gold-підписку на рік 😎
Також, якщо вдруг знайдете неточності (в документації, в README), або баги - то пишіть в будь-який час, будемо виправляти.
https://github.com/romychab/hilt-autobind
GitHub
GitHub - romychab/hilt-autobind: A KSP annotation processor that auto-generates Dagger Hilt binding modules from a single annotation.
A KSP annotation processor that auto-generates Dagger Hilt binding modules from a single annotation. - romychab/hilt-autobind
❤17❤🔥4👍3🔥2
Як і обіцяв, публікація готова :)
https://medium.com/@rom.andrushchenko/stop-writing-hilt-modules-manually-3c6bdb6e5b0a
Плюс документація з прикладами та нюансами: https://docs.uandcode.com/hilt-autobind/
https://medium.com/@rom.andrushchenko/stop-writing-hilt-modules-manually-3c6bdb6e5b0a
Плюс документація з прикладами та нюансами: https://docs.uandcode.com/hilt-autobind/
Medium
Stop writing Hilt modules manually 😋
Now you can auto-generate @Binds and @Provides modules with a single annotation and much more.
🔥17👍3
Час експериментів: сьогодні о 17-00 буде наступний випуск для плейліста "Android-проект з нуля", але в більш інтерактивному варіанті - стрім, замість попереднього запису.
https://www.youtube.com/live/vj96z5qr34Q
https://www.youtube.com/live/vj96z5qr34Q
❤10
Сьогодні о 18-00 буде лайв-стрім, де буду показувати типові проблеми та рішення, які виникають при роботі з даними / стейтом в Android-проектах.
https://www.youtube.com/watch?v=s974lK_TPUM
Фактично, це буде демо бібліотеки Container. Але все те саме можна зробити і без бібліотек - більшість ідей та принципів можна перевикористати вручну в своїх проектах.
P.S. За бажанням, можете поставити ⭐️ на гітхабі :)
https://www.youtube.com/watch?v=s974lK_TPUM
Фактично, це буде демо бібліотеки Container. Але все те саме можна зробити і без бібліотек - більшість ідей та принципів можна перевикористати вручну в своїх проектах.
P.S. За бажанням, можете поставити ⭐️ на гітхабі :)
YouTube
Data & State Loading в Android-додатках - Container Library
Типові рішення проблем роботи з даними / стейтом при розробці Android-додатків. Демо невеликої бібліотеки Container для роботи з даними на базі suspend-функцій та Flow.
Підтримати канал, ставши спонсором: https://uandcode.com/join
Список контенту для спонсорів:…
Підтримати канал, ставши спонсором: https://uandcode.com/join
Список контенту для спонсорів:…
🔥8👍4❤1🌚1
Сьогодні о 17-00 буде стрім: https://youtube.com/live/FQTIfekyU0c
YouTube
Повідомлення чату (Domain & ViewModel) - Android-проект з нуля
Domain-шар + ViewModel для роботи з повідомленнями чату.
Підтримати канал, ставши спонсором: https://uandcode.com/join
Список контенту для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: https://uandcode.com/telegram
Telegram-чат: https:/…
Підтримати канал, ставши спонсором: https://uandcode.com/join
Список контенту для спонсорів: https://uandcode.com/paid-content/
Telegram-канал: https://uandcode.com/telegram
Telegram-чат: https:/…
🔥4👍3❤1🤯1