Рубанов про мобилу
СтатистикаДелюсь своим опытом разработки мобильных приложений: про тестирование, доступность и UI. Михаил Рубанов, @akaDuality
- Последний пост
- 14 авг.
- Последнее чтение
- 12 авг.
- Постов за неделю
- 3
- Всего постов
- 22
- Тип
- открытый
- Язык
- русский
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 994
- 1/48двое суток
- 1 139
- 1/72трое суток
- 1 228
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
видео или голосовое, без подписи
Bookshelf.dev: новая книга — про автотесты на iOS Сейчас у тестов вторая жизнь: • ИИ может легко написать любой тест; • ему критически важны тесты, чтобы проверять результат работы; • при этом разработчикам нужно как-то быстро понимать что в проекте вообще есть; • но если вы не знаете каким тестом проверить задачу, то ИИ за вас это не придумает; • вы все еще должны сделать тестируемую архитектуру, чтобы код вообще можно было протестировать! Выходит, что 4 из 5 пунктов я могу показать: как это выглядит, куда идти и как пользоваться. А вот последний пункт про архитектуру вы должны пройти сами, выбрав что вам нужно, что можно сделать сейчас и насколько вы готовы менять проект. Зато после книги конечная цель будет сильно понятней! Книга будет выходить постепенно, первые шесть глав уже доступны. • Как тесты помогают масштабированию приложения. • Примеры тестов в пирамиде тестирования. Бесплатная глава • Как тесты и ИИ помогают друг-другу. • Что приходится изменить в архитектуре. • Что такое TDD-ката и туториал по ней. • Что такое DSL Затем я расскажу про самые разные виды тестов (примеры в бесплатной главе) и к концу вы узнаете как написать стройную систему автотестирования без мок-фреймворка на сценариях использования приложения. Доступно на русском и английском, $30 вместо 50 пока книга пишется. https://bookshelf.dev/testing-book
Итоги по автотестам Когда я узнал про автотесты и что в Xcode есть целая панелька для них я очень загорелся идеей научиться тестировать. Но все практики мне не понравились: непонятно как тестировать верстку, что делать с меняюшимся бэкендом, как тестировать сценарий который проходит через несколько экранов. Как в итоге это должно выглядеть было совершенно непонятно. При этом сталкивался и с проблемой внедрения в проект: для тестов нужно делать мифическую «тестируемую архитектуру». Значит, мне не только непонятные тесты нужно написать, но и проект под них перекроить! Задача стало очень сложной. Хуже того, проекты в которых я видел автотесты скатывались до мок-фреймворков и тестирования всех классов в изоляции. Попробовал — мне такое вообще не нравится и скорее даже делает хуже. В конце добивал еще и факт, что для быстрой работы с тестами надо поделить проект на модули и работать с ними по-отдельности. Т.е. в процессе работы над проектом по тестирвоанию надо сделать другой проект по многомодульности! Додо Пицца тогда активно росла: в количестве разработчиков, в сложности фич и инфраструктуры, выходила в новые страны, усложнялись сценарии внутри приложения. У проекта сменилась команда и не так уж легко было узнать зачем какой-то код вообще был написан. Тестировать все равно надо. Потом у нас появилось пара стартапов: Дринкит и Донер 42. Очень хотелось сразу начать проекты нормально масштабируя наш опыт с тестированием, но новые команды категорически не хотели учиться тестам, ведь «тесты в стартапе не нужны». Ну да, ну да. И вот спустя 5 лет тестирование в Додо Пицце и 2 года тестирования в стартапе пора подводить итоге. Я выгрузил весь опыт из головы в виде книги: вы сможете посмотреть на самые разные виды тестов, подходы, практики и фреймворки, не абстрактными правилами «как хорошо», а реальным примерами из проектов.
И снова про ревью Вторую неделю пытаюсь зарелизить приложение. Столкнулся с новыми приколюхами: • Прила 5 дней находится в статусе In Review • Зареджектили, потому что не смогли найти встроенную в приложению проверку возраста. То, что все финансовые приложения проверяют это через KYC на онбординге ревьювер не в курсе, онбординг проходить не собирается. • Не нашел пермишен на AppTrackingTransparency, хотя он показывается прямо при запуске приложения. • Прислали письмо, что удалили приложение из Китая. Вот только приложение еще не доступно никому и доступность в Китае я сам отключил за два дня до этого. • Прожимаю экспедит ревью чаще чем смотрю рилсы в инсте, но даже так это пара дней. Как у вас ревью последнее время?
Впервые за полгода сел писать код руками и пришел к неутешительному выводу… а не, клод снова заработал, сегодня без выводов
Случайная синергия Дважды за последне время произошли невероятные совпадения с тем, что делал я: - Георгий Остроброд думал как выпустить книгу, - Матвей Мясоедов делал плагин для фигмы про доступность. В итоге и там и там заколлабились и зарелизили. Но каждый раз это было стечением обстоятельств в духе «в комментах случайного поста прочитал». И я вот подумал, что меня есть еще несколько проектов: - ищу авторов книг, - пишу книгу про тестирование, - тестирую скилл про доступность, - пишу прилу для симулятора которая будет показывать описание для скринридера, - хотел бы сделать текстовую снепшот-стратегию описания для скринридера. И у вас, наверное, что-то есть. Расскажите в комментах про свои и почитайте чужие, вдруг найдете пересечение. Зря мы тут собрались все вместе что ли?
Пандус для Фигмы Сделал плагин который позволяет легко описать разметку для VoiceOver в Фигме. О таком инструменте меня спрашивали десятки компаний, так что забирайте. https://www.figma.com/community/plugin/1658465990761157788/voiceover-annotator Главное: он задает формат описания элементов и показывает ограничения, которые есть у скринридера. Но это цветочки: если подключить API-ключ для нейронки, то с помощью скила можно сгенерировать все описание! А мелочи потом руками доправить. Главные фичи: • Повторяет интерфейс приложения VoiceOver Designer. Если пользовались, то будете как дома. • Умеет подписывать как под фреймом, так и в аннотациях для Dev Mode. • Можно экпортнуть в формате .vodesign и послушать превью в VoiceOver Designer Плагин опенсорсный, пишите баги в ишьюс https://github.com/AccessibilityTools/voiceover-annotator-for-figma С плагином и дизайном мне помог Матвей Мясоедов. Матвей, спасибо!
Podlodka AI Engineers Club Этот год у меня весь идет про AI: • Березка показал как работает, • навайбкодил Face Replace, • запустил Bookshelf.dev, • вся работа идет через AI. «Знание» поделилось на две части: • в книжках собираем то, что из LLM не вытащишь, • где учиться самому AI непонятно, не тратить же на это все свободное время. Егор Толстой запустил клуб про AI именно чтобы решить эту проблему. Еще и не всех берут в него, заявки рассматривают! В итоге клуб хедов-техлидов-синьоров, актуально всем кто внедряет AI в работе. Мне понравился сам формат встречи: • Лекции от разработчиков рассказывают про самое горячее что есть в индустрии и с чем работают. • Лекторы из разных компаний, много зарубежных, • После записи еще можно разные вопросы позадавать, • Прошедшие лекции доступны в записи, а со всеми сконтачиться можно в чатике. Из последних/запланированных лекций: • Как разрабатывать сложные легаси системы с AI с человеком, который саппортит MSBuild. • Круглый стол про то, как меняется найм инженеров. • Haft – харнесс для системного мышления. • Как построить harness, который автономно напишет мобильное приложение. Рекомендую подать заявку и попробовать, там интересно
Когда нащупал глитч на деньги, но фейбл устойчив к джейлбрейкам
Покупайте книжку или подписывайтесь, мы будем и дальше делать туториалы про шейдеры. Какой разобрать в следующий раз? Хотите AirDrop?
Заморозка в Riveo Вы точно видели этот шедевр — Riveo сделали потрясаюший эффект заморозки (видео в комментариях) Хотите узнать как он устроен? Комбинация из текстур: • normal map для бликов, • height map для растаивания • диаграмма Вороного, чтобы сделать неравномерное замерзание от края экрана. А потом все обратно, чтобы растаяло под пальцем! Рассказываем в туториле как это устроено. https://bookshelf.dev/metal-tutorials/ice
Intermediate – Гoлографический стикер Бесплатный туториал этой недели. Benjamin Pisano сделал простую и красивую библиотеку Sticker. Эффект оказался комплексным и хорошо показывает этапы работы над шейдером. Разложили по шагам и подробно рассказали про каждый этап https://bookshelf.dev/metal-tutorials/foil-sticker
Easy — Waving Loading Довольно простой эффект на смещение пикселей. Тем не менее, показываем как сделать плавное затухание с помощью синуса и анимации SwiftUI — полезная техника для отзывчивых интерфейсов. https://bookshelf.dev/metal-tutorials/wave-loading
Как и обещал — празднуем запуск дополнительными метариалами! Бонусом книге про Metal мы решили рассказывать о том как устроены популярные шейдеры от простых к сложным, поэтапно, с картинками и видео, с разными уровнями сложности. Туториалы доступны в подарок всем купившим книгу Apple Metal: From Fundamentals To Practice или по подписке на bookshelf.dev
Запускаться страшно Пару месяцев назад нам пришла идея сделать свое издательство и продавать наши книги. Навайбкодить сайт и платежи несложно, но то, как проект запустится определит наше собственное ощущение. Сначала я запустил свою книгу по доступности на английском. Всего одна покупка. Да, есть на русском бесплатно, да, аудитория в канале другая, да, узкая тема. Был ли я готов? Да. Расстроился ли я? Да. Но это была первая продажа. Я написал письмо и поблагодарил, потому что для меня это было очень важно — мы запустились! В этот понедельник я выложил вторую книгу. Ставки выше: если и с ней ничего не пойдет, то что тогда? Страшно, очень страшно. Но страх не оправдался. Спасибо, что поддержали: и обычными покупками и подпиской. Поддержка дает новые силы и я заготовил сюрприз на понедельник, спойлер на видео.
Курс про доступность Я же преподаю доступность на курсе и на следующей неделе мы будем проводить курс 13 раз! Как видно по каналу, я в своем аксесибилити-прайме, готов рассказывать в лучшем виде. По промокоду RUBANOV скидка 15% https://accessibilityunity.com
Покидайте шейдеры которые хотите узнать как работают: можно картинками, можно либами. Пример
Книги доступы по подписке Книг будет много, книги будут разные, каждая из них — огромный опыт авторов, но хочется, чтобы у вас был доступ сразу ко всем знаниям, а не отдельно по книгам. Поэтому сразу запускаю с подпиской: за 10 долларов в месяц вы получаете доступ ко всем текущим книгам, будущим книгам и их обновлениям. Это дешевле отдельной книги в 5 раз! Сейчас уже есть две книги суммарной стоимостью в 80 долларов, т.е. дешевле в 8 раз, только успевай читать. До конца года начнет выходить моя новая книга про автотесты — расскажу про свой шестилетный опыт тестирования, как это работало в большой компании, как показало себя в стартапе и как это все работает с AI. Купить книги можно и по отдельности.
видео или голосовое, без подписи
видео или голосовое, без подписи