Yandex for Mobile


Гео и язык канала: Россия, Русский
Категория: Технологии


Канал о мобильной разработке от Яндекса. Рассказываем о наших командах, технологиях и приглашаем на мероприятия. Чат: https://t.me/mobilesubbotnik
Вопросы: @monica_kobaliia
Все каналы Яндекса по стекам разработки: https://t.me/addlist/Hrq31w2p1vUyOGZi

Связанные каналы  |  Похожие каналы

Гео и язык канала
Россия, Русский
Категория
Технологии
Статистика
Фильтр публикаций


🤖 AI в мобильной разработке: плюсы, минусы и прогнозы на будущее

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

⏭ Эти вопросы обсудили Михаил Буравлёв, руководитель мобильной разработки в Яндекс 360, и Дмитрий Мовчан, руководитель отдела разработки в Одноклассниках.

Модератором круглого стола выступил Сергей Кольцов, руководитель группы AI-автоматизаций в Городских сервисах Яндекса.

👷‍♀️ Некоторые цитаты спикеров мы вынесли в карточки выше.

Дискуссия прошла на Mobile Runtime. Эту и другие записи с мероприятия смотрите в плейлистах:

📺 Трек AI на ютубе и в VK Видео
📺 Трек Not so AI на ютубе и в VK Видео

Подписывайтесь:

💬 @Yandex4Mobile
📹 @YandexforMobile


🎦 Андроиду 18 лет. Какие странности первой версии всё ещё с нами?

В этот день в 2008 году вышел Android 1.0 SDK. С тех пор изменились язык и несколько подходов к архитектуре. Зато некоторые решения из самого первого Android пережили всё и зачастую усложняют жизнь разработчикам. Мы поговорили об этом с коллегами, и они вспомнили три примера: 

1️⃣ Activity и поворот экрана

Во время перехода из горизонтального положения в вертикальное (или наоборот) система по умолчанию пересоздавала Activity, чтобы загрузить ресурсы под новую конфигурацию. Состояние в обычных полях терялось, запрос из onCreate() отправлялся повторно, а старый callback приезжал в прошлый экран. 

🔮Сегодня ViewModel помогает пережить смену конфигурации, но не уничтожение процесса. Чтобы его восстановить, нужны сохранённое состояние и постоянное хранилище для важных данных. Android 17 сократил число поводов для пересоздания, но сам механизм остался.

2️⃣ Context и утечка памяти

Нужна строка? Передай Context. Нужен системный сервис? Передай Context. Сохранил его в синглтоне? Если это Activity, заодно сохранил весь экран и всё, что он удерживает. В итоге пользователь давно ушёл, а экран всё ещё с нами. Очень трогательная утечка памяти.

🛍 Лечение прежнее. Нужно учитывать время жизни объектов и использовать applicationContext для долгоживущих зависимостей там, где он подходит. Для UI контексты не взаимозаменяемы, имеют значение окно, тема и конфигурация. 

3️⃣ TextView.setText(18) и проблема с числами

Вот одна строка, в которой можно одновременно поздравить Android с днём рождения и воспроизвести проблему — его ровесницу: 


textView.setText(18)

Собственно, вместо поздравления мы получим: Resources.NotFoundException. Перегрузка setText(int) принимает ID строкового ресурса. Обычное число прекрасно подходит ей по типу. 

🟰 В итоге, если мы хотим показать возраст, нужно передавать текст:


textView.text = 18.toString()

🎉 С днём рождения тебя, Android! Спасибо за обратную совместимость. Особенно за совместимость с ошибками, которых нужно избегать уже 18 лет.

Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile


⚡️ Мобильный блиц про AI: отвечаем быстро и обязательно честно

Мы узнали, что мобильные разработчики думают про вайбкодинг, agentic apps и AI code review. И готовы ли они делегировать роль PM искусственному интеллекту. Мнения, как всегда, разделились.

📺 Всех этих разработчиков мы собрали на мероприятии Mobile Runtime. Посмотреть доклады и воркшопы оттуда можно в плейлистах:

🟠 Был целый трек про AI — на ютубе и в VK Видео

🟠 И ещё один про всё остальное — на ютубе и в VK Видео

Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile


Видео недоступно для предпросмотра
Смотреть в Telegram
📺 «Нерешённые задачи» — премьера к празднику

Сегодня, 13 сентября, мы отмечаем День программиста, а ещё этот праздник совпадает с днём рождения Ильи Сегаловича, сооснователя Яндекса. Так что это идеальный день для премьеры нашего документального фильма «Нерешённые задачи» на Кинопоиске.

🟠 О чём картина

Это 30-минутная история о разработчиках Яндекса, которые каждый день берутся за задачи без готовых решений. Герои из команд Автономного транспорта, Алисы, Yandex Infrastructure и Yandex Cloud расскажут об экспериментах, ошибках и моментах, когда неудача становилась шагом к большому открытию.

Обсудим, почему некоторых пассажиров автономного транспорта укачивает, как подготовить инфраструктуру к трафику, который каждый год растёт вдвое, и что делать программисту, если модели уже пишут код быстрее него.

Готовых инструкций нет. Есть гипотезы, эксперименты, ошибки и новые попытки разобраться. Поэтому если вы не знаете, что делать, — это нормально. Вы просто оказались перед настоящей задачей.

🍿 Смотрим фильм на Кинопоиске или на YouTube

🎦 Приятного просмотра и с Днём программиста!

Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile


🤨 Почему Al-агенты тормозят и что с этим делать

С вами Александр Иванов, разработчик мобильных приложений в команде Яндекс Go. Хочу поделиться своим воркшопом с Mobile Runtime.

Вместе с участниками разобрали причины, по которым AI-агенты работают медленно и неточно в больших проектах, насчитывающих десятки или сотни тысяч файлов. Среди них перебор с количеством файлов и размером контекста, а также злоупотребление grep/search. В результате AI может тратить слишком много токенов на бессмысленный шум и уходить всё дальше от исходной задачи.

📺 Смотрите полную запись воркшопа, на котором я в формате Live Demo показал, как решить эти проблемы через структурный индекс кода с помощью нашего инструмента AST-INDEX.

🎲 Другие выступления с Mobile Runtime можно найти по ссылкам:

🟠 Трек AI — на ютубе и в VK Видео
🟠 Трек Not so AI — на ютубе и в VK Видео

Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile


⏭ Приручаем Paparazzi для проверки TalkBack

Всем привет, это Владислав Шиляев, я разрабатываю Android-приложение Яндекс Почты и отвечаю за то, чтобы Почта оставалась в топе рейтинга доступности. Почта — массовый продукт, и мы хотим, чтобы приложением было удобно пользоваться всем, в том числе и людям с особенностями зрения.


В Compose за доступность отвечает семантика — информация о смысле и роли каждого элемента интерфейса. Эти характеристики собираются в семантическое дерево и передаются сервисам доступности вроде TalkBack. Встроенные компоненты поддерживают семантику из коробки, но для кастомных её приходится строить вручную, и ошибиться в этом процессе легко.

🟠 Сначала мы попробовали простое решение: сохранять семантическое дерево в файл функцией Compose UI Test printToString и сравнивать снапшоты между прогонами. Подход рабочий, но текстовый дифф получался огромным и нечитаемым.

🟠 Тогда мы подключили библиотеку для скриншот-тестов Paparazzi и её расширение AccessibilityRenderExtension. Оно рисует поверх скриншота важные для доступности свойства: например, у кнопки «Назад» сразу видно подписи Back и Button. Такой снапшот легко оценить визуально, и ревью снова стало осмысленным.

🔮 Отдельно пришлось повозиться с CI: локальные скриншоты с macOS отличались от тех, что рендерил Linux CI, из-за разного сглаживания шрифтов. Baseline мы стали записывать только на CI. А скриншоты, которые не совпали, перекладывает в репозиторий сама кастомная Gradle-задача.

🎲 Подробности и код смотрите на Хабре. В статье я разбираю, что такое доступность приложения в понимании разработчика и сколько времени занимает интеграция и поддержка нашего подхода к снапшот-тестам.

Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile


🚀 Погружаемся в технологии на deep tech night

Уже 5 сентября пройдёт deep tech night — масштабная онлайн-конференция Яндекса о технологических вызовах, с которыми IT-индустрия сталкивается в эпоху AI: от изменений в разработке до новых требований к архитектуре и инфраструктуре.

Это событие для ML-разработчиков, бэкендеров, фронтендеров, тимлидов, аналитиков, продактов и всех, кто работает в IT-индустрии, внедряет AI в процессы, проектирует сложные системы и ищет новые решения.

🔥 Вас ждут темы от инфраструктуры и железа для нейросетей до AI-агентов и внедрения AI в разработку и два формата:

🟠 Hard — доклады о сложных и масштабных задачах для тех, кто хочет вдумчиво разобраться в технической стороне сферы.

🟠 Experiment — лайтнинги и интерактивные кейсы об экспериментах с AI-агентами, новых подходах и продуктовых находках. Для всех, кому интересно пробовать новое и следить за трендами.

Среди спикеров — Мо Гавдат, десять лет руководивший бизнес-развитием в Google X, Алексей Гусаков, CTO Поисковых сервисов и ИИ, Сергей Мельник, руководитель сервиса Автономного транспорта и роботов, и другие эксперты из Яндекса и других IT-компаний.

🈲 Чтобы подключиться к онлайн-трансляции, нужна предварительная регистрация. Она также даст возможность задать вопросы экспертам в прямом эфире и первыми посмотреть запись после события.

🎲 Смотрите полную программу и регистрируйтесь на deep tech night.

До встречи!

Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile


🈲 Как мы используем скилы в агентской разработке

С вами Егор Федяев, руководитель службы разработки Яндекс Про. Я отвечаю за Финтех и Легализацию для водителей и курьеров. А ещё прикладываю все усилия, чтобы внедрять в команде агентскую разработку.

На Mobile Runtime я рассказал про часть нашего опыта. Речь шла о скилах и о том, как уже сегодня использовать их на максимуме возможностей.

👷‍♀️ В карточках я рассказал, какую эволюцию прошли скилы в нашей команде.

📺 А в полной записи доклада я подробнее остановился на том, в каких задачах они могут заменить MCP и что должна включать в себя архитектура скилов в ближайшем будущем.

🎲 Другие выступления с Mobile Runtime можно найти по ссылкам:

🟠 Трек AI — на ютубе и в VK Видео
🟠 Трек Not so AI — на ютубе и в VK Видео

Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile


🔥 Новости программы deep tech night

На конференции deep tech night вас ждут два формата:

• Hard — технические доклады о сложных и масштабных задачах. Формат подойдёт тем, кто хочет вдумчиво разобраться в технической стороне темы.

• Experiment — лайтнинги и интерактивные кейсы об экспериментах с AI-агентами, новых подходах и продуктовых находках. Этот формат для всех, кому интересно пробовать новое и следить за трендами.

👷‍♀️ В карточках рассказываем о новых спикерах и их темах. Смотрите полную программу и регистрируйтесь на deep tech night, которая пройдёт 5 сентября. Присоединиться к конференции онлайн можно по предварительной регистрации.

🎲 Зарегистрироваться

Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile


🈲 SwiftSyntax: пишем свой DI-фреймворк

С вами Никита Никонов, старший разработчик мобильных приложений в Яндекс Картах. На Mobile Runtime я прочитал доклад о SwiftSyntax — библиотеке для работы с AST языка Swift. Она позволяет парсить исходники, генерировать код, отображать «интерактивные» ошибки (FixIt) и писать макросы.

💻 В докладе я подробно разобрал возможности библиотеки на практике. Посмотреть его можно на ютубе и в VK Видео.

🌳 Именно благодаря экспериментам со SwiftSyntax мы создали DI-фреймворк. Он называется Forest, я уже писал про него ранее.

🎲 Другие записи с Mobile Runtime можно посмотреть по ссылкам:

🟠 Трек AI на ютубе и в VK Видео
🟠 Трек Not so AI на ютубе и в VK Видео

Подписывайтесь:
💬 @Yandex4Mobile
📹 @YandexforMobile



Показано 11 последних публикаций.