Android & Coffee с Васей
183 subscribers
74 photos
5 videos
50 links
Канал для разговоров за кофе о разработке. В основном Android, но вообще как получится
Download Telegram
Откопал в коде экран одной из итераций защиты от фрода.

Жаль, что в таком виде это не пошло в продакшн 🤡
🔥51
🎄 Итоги года и немного личного

Я пропал почти на два месяца — не случайно. Год вышел плотным, местами выматывающим, но очень насыщенным.

Коротко про главное:
— перешёл из Кинопоиска в стартап Jazari — сложный и важный шаг
— Jazari от идеи и прототипов доехал до продакшена
— появились реальные пользователи, деньги, ошибки и ночи с хотфиксами
— было много продуктовых решений, переделок экранов, архитектурных сомнений и техдолга, но и огромное удовольствие от принятых решений

Этот год напомнил:
— лучше попробовать, чем жалеть
— гайдлайны не заменяют реальный опыт
— «редкие кейсы» всегда всплывают (всегда не вовремя)
— паузы нужны, чтобы не выгореть

В следующем году хочу писать регулярнее, но без обязаловки:
про Android, Compose, архитектуру, продукт, факапы и практику.

Спасибо всем, кто читает и делится опытом. Даже при 175 людях это ощущается как живой разговор ❤️

С наступающим!

🎅
🎄123🎉3
🤖 22 января — день Android разработчика!

...но только в Додо Пицце.

Когда-то работал в Додо. Так получилось, что в команде в один момент оказалось аж 4 (четыре!) Android разработчика с днём рождения 22 января. Конечно, были идеи добавить дату рождения В ТРЕБОВАНИЯ ВАКАНСИИ 😁

Одного из них вы даже скорее всего знаете — это Макс, автор канала Мобильное чтиво
Двое других — на фото (сам не ожидал откопать!)

🎂Поздравляю с прошедшим днём рождения себя и этих классных ребят, с которыми работали вместе:
Макс, Елдос, Лёха, успехов вам во всём! 🤟

А что так поздно? Готовил подарок! Об этом сразу следующий пост 👇
🔥6
Недавно в Jazari делали экран с горизонтальным пейджингом. Нужна была индикация выбранной страницы. Посмотрел на рекомендации Google, посмотрел библиотеки, и всё равно написал своё.

Есть интерсные моменты, поэтому решил устроить стрим с разбором! Приходите пообщаться, послушать, пообсуждать варианты.

В среду будем разбирать Paging Indicator 🔘🟢🔘🔘 https://youtube.com/live/qDNuGDhJUA4
👍6
🧑🏼‍🎨 Макетам нельзя верить

Почти в каждом проекте происходит одно и то же:
открываешь Figma, смотришь экран — а в приложении он выглядит иначе.

И хорошо, если отличаются только отступы. Иногда экран вообще другой.

Идёшь к дизайнеру с вопросом, а он отвечает: «Да, это старый дизайн. Посмотри новый в соседнем файле». Знакомо?

Я сталкивался с этим почти в каждом проекте. В идеальном мире пользователи видят то, что нарисовано дизайнером. В реальности источником правды остаётся код.

Но как посмотреть актуальный вид приложения? Особенно если экран спрятан глубоко или есть сложные условия его показа?

Обычно это решается snapshot-тестами. Это помогает поддерживать актуальность, но довольно неудобно: приходится ходить по папкам и смотреть отдельные картинки.

А для решения даже простой задачи часто хочется увидеть контекст шире — как экран связан с другими частями приложения. Скриншоты в этом помогают слабо.

В следующем посте покажу, какой инструмент сейчас пробую для решения этой проблемы.
👍6
Продолжение предыдущего поста про Figma и реальный UI

Сейчас делаю инструмент, который позволяет увидеть всё флоу приложения.

В идеале это должно работать так:
— подключаешь плагин
— сразу видишь весь граф приложения

Но прийти к такому непросто. Пока приходится вручную размечать переходы между экранами. Даже это уже позволяет довольно полно увидеть картину.

Интересно, у вас такая проблема тоже есть?

Или это я просто слишком часто попадаю в проекты, где Figma и приложение живут разной жизнью?
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
🖍 App Graph — быстрая навигация

Тот самый инструмент для просмотра графа приложения сделал в виде плагина для Android Studio.

Одна из удобных возможностей: видишь экран → нажимаешь View source → (почти) сразу открывается код.

Получается своего рода preview на максималках.

Была идея переиспользовать возможности Compose Preview. Но, немного покопавшись в коде Android Studio, стало понятно, что Preview очень сильно завязан на внутренности IDE и использовать его извне почти нереально. По крайней мере пока не нашел способа.

Поэтому текущее решение основано на screenshot-тестах, приправлено KSP и небольшой порцией магии.

Как думаете, может быть полезно в работе?
🔥4👍2👏1
🌠 Создание иконки для мобильного приложения. Все способы.

Пришло время делать иконку. Как лучше это сделать? Есть несколько способов разной степени безумия:

1. Android Studio (Android) и Icon Composer (iOS)

нативно
легко
гибко
поддерживаются последние фичи Android и iOS: monochrome, liquid glass
бесплатно

два совершенно непохожих инструмента
нужно делать одно и то же дважды — просто потому что так исторически сложилось

======

2. IconKitchen

https://icon.kitchen/

Один инструмент для Android, iOS и Web сразу. Удобно, если не хочется переключаться между экосистемами.

гибко
легко
есть дополнительные возможности по сравнению с нативными инструментами
поддерживается Android, iOS, Web
бесплатно

не поддержаны некоторые свежие фичи (те же monochrome и liquid glass)

======

3. AI Image generation

весело
результат всегда неожиданный (это плюс, я так решил)

бесполезно
вы потратите лимиты раньше, чем получите хороший набор иконок

======

4. Нанять креативное агентство

работают профессионалы
у них есть Figma и уверенный взгляд
всё сделают за вас

ещё одна встреча в календаре
дорого. очень. дорого.

======

5. Использовать фотографию кота

оригинально
кот не против
плюс к CTR в сторах

фотосессия кота займёт 80% времени проекта

---

Итого: я использую IconKitchen, когда хочу сделать быстро и сам. Android Studio — если нужно сделать правильно
👍31
🧙🏼‍♂️ Ревью Google — черная магия

Все ведь сталкивались: срочный релиз или хотфикс, а ревьюер Гугла пропал на неделю?

Так вот, у нас сломался аккаунт ревьюера. Я заметил не сразу и отправил сборку на ревью.

Новую версию аппрувнули за час. С неработающим аккаунтом.

Ахахахахха, чтоооооо?

Я, конечно, не против, но как это вообще работает?
😎3🤣1
🇨🇳 Приложения в Китае

Недавно был в Китае. Это, пожалуй, самое сложное путешествие из всех, но одновременно и одно из самых интересных.

До этого я бывал во Вьетнаме и Таиланде — Юго-Восточная Азия, и я ожидал чего-то похожего. Но Китай с ними даже близко не сравнить.

Чтобы просто жить и передвигаться, нужна целая пачка приложений:

Trip.com — для бронирований (если ты иностранец)
— DeepL — переводчик, который реально справляется с китайским
— DeepSeek — потому что другие AI-чаты часто не работают (даже с VPN)
— несколько карт — часть на английском, часть на китайском
— MetroMan — удобная навигация по метро
— Alipay, WeChat — оплата и общение
— Taobao — локальный маркетплейс
— отдельные приложения для некоторых кафе
— Universal Beijing Resort — для парка аттракционов

Пользовался приложениями каждый день, и накопилась пачка наблюдений, которыми хочу поделиться 👉
🔥1
🇨🇳 Приложения в Китае. Продолжение

🖼 Look

Для меня приложения выглядят непривычно и, честно говоря, некрасиво.

Интерфейсы кажутся неровными, перегруженными, с разным стилем внутри одного приложения. Особенно это заметно в Alipay: переходишь в миниапп — и оказываешься как будто в другом продукте.

🧰 Feel

Если вы видели AliExpress или Trip.com, то, скорее всего, ловили необычный вайб.

После Alipay и Taobao это ощущение усиливается раз в десять.

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

Я думаю, это связано с языком. Иероглифы позволяют уместить гораздо больше смысла в маленьком пространстве.
А AliExpress и Trip.com — это уже адаптированные версии под другие рынки.

Хороший пример того, как язык влияет на продукт.

P.S. Скриншоты — из трёх разных миниаппов. Один клик — и всё поменялось
🔥1
🇨🇳 Приложения в Китае. Еще один пост

🔨Performance

Приложения часто работают медленно.

И речь не про заблокированные YouTube или Instagram, а про локальные сервисы.

Причём неважно, используешь eSIM или Wi-Fi. Особенно это заметно в Alipay и его миниаппах.

Возможные причины:

— огромный объём трафика в китайском интернете
— большое количество запросов между супераппом и миниаппами

Через пару дней просто адаптируешься: не жмёшь кнопку второй раз, а ждёшь 2–5 секунд.

При этом почти все приложения на удивление экономно расходуют батарею.
Исключения — Trip.com и Universal Beijing Resort. Эти жрут батарею за десятерых.

🧠 Интересное

В Alipay есть классная фича перевода: нажимаешь кнопку — и весь текст в приложении переводится на нужный язык (кроме картинок).

Работает даже внутри миниаппов.

Звучит просто, но с технической точки зрения — очень нетривиально.
Ну и бонус — забавные переводы вроде “паровой утиный платок”.
🇨🇳 Приложения в Китае. Вывод

Вроде очевидная мысль, но я сам про неё регулярно забываю:

UI и UX — не универсальны.

Они сильно зависят от аудитории, языка и рынка. Где-то пользователи ждут мгновенного отклика приложения. Где-то важна эксклюзивность контента. А где-то важнее акции, или плотность информации.
Например, в китайских приложениях тебя закидают офферами ещё до того, как ты успеешь заказать такси.

И если делать продукт для другой страны, это нужно учитывать не на уровне “перевели текст”, а на уровне всей структуры приложения.
2💯1