🔗 Avito.Tech avito.tech/ 💰 Поддержать проект на Boosty bit.ly/3sratqQ или Patreon patreon.com/android_broadcast 🔗 Telegram канал "Android Broadcast" ttttt.me/android_broadcast
@yakiv14883 жыл бұрын
Чтобы не получать ошибки в рантайме нужно думать как ошибки в рантайте ☝
@user-og2wp2qy5i3 жыл бұрын
Пользуюсь на текущем kodein. Обладает всеми плюсами koin. Помимо этого api не ломается на минорных апдейтах, а проблема с аргументами решена запретом передавать больше одного аргумента (больше одного аргумента - завернул это все в класс и передал).
@september6693 жыл бұрын
На последнем проекте выбрал Kodein. Потому что мультиплатформа, простота относительно даггера, дебаг ошибок вообще элементарный.
@pro99903 жыл бұрын
Лично мне удобно использовать dagger даже на маленьком проекте. DependencyInjection это очень крутая штука которая автоматически подставляет все инстансы где они необходимы и освобождает от необходимости вручную сопоставлять зависимости как это нужно было бы делать в ServiceLocator. Это главное преимущество даггера, которого нету ни в каких других фреймворках. А тем более это очень помогает когда в проекте несколько сотен модулей. Но единственное что удручает это скорость сборки, потому что добавляется генерация кода, потом его дополнительная компиляция, а при переходе между ветками кэш ломается и начинает собирать опять по новой. Koin же предпочитаю использовать только в сдк приложениях, когда есть только ограниченный функционал, в котором уверен что он не разрастется
@user-oc7py1vy6s3 жыл бұрын
06:00 У Compose нет визуального редактора. Точнее он как-бы есть, но намного быстрее проверить изменения макета запустив приложение.
@bolnoi83 жыл бұрын
Это пока, он же только релизнулся
@juneuniversum2 жыл бұрын
@@bolnoi8 именно что релизнулся, а не в бету перешёл.
@bolnoi82 жыл бұрын
@@juneuniversum это к чему? На релизе андроид лейаутов превью вообще не было
@juneuniversum2 жыл бұрын
@@bolnoi8 к низкому качеству тулинга. Что он релизнулся, но по факту, как будто в бету вышел, и до сих пор не юзабельный. Качество хромает.
@bolnoi82 жыл бұрын
@@juneuniversum слово релиз ничего не значит, до появления андроид студии тулзов вообще не было, хотя андроид фреймворк был в релизе
@alex53813 жыл бұрын
Если в вакансии среди технологий стоит Dagger2, то подразумевается Hilt? Или нужно уметь работать именно с Dagger2? Я читал что у Hilt есть ограничения для больших проектов.
@AndroidBroadcast3 жыл бұрын
Скорее всего нужно иметь работать с Dagger 2. Hilt простая настройка поверх и его надо изучить, что быстро
@alexandrromanishin99063 жыл бұрын
Имею опыт перевода двух больших проектов с Даггера на Коин, ибо даггер в мультимодульном проекте это большая попоболь. + Он реально сложен, с кучей фичей, каждый проект по своему его интегрирует и почти каждый делает это плохо. У коина намного все прозаичнее и понятнее, за это его и любят. (Между прочим знакомство с Коином начал после Вашего доклада, Кирилл) В общем, аргументы приведенные в видео нерелевантны, имхо. Выглядит и правда как переобувание для личных целей. А мой совет: сделать вместе с обучалками даггеру, обучалку для коина. Судя по комьюнити это зайдет лучше, чем даггер.
@AndroidBroadcast3 жыл бұрын
Я буду рад обсудить опыт, чтобы понять что я делал не так с Koin. Пиши в личку t.me/krlrozov
@720pXD3 жыл бұрын
Крутая интеграция библиотек гугла друг с другом и с Android Studio очень мотивирует целиком переходить на их технологии, что имеет обратную сторону в виде отмирания других подходов и библиотек, что может в будущем негативно сказаться на Android разработке в целом, но посмотрим что там выйдет)
@AndroidBroadcast3 жыл бұрын
С одной стороны да, с другой - никто не мешает писать свои плагины. Для этого нужны ресурсы + нужно поддерживать
@arseni14532 жыл бұрын
Чем понятнее код, тем лучше, Koin one love :)
@AndroidBroadcast2 жыл бұрын
Hilt вас порадует
@uncledoc1233 жыл бұрын
На коине проще и меньше кода писать нужно, а чтобы ошибки в рантайме не возникали - нужно просто не пользоваться именными параметрами конструкторов
@AndroidBroadcast3 жыл бұрын
Есть Hilt. С ним томе мало кода
@scraplesh3 жыл бұрын
@@AndroidBroadcast Меня немного утомляют AssistedFactory, в коине с передачей параметров проще.
@VoroninSergey3 жыл бұрын
Я пишу и Android и back. В бэке hilt вроде как работать не будет?
@AndroidBroadcast3 жыл бұрын
Hilt история только про Android, так что да, на беке работать не будет. Хотя упрощение Dagger через Hilt может быть полезно многим. Ещё надо будет компнуть глубже, возможно я и ошибаюсь
@AndroidBroadcast3 жыл бұрын
Согласен, только реализация нужная простая и с проверкой во время компиляции. Как добиться?
@MrKizup3 жыл бұрын
Делали большой проект, с кучей модулей, часть из которых доставлялись зависимостями отдельными. Выбрали hilt в качестве di. Горя конечно мы с ним хапнули при его инициализации в модулях. Но там есть небольшой костылик, с помощью которого все получилось разрулить. В любом случае на данный момент склоняюсь больше к hilt'у - с ни намного проще начать проект и тулинг просто супер. В koin больше всего не нравилось отсутствие проверок графа на этапе компиляции, а писать тесты и все это настраивать нет времени, а тем более есть проект на фрилансе.
@Nidvoraich Жыл бұрын
Недавно открыл для себя тему инъекции зависимостей. Стою на распутье. Даггер? Коин? Хилт? Время не поджимает особо. Ковыряю маленький проектик чисто в целях познания теэнологий на практике. Что может пригодиться больше на собесах? И кто из них имеет графические подсказки в студии (значки завистимстей слева от кода как в Интелидж Идее со Спрингом)? Спасибо за ответы :)
@vdrmkr Жыл бұрын
а где покупал такие стикеры (на планшете)?
@AndroidBroadcast Жыл бұрын
Собрал по конференциям
@radpem3 жыл бұрын
Почему не Hilt?
@AndroidBroadcast3 жыл бұрын
Фактически Hilt - это Dagger. Ничего против не имею, но в больших проектах с ним боль и с модуляризацией проблемы
@lordraiden_do2 жыл бұрын
Спс за видео! Я вибираю koin для небольших проектов, мне он нравиться за быстроту внедрения и лаконичный код, даггер успользую только на одном большом проекте, да и то, ругался на него изза времени сборки, хотел на koin переписать, однако купил недавно mac на m1, и теперь уже как-то пофиг. В новых проектах хочу конечно попробовать уже hilt.
@scraplesh3 жыл бұрын
Я выбираю обе библиотеки, обе удобные, с обеими делал многомодульные проекты, никаких особых проблем не ощутил.
@garri51082 жыл бұрын
Feature модули?
@VoroninSergey3 жыл бұрын
В koin поддержка аргументов уже как несколько месяцев реализована, они поставляются автоматически
@AndroidBroadcast3 жыл бұрын
То что она есть, я знаю, но работа с ними никак не проверяется и при изменения набора аргументов у зависимости, место где они передаются никак не знает об этом
@suhocki3 жыл бұрын
@@AndroidBroadcast а как в dagger этот момент, проверяется в компайл-тайме? Насколько я знаю, нет. Иначе в dagger не было бы выброса исключений в духе "не найдено провайдера для такой-то зависимости".
@alekseyorekhov90953 жыл бұрын
Проверка проходит на регрессе в ci, на счёт многомодульности проблем нет, код не генерится, очень быстро собирается. Как сервис локатор работает вполне себе неплохо. Но рефакторинг одних и тех же модулей разными командами однозначно больно даётся.
@maxl9543 Жыл бұрын
А как быть с мультиплатформой?
@viktorv52283 жыл бұрын
Многомодульный проект с Hilt - проблем нет
@AndroidBroadcast3 жыл бұрын
Супер! Буду рад обсудить опыт в личке t.me/krlrozov
@radpem3 жыл бұрын
Выбрал Hilt тк проще запустить для небольшого проекта Андройд. Так же это плюс для больших команд тк люди быстрее вливаются и начинают писать тесты/ фичи
@AndroidBroadcast3 жыл бұрын
Да, правильно сделали!
@paulsoja27323 жыл бұрын
в последнем проекте выбрал hilt. Это был средних размеров проект. Мне hilt вполне зашел. Буду юзать его и в следующем проекте.
@AndroidBroadcast3 жыл бұрын
Много модулей или один?
@paulsoja27323 жыл бұрын
@@AndroidBroadcast один модуль, не люблю я многомодульность.
@garri51082 жыл бұрын
Хотел бы увидеть что конкретно в фича модулях коин не могёт
@beginnercoding10893 жыл бұрын
Кирилл, а когда выйдет урок по многомодульности c dagger2?
@AndroidBroadcast3 жыл бұрын
Уже в сентября. Я взял небольшой отпуск, да и старые видео плохо смотрели. Этот выпуск - давно записанный уже
@Chernov19843 жыл бұрын
+
@user-zi8zw3yf2t3 жыл бұрын
Ну хэзэ, говорят коин для котлина, а Даггер для джабы
@AndroidBroadcast3 жыл бұрын
Да, такое есть, но в рамках Android разработки это принципиально?
@user-zi8zw3yf2t3 жыл бұрын
@@AndroidBroadcast не слышал такого
@user-zi8zw3yf2t3 жыл бұрын
@@AndroidBroadcast но самому стало глаза мозолить от аннотаций в котлине
@isanechek3 жыл бұрын
Реклама курса про даггер. Мы поняли. Тушите свет - расходимся. Ps vУ каждого инструмента своё предназначение. То что даггер на больших проектах удобнее это факт, но коин не становится автоматом плохим. Не надо никуда возвращаться, просто надо выбирать инструмент по задачам.
@AndroidBroadcast3 жыл бұрын
Вот вообще его делал не для рекламы, а потому что попросили подробнее раскрыть эту тему, которая проскальзывала. Да и курс что посмотрят, что нет мне всё равно. Богаче не стану )
@isanechek3 жыл бұрын
@@AndroidBroadcast дело не в деньгах, а трудах. Курс то хороший, просто не всем кто его просил под силу пройти его от начала до конца. Как всегда больше криков)
@Dunmeri3 жыл бұрын
Вывод такой: ты вернулся с dagger на koin потому, что (ты говоришь о бООООльшом проекте с модулями) 1 Нет простейшего UI-теста на каком-нибуль kaspresso, который запускается на CI/CD, и просто проклацает приложение. Это прям нубство нубское в большом® сложном® приложении® той-самой-крутой-компании-в-которой-работаю® 2 Обновляешь либу без просмотра релиз-нот, без оценки необходимости. Это уровень джуниора, но никак не выше. Посмотреть бы код. Очень часто проблемы возникают из-за того, что на DI/SL кидают то, чего там быть не должно, особенно часто: инициализация retrofit/okhttp/cert pinning. Ни разу не было проблемы с koin в прод/препрод/тесте как на мелких проектах, так и на больших® с® кучей® разрабов® и® модулей® и овер 50к кода® В общем, катить бочку на фреймворк, если не умеешь в организацию процесса разработки - очень странно...
@AndroidBroadcast3 жыл бұрын
И этот вывод сделан был по одному видео? Вы также собесы проводите?
@suhocki3 жыл бұрын
А почему вы посчитали, что автор обновляет либу без просмотра релиз-нот и без оценки необходимости?
@AndroidBroadcast3 жыл бұрын
Я так понял это был наброс в сторону меня, что я обновляю так
@ildar.ishalin.chelovek3 жыл бұрын
А где вы делаете инициализацию okhttp, retrofit, etc?