«Яндекс» выложил в открытый доступ Yatagan — инструмент для быстрой сборки Android-приложений Статьи редакции

Сначала компания использовала его для своих целей. Например, ускорила разработку приложения «Браузера» в два раза.

  • «Яндекс» выложил на GitHub фреймворк Yatagan. Он автоматически генерирует код, который связывает между собой части приложения. Например, в «Браузере» он объединяет модули распознавания речи, «Алисы», перевода видео и всё остальное.
  • Yatagan можно использовать вместо фреймворка Dagger — он задействует API Dagger, но генерирует меньше кода и этим сокращает время сборки.
  • В Yatagan есть специальный режим для разработчиков, который связывает модули без генерации кода, — он незначительно замедляет запуск приложения, но сильно ускоряет сборку.

Изначально мы создавали Yatagan для своих целей. Перед нами стояла задача ускорить сборку таких приложений, как «Браузер» или «Яндекс с Алисой». Тогда мы изучили особенности работы Dagger и на его основе сделали свой фреймворк. В итоге нам удалось вдвое ускорить сборку. Это не значит, что все получат такой же результат: скорость сборки зависит от многих факторов. По нашим оценкам, в среднем она может вырасти на 40–50% — причём не только в таких больших приложениях, как »Браузер».

Илья Богин, руководитель отдела мобильной разработки «Яндекса»
  • В августе 2022 года «Яндекс» опубликовал на GitHub фреймворк DivKit, который позволяет ускорить разработку мобильных приложений и быстрее обновлять интерфейсы.
0
98 комментариев
Написать комментарий...
Ияза Гара

У Яндекса в среднем приложения посредственные. Тупят и тормозят. Маркет - вообще какашка глюченная. Плюс сити после обновления - это единственное приложение, которое смогло заставить жестко тормозить свежий Айфон.

Ответить
Развернуть ветку
Артур Кожевников
Для очень больших графов построение во время выполнения может замедлять старт приложения на несколько секунд, но обычно это не критично по сравнению с ускорением сборки.

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

Ответить
Развернуть ветку
5 комментариев
Bruce Murphy

Да ладно вам, все нормально работает. Просто некторым хоть что дай, если наше, то значит обязательно плохое.

Ответить
Развернуть ветку
7 комментариев
Антон Штадлер

Опередил. Маркет - это удивительный апп, который по несколько раз на дню предлагает обновиться, но все равно тормозит, а потом вылетает и просит отправить отчёт
Для сравнения Озон, который не крашится почти никогда и работает шустро почти на любом железе

Ответить
Развернуть ветку
Николай Лысенко

Поддерживаю ,что ни возьми - кусок дерьма наполовину сделанный

Ответить
Развернуть ветку
1 комментарий
Mopsicus

Тормозит оно ещё потому что они с сервера передают все данные для построения UI.

Ответить
Развернуть ветку
Planaliz

Не знаю как на айфоне, но на андроиде начиная с 9 и по 13 (дома устройства со всеми есть) работает без серьёзных нареканий.

Ответить
Развернуть ветку
Кабаре-дуэт Академия

Удивительно, пользуюсь маркетом на айпаде мини 5 2019 года, работает просто идеально. При этом постоянно вижу комменты, что маркет глючит. Да что я блять интересно делаю не так?

Ответить
Развернуть ветку
1 комментарий
Игорь Горбунов

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

Ответить
Развернуть ветку
1 комментарий
Денис Нигматулин

В каком месте они тупят? Норамльно работающие приложения, постоянно обновляются. Айфон поменяйте лучше )

Ответить
Развернуть ветку
Golohod

На моём не свежем айфоне ничего не тормозит, странно

Ответить
Развернуть ветку
1 комментарий
Denis

Пока запускается Яндекс Еда на старом айфоне - успеваешь сам сходить в магазин

Ответить
Развернуть ветку
Андрей Фролов

заменить кинжал на ятаган — мой почтение автору названия

Ответить
Развернуть ветку
Лев Коптев

Разработчик видимо - сарацин

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
1 комментарий
Александр Рамазанов

Если бы название было Kindex, а не Yandex

Ответить
Развернуть ветку
Alex E

Кроме яндекса он и не нужен никому.

Ответить
Развернуть ветку
nochnoy.ru

Если он такой-же как Dagger но быстрее то он нужен примерно ВСЕМ. И все на него перейдут. Не раз такое было с другими фреймворками.

Ответить
Развернуть ветку
14 комментариев
Жан Жак

поэтому и бесплатный

Ответить
Развернуть ветку
C. Steel
«Яндекс» выложил в открытый доступ Yatagan — инструмент для быстрой сборки Android-приложений

А также анонсировал новой Android-смартфон Psina.

Ответить
Развернуть ветку
Alex E

Ятаган и псина , хм ну неплохо. )))

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Artur Vasilov

Идея правильная, но, к сожалению, донести все это в сам Dagger было бы практически невозможно. Dagger - уже давно выпущенная библиотека с богатой историей, ей пользуются огромное количество людей. И поэтому она должна соблюдать обратную совместимость во всем, что в разы усложняет разработку. Сама команда Dagger-а из-за этого уже очень долго не может поддержать даже KSP, не то что рантайм режим. А поддержать такие изменения в Hilt вообще невозможно.
Мы решили в новом фреймворке не поддерживать устаревшие штуки (типа dagger-android), отказаться от каких-то не очень нужных фичей, написать с нуля сам движок без некоторых проблем даггера, и тем самым все это стало возможно. Поэтому можно было это сделать только отдельным фреймворком.

Ответить
Развернуть ветку
Alexey Dzyuba

Из-за раздела Яндекса на две компании каждое такое выкладываение внутреннего инструмента в open source будет рассматриваться как вывод активов, чтобы ими могли законно пользоваться по ту сторону границы.

Ответить
Развернуть ветку
Alex

Яндекс всю жизнь что-то выкладывает (тот же кликхаус). Вы бы еще связали это с тем, что Кудрин пришел и начал разбазаривать все нажитое имущество.

Ответить
Развернуть ветку
5 комментариев
Zamir Saidov

Я сильно далек от этого, поэтому иниересуюсь: там сборка сложнее, чем в андроид студии ткнуть кнопку собрать и выгрузить apk?

Ответить
Развернуть ветку
Jet

Это dependency injection фреймворк, "сборка" здесь вообще не при чем. Автор этой новости просто не понимает смысл термина, который использует.

Ответить
Развернуть ветку
4 комментария
Ияза Гара

Вероятно, там некий конструктор, который не обязывает вообще знать, что такое Android Studio и SDK

Ответить
Развернуть ветку
1 комментарий
Сергей Токарев

это вообще не сборщик
Это библиотека для специфической задачи программистов - Dependency Injection

Yatagan is a fast Dependency Injection framework based on Google's Dagger2 API.

Ответить
Развернуть ветку
Вадим Д.

Yatagan каждому!
Сегодня Яндекс – молодцы, пятёрку по поведению!

Ответить
Развернуть ветку
Костя Жажиев

У Яндекса много своего софта внутри компании

Ответить
Развернуть ветку
Vasili Kubarev
Ответить
Развернуть ветку
Жертва стартапа

Яндекс молодцы, в последнее время столько выставляют в открытый доступ

Ответить
Развернуть ветку
RobinzonCruzo

Еще одна залупа в мире DI поверх дагера, спасибо, но пользоваться я этим не буду.

Ответить
Развернуть ветку
Илитный Иксперт

DI сам по себе залупа

Ответить
Развернуть ветку
Vasili Kubarev

Бл... Кувалда уже стала символом новейшей российской политики, теперь еще и ятаган. Осталось использовать по назначению термины "паяльник" и "швабра", для полного погружения в глубины бытия.

Ответить
Развернуть ветку
Рафаель Хамитов

Етегән

Ответить
Развернуть ветку
Moneyman

А где качнуть?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
2 комментария
Упоротый кролик

Яндекс изобрел компилятор.

Ответить
Развернуть ветку
nochnoy.ru

Яндекс ускорил компилятор

Ответить
Развернуть ветку
5 комментариев
Karl

не тестил,но звучит многообещающе

Ответить
Развернуть ветку
Дмитрий Одинцов

интересно было бы попробовать это приложение

Ответить
Развернуть ветку
Daria Shevtsova

Ответить
Развернуть ветку
виктор сикрит

Сейчас появится больше приложений, которые созданы для рекламы)

Ответить
Развернуть ветку
Давид Муравьёв

Вот это я понимаю хорошая новость за сегодня. Теперь можно будет и с этой темой по эксперементировать)

Ответить
Развернуть ветку
Alexander Pashkov

Кто нибудь объяснит в чем преимущества по сравнению с Flutter?

Ответить
Развернуть ветку
RobinzonCruzo

Это как сравнить вилку с самолетом. Это просто инструмент, который управляет созданием объектов в коде.

Ответить
Развернуть ветку
Cosmo Cosmo

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

Ответить
Развернуть ветку
95 комментариев
Раскрывать всегда