Y
Yandex for Mobile
17.07.2026 15:07 · 👁 539
🚀 Погружаемся в технологии на deep tech night
5 сентября пройдёт deep tech night — масштабная онлайн-конференция Яндекса о технологических вызовах, с которыми IT-индустрия сталкивается в эпоху AI: от изменений в разработке до новых требований к архитектуре и инфраструктуре.
Это событие для бэкендеров, фронтендеров, тимлидов, аналитиков, продактов и всех, кто работает в IT-индустрии, внедряет AI в процессы, проектирует сложные системы и ищет новые решения.
⏭ В программе доклады экспертов из Яндекса и международных IT-компаний:
🟠 Мо Гавдат, ex-Chief Business Officer, Google X
🟠 Алексей Гусаков, CTO Поисковых сервисов и ИИ
🟠 Сергей Мельник, руководитель сервиса Автономного транспорта и роботов
И другие спикеры (некоторые из них пока что секретные — расскажем о них в ближайшее время 🤫).
🎲 Зарегистрироваться
Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile
Y
Yandex for Mobile
15.07.2026 14:46 · 👁 890
🈲 Гайд по миграции на SPM: с граблями, костылями и скриптами
Меня зовут Даниил Гиренко, я Flutter-разработчик в Яндекс Про. Проект по переводу нашего приложения с CocoaPods на Swift Package Manager оказался одним из самых сложных и долгих в моей карьере. Тем, кому ещё только предстоит подобное приключение, я хочу рассказать про подводные камни, о которые успел поцарапаться в процессе.
🎲 Ищите на Хабре полноценный гайд по миграции любого Flutter-приложения
💡 Внутри я разобрал граф зависимостей, показал, как мигрировать плагины, настроить сборку и добиться успешного билда. Эти знания могут помочь вам значительно ускорить проект миграции.
Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile
Y
Yandex for Mobile
09.07.2026 09:29 · 👁 1.3K
🈲 Мультиплатформа без большого рефакторинга и остановки продуктовой разработки
Привет, это Сергей Ефанов, старший мобильный разработчик в Яндексе. Недавно я выступал на Mobile Runtime, где рассказал, как мы внедряли Compose Multiplatform в Я.Team — внутренний сервис для сотрудников компании.
Над приложением работает всего три человека: два Android-разработчика и один iOS-разработчик. В какой-то момент мы поняли, что постоянно реализуем одни и те же фичи дважды. Из-за этого логика постепенно расходилась между платформами, баги исправлялись не одновременно, аналитика отличалась, а ресурсы и переводы дублировались.
⏭ Мы решили перейти на Compose Multiplatform. Главной задачей было сделать это без остановки продуктовой разработки и без большого рефакторинга.
Для этого мы начали постепенно выносить в общую часть только то, что действительно дублировалось. Каждый шаг планировали так, чтобы его можно было протестировать, зарелизить и при необходимости быстро откатить.
Переход оказался инженерной инвестицией. Пока мы строили инфраструктуру, разработка действительно замедлилась, а всей команде пришлось осваивать новые инструменты и соседний стек. Но теперь мы можем разрабатывать значительную часть новых фич, затрачивая вдвое меньше ресурсов.
👷♀️ В карточках я показал несколько схем нашей архитектуры и процесса передачи общего кода.
🔽 Если интересно узнать больше — внизу прикрепил презентацию доклада. Также его можно посмотреть на ютубе или в VK Видео.
На данный момент мы с командой уже реализовали 12 shared-фич. А 70% кода — общие для двух платформ.
📺 Другие доклады с Mobile Runtime тоже уже можно смотреть:
🟰 Трек AI — ютуб и VK Видео
🟰 Трек Not so AI — ютуб и VK Видео
Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile
Y
Yandex for Mobile
03.07.2026 09:02 · 👁 3.2K
🍔 Как мы запустили медиаленту в Яндекс Еде для iOS, а потом всё переделали
Медиалента в мобильном приложении — инструмент с карточками, роликами и другим контентом для пользователей. Казалось, спроектировать ленту — стандартная задача, но быстро выяснилось, что типовое решение для Яндекс Еды не сработает.
👨💻 Меня зовут Лев Бондаренко, я старший iOS-разработчик Яндекс Еды. Во время разработки ленты пришлось разобраться, почему видео не запускались на некоторых устройствах, интерфейс тормозил без очевидных причин, а потребление памяти было критическим.
👷♀️ В карточках рассказал об основных проблемах и о том, как мы их решали.
🎲 Если хотите узнать больше про архитектурные эксперименты, observability, дебаг и компромиссы, которые в итоге оказались эффективнее красивой реализации, — читайте статью на Хабре.
Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile
Y
Yandex for Mobile
30.06.2026 09:04 · 👁 2K
⭐️ Как мобильному разработчику стать сеньором благодаря BDUI
Привет, это Никита Шумский. За время работы в Яндексе я застал появление Backend-Driven UI, научился работать с ним и внедрял его в разные сервисы. Сегодня хочу рассказать, как это было.
🟠 В компанию я пришёл в 2021 году как нативный Android-разработчик Маркета. В сервисе тогда была интеграция с CRM — внешним видом экрана управляли через административную панель. Но это решение уже устарело, и мало кто понимал, как оно работает.
Помню свой первый тикет. Нужно было обновить виджет с помощью CRM: поменять цвет, изображение и другие параметры. На это ушло немало времени, потому что инструмент оказался непростым, а документации не хватало.
Постепенно задачи становились сложнее. Я читал гайды, просматривал инструкции и примеры в коде, просил помощи у коллег, советовался с разработчиками iOS- и Web-направлений. В итоге мне удалось найти подход, при котором для изменения внешнего вида экрана не нужно выпускать релиз.
🟠 К 2022 году я хорошо разобрался во всём, что нужно для моей работы. Как раз тогда в Маркете окончательно решили разрабатывать и внедрять собственный BDUI. Предпосылок было немало: упростить разработку, объединить кодовую базу iOS и Android, сократить TTM. В качестве эксперимента мы тогда запустили несколько новых фич на Flutter, чтобы и сам фреймворк, и любые новые функции могли работать как отдельное приложение на Android и на iOS.
Мне снова предстояло учиться: углубляться во Flutter, изучать Dart, адаптировать библиотеку Dynamic Widgets, создавать и оптимизировать API для работы с базами данных. Но такой стек казался избыточным и плохо вписывался в проект. Чтобы выйти за рамки MVP, пришлось бы переписать значительную часть инфраструктуры.
Тогда мы пересмотрели подход: отказались от Flutter и перешли к BFF-прослойке MAPI — мобильному бэкенду на Kotlin Spring. Мобильные разработчики трудились над ней вместе с бэкендерами.
🟠 В 2023 году решили попробовать BDUI-фреймворк Яндекса DivKit — Маркет перешёл на него. Я набил руку на связке MAPI + DivKit при решении продуктовых задач и в какой-то момент присоединился к команде Еды. Ребята как раз тоже захотели опробовать BDUI-подход, и мне уже было что им рассказать.
Здесь у меня появились новые компетенции: к навыкам мобильного разработчика добавились знания в области бэкенда, SRE и DevOps. А со временем я вырос до senior-специалиста в BDUI.
🟠 Сейчас BDUI в той или иной мере присутствует во всех Городских сервисах Яндекса. Чтобы объединить усилия и унифицировать подход, мы начали разрабатывать общую техплатформу и собрали отдельную команду энтузиастов из разных продуктов.
🟠 Мне по-прежнему кажется, что чистых BDUI-разработчиков не бывает. Себя я до сих пор считаю мобильным разработчиком, потому что результаты моей работы видны в приложении.
🟠 Это значит, что стать сильным BDUI-разработчиком можно в любом стеке. Главное — прокачать базовые навыки: принципы построения и чистоты кода, проектирование архитектуры и написание тестов. Гораздо важнее уметь отлаживать и расследовать инциденты, чем знать конкретную платформу.
🎲 Читайте мою историю целиком в блоге о работе в Яндексе
Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile
Y
Yandex for Mobile
24.06.2026 11:05 · 👁 2.1K
⏭ Как легко следить за жизненным циклом корутин
Всем привет! Меня зовут Вадим Мезенцев, я занимаюсь разработкой мобильных приложений в Яндекс Go. Мы работаем над опенсорс-библиотекой Demeter для профилирования Android и недавно дополнили её инструментом Coroutine Tracer, который помогает отслеживать изменения корутин.
🚺 Зачем нужен Coroutine Tracer?
С откладкой корутин в Android сталкивается любой разработчик на Kotlin. Стандартные инструменты часто показывают потоки, а не корутины, поэтому, когда одна зависает, искать приходится вслепую — расставлять логи и пытаться воспроизвести проблему вручную.
🟰 Наш плагин помогает справиться с этим:
🟠 находит автоматически все вызовы launch/async — без ручной расстановки меток;
🟠 строит дерево parent‑child‑связей между Job;
🟠 измеряет длительность каждой корутины и фиксирует отмены и исключения;
🟠 показывает всё это в удобном UI прямо на девайсе.
🎲 В статье на Хабре читайте, как устроена архитектура Coroutine Tracer — от байт-кода до дерева на экране — и что происходит на каждом этапе работы инструмента. А если готовы протестировать его уже сейчас, подключайте из библиотеки Demeter. Будем рады обратной связи.
Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile
Y
Yandex for Mobile
19.06.2026 11:59 · 👁 2.5K
♨️ Как обойти ограничения iOS и Android и создать Wi-Fi-сканер
Привет, это Павел Семенищев, сетевой инженер в Yandex Infrastructure. В команде Network Operations Center мы отвечаем в том числе за сети офисов, складов и дарксторов Яндекса. В один момент в эксплуатацию поступило несколько сотен удалённых точек — и отправлять сетевиков на каждую проблему с Wi‑Fi стало невозможно. Нам нужно было решение, которое позволит выявить источник проблем на месте.
Именно поэтому я создал два приложения для радиообследования — WiProber под Android и WiFi Prober под iOS.
Вот чем пришлось заняться в процессе:
🟠 Научить приложение паковать результаты в принятый в индустрии формат Ekahau (.esx).
🟠 Разобраться с тем, что Android не любит частого сканирования сети, и решить проблемы с разрешениями, режимом Continuous и scan throttling’ом.
🟠 «Раскрутить гайки» в iOS. Это закрытая система, а мне нужно было получить RSSI, Noise и MCS без приватных API.
🟠 Сделать красивый AR-режим с наложением метрик на камеру.
Проект уже прошёл ревью Apple, в версия на Android доступна в GitHub.
⏭ Читайте статью на Хабре — там ещё больше вызовов, с которыми я столкнулся, и подробностей для мобильных разработчиков.
Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile