No video

Почему я вернулся на Dagger. Пока Koin

  Рет қаралды 10,788

Android Broadcast. Все об Андроид разработке

Android Broadcast. Все об Андроид разработке

Күн бұрын

Пікірлер: 100
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
🔗 Avito.Tech avito.tech/ 💰 Поддержать проект на Boosty bit.ly/3sratqQ или Patreon patreon.com/android_broadcast 🔗 Telegram канал "Android Broadcast" ttttt.me/android_broadcast
@yakiv1488
@yakiv1488 3 жыл бұрын
Чтобы не получать ошибки в рантайме нужно думать как ошибки в рантайте ☝
@user-og2wp2qy5i
@user-og2wp2qy5i 3 жыл бұрын
Пользуюсь на текущем kodein. Обладает всеми плюсами koin. Помимо этого api не ломается на минорных апдейтах, а проблема с аргументами решена запретом передавать больше одного аргумента (больше одного аргумента - завернул это все в класс и передал).
@september669
@september669 3 жыл бұрын
На последнем проекте выбрал Kodein. Потому что мультиплатформа, простота относительно даггера, дебаг ошибок вообще элементарный.
@pro9990
@pro9990 3 жыл бұрын
Лично мне удобно использовать dagger даже на маленьком проекте. DependencyInjection это очень крутая штука которая автоматически подставляет все инстансы где они необходимы и освобождает от необходимости вручную сопоставлять зависимости как это нужно было бы делать в ServiceLocator. Это главное преимущество даггера, которого нету ни в каких других фреймворках. А тем более это очень помогает когда в проекте несколько сотен модулей. Но единственное что удручает это скорость сборки, потому что добавляется генерация кода, потом его дополнительная компиляция, а при переходе между ветками кэш ломается и начинает собирать опять по новой. Koin же предпочитаю использовать только в сдк приложениях, когда есть только ограниченный функционал, в котором уверен что он не разрастется
@user-oc7py1vy6s
@user-oc7py1vy6s 3 жыл бұрын
06:00 У Compose нет визуального редактора. Точнее он как-бы есть, но намного быстрее проверить изменения макета запустив приложение.
@bolnoi8
@bolnoi8 3 жыл бұрын
Это пока, он же только релизнулся
@juneuniversum
@juneuniversum 2 жыл бұрын
@@bolnoi8 именно что релизнулся, а не в бету перешёл.
@bolnoi8
@bolnoi8 2 жыл бұрын
@@juneuniversum это к чему? На релизе андроид лейаутов превью вообще не было
@juneuniversum
@juneuniversum 2 жыл бұрын
@@bolnoi8 к низкому качеству тулинга. Что он релизнулся, но по факту, как будто в бету вышел, и до сих пор не юзабельный. Качество хромает.
@bolnoi8
@bolnoi8 2 жыл бұрын
@@juneuniversum слово релиз ничего не значит, до появления андроид студии тулзов вообще не было, хотя андроид фреймворк был в релизе
@alex5381
@alex5381 3 жыл бұрын
Если в вакансии среди технологий стоит Dagger2, то подразумевается Hilt? Или нужно уметь работать именно с Dagger2? Я читал что у Hilt есть ограничения для больших проектов.
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Скорее всего нужно иметь работать с Dagger 2. Hilt простая настройка поверх и его надо изучить, что быстро
@alexandrromanishin9906
@alexandrromanishin9906 3 жыл бұрын
Имею опыт перевода двух больших проектов с Даггера на Коин, ибо даггер в мультимодульном проекте это большая попоболь. + Он реально сложен, с кучей фичей, каждый проект по своему его интегрирует и почти каждый делает это плохо. У коина намного все прозаичнее и понятнее, за это его и любят. (Между прочим знакомство с Коином начал после Вашего доклада, Кирилл) В общем, аргументы приведенные в видео нерелевантны, имхо. Выглядит и правда как переобувание для личных целей. А мой совет: сделать вместе с обучалками даггеру, обучалку для коина. Судя по комьюнити это зайдет лучше, чем даггер.
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Я буду рад обсудить опыт, чтобы понять что я делал не так с Koin. Пиши в личку t.me/krlrozov
@720pXD
@720pXD 3 жыл бұрын
Крутая интеграция библиотек гугла друг с другом и с Android Studio очень мотивирует целиком переходить на их технологии, что имеет обратную сторону в виде отмирания других подходов и библиотек, что может в будущем негативно сказаться на Android разработке в целом, но посмотрим что там выйдет)
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
С одной стороны да, с другой - никто не мешает писать свои плагины. Для этого нужны ресурсы + нужно поддерживать
@arseni1453
@arseni1453 2 жыл бұрын
Чем понятнее код, тем лучше, Koin one love :)
@AndroidBroadcast
@AndroidBroadcast 2 жыл бұрын
Hilt вас порадует
@uncledoc123
@uncledoc123 3 жыл бұрын
На коине проще и меньше кода писать нужно, а чтобы ошибки в рантайме не возникали - нужно просто не пользоваться именными параметрами конструкторов
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Есть Hilt. С ним томе мало кода
@scraplesh
@scraplesh 3 жыл бұрын
​@@AndroidBroadcast Меня немного утомляют AssistedFactory, в коине с передачей параметров проще.
@VoroninSergey
@VoroninSergey 3 жыл бұрын
Я пишу и Android и back. В бэке hilt вроде как работать не будет?
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Hilt история только про Android, так что да, на беке работать не будет. Хотя упрощение Dagger через Hilt может быть полезно многим. Ещё надо будет компнуть глубже, возможно я и ошибаюсь
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Согласен, только реализация нужная простая и с проверкой во время компиляции. Как добиться?
@MrKizup
@MrKizup 3 жыл бұрын
Делали большой проект, с кучей модулей, часть из которых доставлялись зависимостями отдельными. Выбрали hilt в качестве di. Горя конечно мы с ним хапнули при его инициализации в модулях. Но там есть небольшой костылик, с помощью которого все получилось разрулить. В любом случае на данный момент склоняюсь больше к hilt'у - с ни намного проще начать проект и тулинг просто супер. В koin больше всего не нравилось отсутствие проверок графа на этапе компиляции, а писать тесты и все это настраивать нет времени, а тем более есть проект на фрилансе.
@Nidvoraich
@Nidvoraich Жыл бұрын
Недавно открыл для себя тему инъекции зависимостей. Стою на распутье. Даггер? Коин? Хилт? Время не поджимает особо. Ковыряю маленький проектик чисто в целях познания теэнологий на практике. Что может пригодиться больше на собесах? И кто из них имеет графические подсказки в студии (значки завистимстей слева от кода как в Интелидж Идее со Спрингом)? Спасибо за ответы :)
@vdrmkr
@vdrmkr Жыл бұрын
а где покупал такие стикеры (на планшете)?
@AndroidBroadcast
@AndroidBroadcast Жыл бұрын
Собрал по конференциям
@radpem
@radpem 3 жыл бұрын
Почему не Hilt?
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Фактически Hilt - это Dagger. Ничего против не имею, но в больших проектах с ним боль и с модуляризацией проблемы
@lordraiden_do
@lordraiden_do 2 жыл бұрын
Спс за видео! Я вибираю koin для небольших проектов, мне он нравиться за быстроту внедрения и лаконичный код, даггер успользую только на одном большом проекте, да и то, ругался на него изза времени сборки, хотел на koin переписать, однако купил недавно mac на m1, и теперь уже как-то пофиг. В новых проектах хочу конечно попробовать уже hilt.
@scraplesh
@scraplesh 3 жыл бұрын
Я выбираю обе библиотеки, обе удобные, с обеими делал многомодульные проекты, никаких особых проблем не ощутил.
@garri5108
@garri5108 2 жыл бұрын
Feature модули?
@VoroninSergey
@VoroninSergey 3 жыл бұрын
В koin поддержка аргументов уже как несколько месяцев реализована, они поставляются автоматически
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
То что она есть, я знаю, но работа с ними никак не проверяется и при изменения набора аргументов у зависимости, место где они передаются никак не знает об этом
@suhocki
@suhocki 3 жыл бұрын
@@AndroidBroadcast а как в dagger этот момент, проверяется в компайл-тайме? Насколько я знаю, нет. Иначе в dagger не было бы выброса исключений в духе "не найдено провайдера для такой-то зависимости".
@alekseyorekhov9095
@alekseyorekhov9095 3 жыл бұрын
Проверка проходит на регрессе в ci, на счёт многомодульности проблем нет, код не генерится, очень быстро собирается. Как сервис локатор работает вполне себе неплохо. Но рефакторинг одних и тех же модулей разными командами однозначно больно даётся.
@maxl9543
@maxl9543 Жыл бұрын
А как быть с мультиплатформой?
@viktorv5228
@viktorv5228 3 жыл бұрын
Многомодульный проект с Hilt - проблем нет
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Супер! Буду рад обсудить опыт в личке t.me/krlrozov
@radpem
@radpem 3 жыл бұрын
Выбрал Hilt тк проще запустить для небольшого проекта Андройд. Так же это плюс для больших команд тк люди быстрее вливаются и начинают писать тесты/ фичи
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Да, правильно сделали!
@paulsoja2732
@paulsoja2732 3 жыл бұрын
в последнем проекте выбрал hilt. Это был средних размеров проект. Мне hilt вполне зашел. Буду юзать его и в следующем проекте.
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Много модулей или один?
@paulsoja2732
@paulsoja2732 3 жыл бұрын
@@AndroidBroadcast один модуль, не люблю я многомодульность.
@garri5108
@garri5108 2 жыл бұрын
Хотел бы увидеть что конкретно в фича модулях коин не могёт
@beginnercoding1089
@beginnercoding1089 3 жыл бұрын
Кирилл, а когда выйдет урок по многомодульности c dagger2?
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Уже в сентября. Я взял небольшой отпуск, да и старые видео плохо смотрели. Этот выпуск - давно записанный уже
@Chernov1984
@Chernov1984 3 жыл бұрын
+
@user-zi8zw3yf2t
@user-zi8zw3yf2t 3 жыл бұрын
Ну хэзэ, говорят коин для котлина, а Даггер для джабы
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Да, такое есть, но в рамках Android разработки это принципиально?
@user-zi8zw3yf2t
@user-zi8zw3yf2t 3 жыл бұрын
@@AndroidBroadcast не слышал такого
@user-zi8zw3yf2t
@user-zi8zw3yf2t 3 жыл бұрын
@@AndroidBroadcast но самому стало глаза мозолить от аннотаций в котлине
@isanechek
@isanechek 3 жыл бұрын
Реклама курса про даггер. Мы поняли. Тушите свет - расходимся. Ps vУ каждого инструмента своё предназначение. То что даггер на больших проектах удобнее это факт, но коин не становится автоматом плохим. Не надо никуда возвращаться, просто надо выбирать инструмент по задачам.
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Вот вообще его делал не для рекламы, а потому что попросили подробнее раскрыть эту тему, которая проскальзывала. Да и курс что посмотрят, что нет мне всё равно. Богаче не стану )
@isanechek
@isanechek 3 жыл бұрын
@@AndroidBroadcast дело не в деньгах, а трудах. Курс то хороший, просто не всем кто его просил под силу пройти его от начала до конца. Как всегда больше криков)
@Dunmeri
@Dunmeri 3 жыл бұрын
Вывод такой: ты вернулся с dagger на koin потому, что (ты говоришь о бООООльшом проекте с модулями) 1 Нет простейшего UI-теста на каком-нибуль kaspresso, который запускается на CI/CD, и просто проклацает приложение. Это прям нубство нубское в большом® сложном® приложении® той-самой-крутой-компании-в-которой-работаю® 2 Обновляешь либу без просмотра релиз-нот, без оценки необходимости. Это уровень джуниора, но никак не выше. Посмотреть бы код. Очень часто проблемы возникают из-за того, что на DI/SL кидают то, чего там быть не должно, особенно часто: инициализация retrofit/okhttp/cert pinning. Ни разу не было проблемы с koin в прод/препрод/тесте как на мелких проектах, так и на больших® с® кучей® разрабов® и® модулей® и овер 50к кода® В общем, катить бочку на фреймворк, если не умеешь в организацию процесса разработки - очень странно...
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
И этот вывод сделан был по одному видео? Вы также собесы проводите?
@suhocki
@suhocki 3 жыл бұрын
А почему вы посчитали, что автор обновляет либу без просмотра релиз-нот и без оценки необходимости?
@AndroidBroadcast
@AndroidBroadcast 3 жыл бұрын
Я так понял это был наброс в сторону меня, что я обновляю так
@ildar.ishalin.chelovek
@ildar.ishalin.chelovek 3 жыл бұрын
А где вы делаете инициализацию okhttp, retrofit, etc?
Jetpack Compose - будущее Android UI и убийца Fragment
22:57
Android Broadcast. Все об Андроид разработке
Рет қаралды 37 М.
Why Koin? (RU)
25:38
Android Broadcast. Все об Андроид разработке
Рет қаралды 10 М.
Идеально повторил? Хотите вторую часть?
00:13
⚡️КАН АНДРЕЙ⚡️
Рет қаралды 18 МЛН
Get 10 Mega Boxes OR 60 Starr Drops!!
01:39
Brawl Stars
Рет қаралды 18 МЛН
Основы DI и Dagger, как работает, настройка в проекте
17:31
Android Broadcast. Все об Андроид разработке
Рет қаралды 67 М.
Зачем нужна многомодульная архитектура. Плюсы и минусы
10:59
Android Broadcast. Все об Андроид разработке
Рет қаралды 12 М.
Советы по уведомлениям в Android
25:15
Android Broadcast. Все об Андроид разработке
Рет қаралды 9 М.
Full Guide to Manual Dependency Injection + Removing Dagger
14:50
Philipp Lackner
Рет қаралды 37 М.
Android Custom View. Теория. Обзор API и принципов создания View
36:49
Android Broadcast. Все об Андроид разработке
Рет қаралды 30 М.
Koin 3.2 - Improving the Kotlin Developer Experience by Arnaud Giuliani
42:12
Android Parcelable или Serializable? Павел Борзиков @AvitoTech
24:01
Android Broadcast. Все об Андроид разработке
Рет қаралды 17 М.
Koin в Android на практике c MVVM
28:08
Тимофей Коваленко
Рет қаралды 23 М.
Dagger KSP | Замена Firebase | Ускорение тестов
19:43
Android Broadcast. Все об Андроид разработке
Рет қаралды 6 М.