Рубанов про мобилу


Kanal geosi va tili: Rossiya, Ruscha


Делюсь своим опытом разработки мобильных приложений: про тестирование, доступность и UI.
Михаил Рубанов, @akaDuality

Bog‘liq kanallar  |  O‘xshash kanallar

Kanal geosi va tili
Rossiya, Ruscha
Statistika
Postlar filtri


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Ревью не кода, а артефактов

Главной темой доклада были не тесты сами по себе, а быстрая обратная связь. Например, всем нравятся SwiftUI Preview когда они работают именно потому что это ускорение обратной связи. Но вот для агента они недоступны, зато можно скриншоты из превью генерировать через Prefire.

Тоже самое и для ревью результата работы агента:
• Тесты позволяют создавать разные артефакты: скриншоты, снепшоты и описания сценариев, от чего ревьювить легче
• Это все формирует промежуточный язык которым вы можете обсуждать вашу необычную задачу.

Ну и закончили тем, что есть сервисы, которые позволяют ревьювить не код, а именно выходные артефакты в вебвью. Например, архитектурные изменения можно посмотреть на mermaid-схеме и тут же комментарии оставить. Мне понравился plannotator.ai, он на видео

1k 0 11 11 7

Подлодка Крю: Тесты как основной кволити-гейт

Рассказал про тесты в iOS через призму ИИ:
• Как поправить архитектуру, чтобы получить тестируемый код
• Какие тесты в целом есть и на каких уровнях можно тестировать
• Как выглядит моя разработка фичи
• Как через тесты прийти к ревью артефактов: скриншоты, схемы, сценарии

Получилось клево, по сути краткий пересказ будущей книги.

https://youtu.be/ClUioiUF3aM

1.8k 0 40 30 36

Пирамида тестов по покрытию

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

Поделил на несколько слоев + измерил какое покрытие дают тесты такого типа (бледно) и сколько уникального покрытия на них приходится (ярко).

Вышло так:
• Общее покрытие в модуле — 81%. Не покрыт роутинг экранов и пара вьюшек с видео.
• Скриншот-тесты вьюшек дают 46%. Вьюшки проверяют и логику смены состояния во вьюмодели, поэтому через Prefire можно быстро покрыть половину кода только по превьюшкам. 30% уникального покрытия, что не получится зацепить другими тестами.
• Компонентные тесты покрывают 46%, дополнительно к вьюшкам это тестирует еще 17% кода. Они проверяют сценарии: тестируют координатор модуля, но так, чтобы еще вызывался код вьюмоделей по загрузке и действиям пользователя.
• Вьюмодели иногда нужно протестировать независимо: как фейлится загрузка, дополнительная логика внутри экрана. Много кода протестировано прошлыми тестами, поэтому тут лишь дополнительные 2.6%. Но если бы писали только такие тесты, то это бы покрывало 30% логики.
• Отдельные юнит-тесты по форматированию, обработке операций и т.п. Почти ничего не меняют глобально, но нужны по узким кейсам.
• UI-тесты не измерял, потому что не пишу их сейчас, но там скорее всего сумма скриншот-тестов и компонетных.

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

https://bookshelf.dev/testing-book

2k 0 11 19 20

За выходные книжку никто не купил, поэтому решил подарить тем, кто первыми купил мои книги:
• z…y@gmail.com
• p…v@gmail.com

Письма уже отправил, проверяйте спам, мало ли.


Видосик для App Store

Давно хотел сделать видос, но было несколько проблем:
- Непонятно на каком видео показать
- Непонятно чье лицо использовать.

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

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


В итоге вышло, что Клод сам свою подписку окупает.

Очень понравилсь мысль которую я в феврале прочитал: «вы думаете, что нейросети дорогие, а надо купить максимальную подписку и сделать так, чтобы она себя отбивала». Работает :D


Video oldindan ko‘rish uchun mavjud emas
Telegram'da ko‘rish
Face Replace 2.0

В феврале я попробовал эксперимент: насколько сложное приложение получится написать не притрагиваясь к коду. Результат выдающийся.

В августе решил проверить: может быть обновленный Клод сможет что-то улучшить? Попросил Опус поревьювить пайплайн и он впервые предложил понизить битность модельки. Это типо насколько точно пиксели считаются, но визуально разницы почти нет, зато размер моделей, занимаемая память, скорость выполнения и нагрев устройства уменьшились в два раза! По ощущениям сильно приятней приложением стало пользоваться.

На таких радостях снизил цены в 2 раза, я же человек.

https://apps.apple.com/us/app/face-replace-ai-on-device/id6759573300


Ревью Apple и психологическое насилие

В прошлый раз писал что на ревью какая-то новая тема появилась: брать приложение в ревью и не принимать решение. Так случилось, что у Face Replace обе версии одновременно так попали.

В этот раз решил проверить сколько такое может длиться: отправил сборку первого сентября, вчера было 11.

Ну я отменил, отправил снова и прожал экспедит ревью, пропустили за 2 часа. Ну как так то


У меня есть две проходки на Подлодку Крю про ИИ, разыграю между всеми кто покупал книжки на https://bookshelf.dev

Прошлые покупки тоже считаются. Успевайте до понедельника, тогда и подведем итоги


Фолдебл-телефоны: существуют
Apple: открывает дверь с ноги


Десять лет всем запрещал писать кастомную навигацию.

Сегодня вознагражден


Делаем?


Мой прогноз на презу и покупки:
• Через год куплю 17 Про, потому что будет достаточно дешевый, а батарейка в 16 Про окончательно задолбает
• Жене куплю 18 базовый тоже через год, по тем же причинам.

Че там среди новых телефонов будет даже не важно




iOS Good Reads – swift, разработка мобильных приложений, архитектура, блокчейн, VR, AR, карьера, IT dan repost
🧭 Podlodka iOS Crew: разработка с AI

С 14 по 18 сентября пройдет новый сезон Podlodka iOS Crew. В этот раз в центре внимания авторов конференции то, как AI меняет iOS-разработку.

Что ждёт участников:

🍏 Стратегия внедрения терминальных ИИ-агентов и MCP-интеграции в ежедневную iOS-разработку

🍏 AI как экзокостюм мобильного разработчика: harness, skills, CLI, orchestration, validation и evals

🍏 Знания о том, как запускать локальные модели на Apple Silicon

🍏 Готовые скрипты, которые можно забрать в свой проект: шаблон рабочего пространства агента, примеры скиллов и MCP, пайплайн от Jira-задачи до Merge Request.

И это ещё не всё! Подробности о сезоне смотрите на сайте, и там же есть билеты по early-bird цене.

👉 Билеты на Podlodka iOS Crew


Расскажу про тесты на Подлодке Крю

Никогда такого не было, но снова есть что рассказать про тестирование через призму ИИ:
- Как тестирование становится бутылочным горлышком.
- Как тесты выглядят в 2026 году.
- Как перейти от ревью кода к ревью артефактов.

Промокод RubanovMobile даст скидку 500 рублей.


Спасибо за предложения, нашли победителя!

plannotator.ai

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

Я использую cmux и он умеет вебчик открывать параллельно в панельке сбоку, все в одном месте.

Если артефакты ревьювить не надо и хочется терминальный интерфейс, то ближайший будет https://github.com/umputun/revdiff


Локальное ревью коммитов

Понял что мне нужна приложенька для параллельного ревью по коммитам. Представляю так, что агент что-то пишет, а в соседнем окне я могу смотреть поток ченджей и артефактов (результаты скриншот-тестов, например) и если надо, то возвращать агента поменять что-то, если он меня неправильно понял. Ну и отмечать коммиты как локально-отревьювленный, например.

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


Хотите купить книгу с российской карты?
So‘rovnoma
  •   Да
  •   Посмотреть сколько «да»
335 ta ovoz


Книга про Metal теперь полностью на русском

Из трех книжек Metal – бестселлер и теперь доступна на русском. Если язык был преградой, то теперь Георгий Остроброд все перевел.

В книге 25 глав про Metal:
• Разбор как связан девайс, буфер, текстура, пайплайн, команд-кью и команд энкодер.
• Как устроен процессинг и как получается итоговая картинка.
• Зачем нужны шейдеры и каких видов они бывают.
• Как интегрироваться в UIKit и SwiftUI.
• Как эффективно работать с памятью, дебажить, профилировать и добиться скорости.

$50 или по подписке за $10 в месяц. Покупая получаете обе версии: на русском и английском.

bookshelf.dev/metal-book

20 ta oxirgi post ko‘rsatilgan.