Google Hilt. Улучшенный Dagger 2? [RU, Android] / Мобильный разработчик
Vložit
- čas přidán 30. 12. 2020
- Всем привет! Google давно обещала сделать нам даггер на максималках и вот представила первичную версию Hilt. Давайте посмотрим, что это такое.
Полезные ссылки
Репозиторий TransportApp - github.com/AlexGladkov/Transp...
Напоминаю, что видео вначале выходят для моих патронов. Стать патроном можно по ссылке ниже
===========================================
Стать Патроном канала и получить доступ к уникальному материалу
/ mobiledeveloper
===========================================
Мобильный разработчик в других соц. сетях
=======================
Вконтакте - mdeveloper
Instagram - / nplau
Телеграм - t.me/mobiledevnews
=======================
Ставь лайк и расскажи друзьям, чтобы они тоже попробовали эту технологию
С новом годом, бро!
Спасибо за видео!)
Только сейчас увидел :) И тебя с новым годом, успехов и удачи в будущем! :)
О круто, но посмотрю в следующем году))
Посмотрели?)
@@MobileDeveloper Воу-воу soo fast. Весь год же ещё впереди ))
Вообще спасибо тебе за то что ты делаешь! Твои VkFriends и DotaCounterpick стали для меня своего рода отправной точкой и "эталоном". Всё никак не могу выделить время пройти твои обновлённые live-coding проекты.
Вспомнился анекдот про басиста ) а когда придёшь остальные струны изучать? Да некогда там концерты, записи, репетиции )))
Но вообще спасибо большое!)
Вот так, приходится есть прошлогодний хлеб и смотреть прошлогодние видео.
@@alexandernifanin7366 Ага, ещё и прошлогодние воркшопы доделывать надо ;)
Я правильно понимаю, что анотации DebugRetrofit и MainRetrofit это аналог @Named в чистом дагере? Ведь аналогичным способом можно инжектить разные инстансы ретрофита путём изменения значения в Named.
Это не аннотации Хилта это просто мои собственные qualifier аннотации, чтоб пометить разные инстансы одного протокола
Ставь шрифт больше или используй presentation-mode, ничего не разобрат
Давно я ждал этого видео, спасибо)
Пожалуйста :)
Не использую Hilt потому что не нашёл как в конструктор ViewModel добавить рантайм параметр вместе с параметрами из зависимостей.
Хилт пока еще очень сырой (даром что альфа). Поэтому требовать от него прям многого еще рановато)
Спасибо за видео, очень интересно. Если можно, шрифт чуть крупнее сделать, а то с телефона сложно смотреть.
Хорошо, спасибо большое :)
С наступающим dagger 2 multibinding можете объяснить viewmodel factory заранее спасибо с наступающим
Есть такое на патреоне)
@@MobileDeveloper Спасибо
Отлично, в новогоднюю ночь буду внедрять hilt в свой проект)
Не самый худший новый год )
Finally arrived🎉
Hope you'll like it )
@@MobileDeveloper ABSOLUTELY! :)
hilt чуть обновился и теперь ApplicationComponent переименовали на SingletonComponent
Да, ну альфа ) быстро обновляется ) ещё могут обратно потом поменять ))
Новогодный подарок)))
👌👌
@@MobileDeveloper не бросьте этот канал, прошу, реально такие профессиональные уроки в русском сегменте я еще не встречал. Кроме вашего))))
Не брошу ) вы можете помочь каналу поделившись видео с друзьями!)
все круто пояснил спасибо за контент)
но зачем все это делать с дагером когда есть Kodein?)
Ну как минимум потому что Kodein runtime, а dagger 2 compile time ) А вообще это один из моих вопросов на собеседовании)
Теперь не Hilt, а Мега будем называть???
интересно было бы послушать какие преимущества у многомодульности.
Хм, возможно сделаю видео ) но первое что точно это уменьшенное время сборки
@@MobileDeveloper просто это единственное, что я слышал. Но если это единственный плюс, то стоит ли с этим заморачиваться?
Там не единственный плюс далеко ) особенно в больших распределённых командах ) поэтому все зависит от проекта
@@MobileDeveloper ну я в нынешнем проекте не использую многомодульность, то hilt зашел отлично. В принципе те, кто использовали коин вполне могут переходить на hilt.
Да, для сингл модуля эт прям бриллиантовое решение)
🤔
Wat?
@@MobileDeveloper Let's go to the top
Тема актуальная, очень благодарен за видео. Единственное замечание, что постоянно перепрыгиваете с темы на тему и сложно уловить что к чему. Надо было по порядку: подключение, создание модуля, компонента и т.д. А то если будет смотреть человек не разбирающийся в dagger, нихрена не поймет.
Не знаю если честно, что с этим сделать) Мне кажется, я все логично объясняю) Большинство людей тоже вроде понимает) Но думаю получше будет, потому что я сейчас буду прям сценарии писать.
@@MobileDeveloper Канал хороший, только рассказывать нужно чуть чуть помедленее и выразительнее. Выигрываешь ты в данном случае за счет того что разбираешь и делишься действительно не совсем тривиальными вещами, как это делают на 90% каналов, посвященных разработке. И если к этому еще добавить два вышеописанных замечания, то твоему каналу вообще цены не будет и аудитория вырастет на порядок ибо люди могут смотреть и слушать часами даже полную фигню если она рассказывается на комфортной скорости для восприятия, правильно раставленными акцентами, паузами и с необходимым тембром голоса. Просто тебе для достижения всего этого необходимо попрактиковаться (хотя бы немного) в ораторском искусстве. Это звучит немного смешно, но для канала как у тебя, где 90% информации ты передаешь голосом это must have. А так очень быстро получается и эффект такой же как у цыган - когда они очень быстро накидывают и у человека отключается мозг от перегрева. Я лично всегда ставлю твои видео на 0.75. Ну и второй момент как описывали выше, необходимо излагать более последовательно (как в книгах или фильмах сюжет развивается последовательно) и без резких перескоков по экранам. Да и самому себе конечно-же все кажется ок, но со стороны многие моменты всегда видны лучше, которые человек может не замечать или доходить до них очень долго. Жаловаться никто особо то не будет, но вместе с этим никто и не подскажет как можно человеку улучшить что-то в разы.
Мне hilt зашёл, но у меня один модуль,
Для одномодульных приложений идеальное решение
Непонятно зачем нужны разные Scope аннотации. Hilt требует чтобы "тип" Scope аннотации совпадал с "типом" компонента в который помещается соответствующий dagger-модуль. Т.е. @Singleton в SingletonComponent, @ActivityScoped в ActivityComponent и т.д. Фактически требуется в коде дублировать одну и ту же информацию. Логично было бы вместо всего набора Scope аннотаций использовать одну - @Singleton например, а конкретную область его действия определять по компоненту. Странный дизайн фрейворка. Или я чего-то не понял.
Это философский вопрос того каким путём пошли создатели хилта. Сам по себе он генерит огромное количество сабкомпонентов, поэтому у него и проблемы с многомодульными проектами. Но типа это даёт разное время жизни объектам. В общем, спорное решение
Целый час фиксили баг связанный с hilt. Хохохохохо
hilt странная вещь.
Я видео еще не смотрел, поэтому сложно сказать, почему о нем видео, но...
херня, построенная на субкомпонентах... в то время как прогрессивная общественность юзает component dependency для многомодульности.
вобщем, я в сомнении, что эта хрень взлетит. для неосиляторов dagger разве что.
и вообще, ситуация как с sendmail, где конфиг усложнился настолько, что появился конфиг конфига, а потом эта херь сдохла.
Dagger мне нравится и поэтому топтаниие в поисках легкого решения приведет имх к печальным последствиям.
Видео о нем потому что тема популярная и много кто просил такое видео сделать )
Насчет самого хилта - думаю он займет свою нишу. Для сингл модуля самое оно имхо
@@MobileDeveloper , на простых проектах да, может отбить долю коина и туфпика