Как я пытался чинить анимацию в LazyColumn

Привет, Хабр! Я Витя Стро е ску, последние пять лет в свободное от отдыха время занимаюсь разработкой под Android, три из которых — в команде мобильного оператора Т-Мобайл. Поделюсь с вами опытом попытки конфигурации анимаций для айтемов у Compose LazyColumn. Мы переписывали наш главный экран с XML+View на Jetpack Compose, который состоит из списка с различного рода сложности айтемами. В статье разберем, почему возникает рассинхрон, как устроен механизм анимаций внутри LazyColumn, почему кастомный animateItem обречен с самого начала и к какому решению мы пришли в итоге.

https://habr.com/ru/companies/tbank/articles/1009014/

#android #android_development #kotlin #compose #jetpack_compose #lazycolumn #animations #expand_collapse #issue #animate_item

Как я пытался чинить анимацию в LazyColumn

Привет, Хабр! Я Витя Строеску, последние пять лет в свободное от отдыха время занимаюсь разработкой под Android, три из которых — в команде мобильного оператора Т-Мобайл. Поделюсь с вами опытом...

Хабр

Todo Budget v5.0: переписал весь UI с нуля на Jetpack Compose — и теперь ищу тех, кто его сломает

До пятой версии главный экран был функциональным, но визуально скучным. Типичный Material Design без характера. Я получил несколько честных отзывов — в том числе жёстких — и решил переделать всё.

https://habr.com/ru/articles/1007530/

#котлин #мобильная_разработка #приложения_для_android #андроид #kotlin #jetpack_compose #android

Todo Budget v5.0: переписал весь UI с нуля на Jetpack Compose — и теперь ищу тех, кто его сломает

Привет, Хабр! Я Android-разработчик-одиночка. За последний месяц я выпустил несколько версий своего приложения Todo Budget — комбайна для задач, финансов, заметок и помодоро-таймера на Jetpack...

Хабр

Не Vibe-Coding, а инженерия с AI: как я за полгода сделал Android-приложение: социальный трекер привычек

Не Vibe-Coding, а инженерия с AI: Как за полгода я сделал Android-приложение "Трекер привычек" с социальными функциями, синхронизацией, офлайн-режимом и виджетом

https://habr.com/ru/articles/1005684/

#android #kotlin #jetpack_compose #room #firebase #offlinefirst #mobile_development #mobile_architecture #ai_in_development #vibecoding

Не Vibe-Coding, а инженерия с AI: как я за полгода сделал Android-приложение: социальный трекер привычек

В какой-то момент мне прилетел баг-репорт, который идеально описывает боль social/mobile приложений: > «Я поставила в групповой привычке “выходной”, потом нажала “возобновить” и выполнила. У меня...

Хабр

Как я в одиночку написал полноценное финансовое Android-приложение на Jetpack Compose

Это не очередной TODO-лист и не очередной трекер расходов. Это комбайн, в котором живут задачи, заметки, бюджет, аналитика, помодоро-таймер и цели накоплений

https://habr.com/ru/articles/1003400/

#android #kotlin #jetpack_compose #room #material_3 #разработка_мобильных_приложений

Как я в одиночку написал полноценное финансовое Android-приложение на Jetpack Compose

Предисловие Я — соло-разработчик Android-приложения Todo Budget . Это не очередной TODO-лист и не очередной трекер расходов. Это комбайн, в котором живут задачи, заметки, бюджет, аналитика,...

Хабр

Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0

Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0 Привет, Хабр! Продолжаю серию о разработке Todo Budget — Android-приложения, объединяющего задачи, бюджет, заметки и помодоро-таймер в одном месте.

https://habr.com/ru/articles/1003034/

#android #kotlin #jetpack_compose #room #mobile_development

Как я добавил 10 фич в Android-приложение за один заход: Todo Budget v4.0

Привет, Хабр! Продолжаю серию о разработке Todo Budget — Android-приложения, объединяющего задачи, бюджет, заметки и помодоро-таймер в одном месте. В прошлой статье я рассказывал о создании приложения...

Хабр

Как я сделал полностью бесплатное Android-приложение для задач и финансов — и почему не взял ни копейки

Мне нужен был простой инструмент: список задач, учёт расходов и таймер для фокусировки. Казалось бы — чего проще? Но вот реальность...

https://habr.com/ru/articles/1002356/

#android #kotlin #jetpack_compose #room #бесплатно #задачи #бюджет #помодоро #rustore

Как я сделал полностью бесплатное Android-приложение для задач и финансов — и почему не взял ни копейки

Проблема Мне нужен был простой инструмент: список задач, учёт расходов и таймер для фокусировки. Казалось бы — чего проще? Но вот реальность: Todoist — бесплатно только 5 проектов, дальше ₽359/мес...

Хабр

250 тестов вручную? Нет, спасибо. Автоматизируем screenshot-тестирование через Compose Preview

Давайте представим типичную ситуацию для разработчика: вы делаете фичу, код проходит ревью, тесты «зеленые». На первый взгляд все хорошо, вы отправляете её в релиз. А потом на проде обнаруживается визуальный баг: текст наехал на текст, цвет оказался не тот, отступ съехал. Бывало такое? В чем проблема – ведь тесты были пройдены успешно? Дело в том, что юнит-тесты проверяют только логику. Им все равно на то, как выглядит экран. А screenshot-тесты нужно писать вручную в большом количестве. В классическом подходе мы прописываем каждый тест, но что если у вас 50 экранов по 5 состояний на каждый? Так как же быть, если не хочется писать 250 тестов вручную, а проверку сделать нужно? Узнать ответ на вопрос

https://habr.com/ru/companies/sovcombank_technologies/articles/993170/

#Android #Jetpack_Compose #screenshotтесты #Roborazzi #автоматизация_тестирования #Kotlin #UIтесты #Preview #визуальное_тестирование #cicd

250 тестов вручную? Нет, спасибо. Автоматизируем screenshot-тестирование через Compose Preview

Всем привет! Меня зовут Алина, я – старший разработчик клиентских мобильных приложений в компании «Совкомбанк Технологии». Сегодня поговорим о screenshot-тестах для Jetpack Compose и о том, как их...

Хабр

Паттерн Memento в Android: полный разбор сохранения состояния

Если вы хоть раз теряли пользовательский ввод после поворота экрана или возвращались к приложению из фона и обнаруживали пустой экран вместо заполненной формы — вы знаете, о чем пойдет речь. Сохранение состояния в Android — одна из тех тем, которые кажутся простыми до первого бага в проде. Система может убить процесс в любой момент, конфигурация меняется, а пользователь ожидает, что все останется на своих местах. В статье о том, как паттерн Memento реализуется в Android через CustomView, SavedStateHandle, Compose и навигацию.

https://habr.com/ru/articles/990568/

#android #kotlin #паттерны #паттерны_проектирования #паттерны_программирования #паттерн #memento #desing_patterns #jetpack_compose #custom_view

Паттерн Memento в Android: полный разбор сохранения состояния

Привет, Хабр! На связи Алина, старший Android-разработчик в команде Инвестиций компании «Совкомбанк Технологии». Мы разрабатываем, поддерживаем и улучшаем приложение «Совкомбанк Инвестиции». Если вы...

Хабр

Создаём iOS-style Wheel Picker в Jetpack Compose. Часть 1

Представьте классический сценарий в мобильном приложении: пользователю нужно выбрать год рождения, час будильника или количество товаров в корзине. На iOS для таких случаев давно существует элегантное и интуитивное решение - Wheel Picker (или UIPickerView ). Этот компонент стал неотъемлемой частью языка дизайна Apple. В этой статье я расскажу вам, как реализовать такой же компонент в Android. Приготовьтесь, будет много математики!

https://habr.com/ru/articles/986270/

#jetpack_compose #pickerview #picker #android

Создаём iOS-style Wheel Picker в Jetpack Compose. Часть 1

Представьте классический сценарий в мобильном приложении: пользователю нужно выбрать год рождения, час будильника или количество товаров в корзине. На iOS для таких случаев...

Хабр

Анимация смены темы в Compose Multiplatform

Анимация смены темы в Android-версии Telegram на протяжении долгого времени вдохновляет разработчиков на попытки реверс-инжениринга этого красивого трюка: в сети немало подробных гайдов, как сделать подобную анимацию при помощи традиционных XML View и даже Flutter. Но реализаций этой элегантной (хоть и совершенно бесполезной) анимации на Jetpack Compose мне найти так и не удалось, что привело к созданию маленькой библиотеки для анимирования смены темы. Вера в будущее KMP также подтолкнула меня к тому, чтобы сделать ее из коробки готовой к установке в Compose-Multiplatform проекты, с поддержкой всех основных платформ (Android, iOS, Desktop JVM, Web WASM+JS). Хотя сама библиотека вышла крайне компактной, ее реализация оказалась довольно нетривиальной на мой субъективный взгляд и может быть интересна каждому, кто изучает Compose или ищет подобные решения для своего проекта. На старте написания библиотеки сами собой возникли ряд требований, которым она должна была отвечать:

https://habr.com/ru/articles/983488/

#compose_multiplatform #kotlin_multiplatform #jetpack_compose #android #animations

Анимация смены темы в Compose Multiplatform

Анимация смены темы в Android-версии Telegram на протяжении долгого времени вдохновляет разработчиков на попытки реверс-инжениринга этого красивого трюка: в сети немало подробных гайдов, как сделать...

Хабр