Блин как все просто оказалось, я пытался найти объяснения из раздела для чайников и только больше запутывался в горе много мудрых объяснений, а ларчик просто открывался. Кто-то сказал - ты понимаешь тему если можешь ее объяснить так что бы поняла твоя бабушка. Воистину! Спасибо
Именно! Для быстрого старта самое то, как по мне Начинаешь понимать, как пользоваться. А уже технические нюансы, как оно изнутри работает и так далее, уже на практике придет
Дорогой автор видео, Хочу выразить вам огромную благодарность за замечательный урок, посвященный изучению Dagger Hilt. Ваше видео действительно помогло мне упростить мою жизнь как разработчику Android. Благодаря вашей подробной информации, я теперь полностью понимаю, как настраивать и добавлять Hilt в свои проекты, а также эффективно использовать его в своей работе. Примеры, которые вы привели в Android Studio на языке программирования Kotlin, были очень понятными и информативными. Ваш ясный и структурированный подход к объяснению концепций и использованию Hilt действительно помогли мне лучше понять эту тему. Теперь я чувствую себя увереннее в своих навыках разработки Android благодаря вашему видео. Еще раз хочу выразить вам искреннюю благодарность за ваше время и усилия, вложенные в создание этого урока. Ваше видео стало для меня ценным ресурсом и помощником в изучении Dagger Hilt. С наилучшими пожеланиями, Shavkatbek.
@AntonLeonka-o4l привет! Да, работаю до сих пор) В целом если изучить соответствующий роадмап по андроид разработке и написать несколько пет проектов с учётом современного стэка (корутины + flow, dagger2 (или hilt), компоуз и т.д.), ну и базу хорошо подтянуть, то в принципе шансы неплохие пройти как минимум на стажировку думаю, единственное вопрос сколько займет поиск - чисто фактор удачи
боже, лучший! супер понятно. Я слышал, существует правило: "Если ты можешь объяснить любую тему 6-летнему ребенку, чтобы он ее понял, значит, ты понимаешь эту тему". И Вы точно понимаете всё, ибо даже 6-летний поймет ))
Не касался темы уже больше года и двух, и вот выдало видео в рекомендациях. Ну что ж, посмотрел. По моему это лучшее видео по теме на русском языке! Не знаю конечно, может вышли уже другие видео, но то что я видел раньше про DI в ведройде от различных "экспертов", оставляло впечатление, что люди сами не понимают о чем рассказывают, и\или же просто, скорей всего, не умеют это делать. Отличное видео! Спасибо.
Сергей, можно Вас попросить сделать уроки по темам Broadcast Receiver, Content Provider и по сервисам? Думаю многим начинающим и джуниор разработчикам это было бы интересно.
Спасибо большое за разъясненя. Вы очень доступно объяснили. На практике, наверное, есть нюанся? Например, если классы содержат асинхронную логику. Хорошо было бы еще рассмотреть зависимости для случаев когда выполнение тех или иных функций может быть очень долго. Как в этом случае строить зависимости?
Сергей, расскажите пожалуйста, на практике про пагинацию, цены Вам не будет, точно войдёте в историю программирования на Котлин в русскоязычном сегменте!
@@NecoRuChannel я никак не мог настроить dagger hilt как на видео, постоянно были ошибки, решаешь одну ошибку - вываливается несколько других, и т.д. 2 вечера просидел промучался. потом решил установить ту же версию АS как у вас. на электрическом скате не получилось, все-таки была другая версия. все заработало на Android Studio Flamingo | 2022.2.1 - инфа для других, у кого будут те же проблемы
@ Тут дело не в версии андроид Студио а в совместимости версий. В данном случае если хочешь тоже самое на новой версии АС использовать Hilt то и версии нужно ставить совместимые а именно смотри внимательно какая версия самого Котлина у тебя. Если у тебя допустим Котлин 2.1.0 (самая свежая) то и Hilt нужно ставить самый свежий и уже использовать ksp вместо kapt если ставишь версии как у меня то и версию Котлина ставь как у меня
@@NecoRuChannel я использовал более старую версию (2021г). настройки gradle делал полностью как у вас и оно не работало. далее начал играться с версиями gradle, kotlin, hilt, javaVersion и всё равно ничего не получалось, пока не установил такую же AS... возможно можно было бы еще посидеть и поискать совместимые версии на момент выхода моей AS 2021г, но оказалось проще сразу установить ту же версию)
@ да, понимаю, но нужно учиться работать с новыми версиями иначе остановишься на этой версии и дальше все равно придется искать решение. Я это исправлю, запишу видео как настроить Hilt в новых версиях АС и постараюсь все подробно объяснить
При повторении урока появилось предупреждение компилятора: > Task :app:hiltJavaCompileDebug Note: D:\Source\Android\DaggerHiltLesson\app\build\generated\hilt\component_sources\debug u\com\bulat\daggerhiltlesson\Hilt_App.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. Что означает это предупреждение , и можно ли от него избавиться?
Но я все-таки не понял зачем мне это может пригодится, только для того чтобы не объявлять часть кода? Ну тогда даже не знаю стоит ли оно того, потому что dagger тяжёлая библиотека и у новичков она просто будет лежать боластом чем приносить реальную пользу.
Например если захочешь делать «Чистую архитектуру» то без этого ни как. Когда приложение будет расти начнется реальная польза а ты если ее не будешь использовать то когда проект разрастется придется много чего переделывать. Для простых проектов конечно она не обязательно, но знать это нужно, так как придет время когда поймешь что в проекте все так запутано из за зависимостей что будет много ошибок и тяжело будет понять что от чего зависит, с Hilt таких проблем не будет так как ты не будешь беспокоится о зависимостях и как из передать в то или иное Активити или фрагмент, это за тебя сделает Hilt.
Как начнешь делать свой проект где у тебя будет минимум 7-10 фрагментов и каждый фрагмент будет зависеть от 1-3 классов только тогда поймешь как это удобно
Вот во многих вакансиях на Android разработчика требуют знание Hilt. А недавно наткнулся на одну вакансию в немаленькой компании, где написано "мы не используем бесполезные библиотеки, как например, Dagger Hilt". Как так получается, что у одних это безусловное требование, а другие считают её бесполезной?
Ну это как и во всем, это у них нужно спросить почему они так говорят. У многих свой стиль написания. Есть и такие что говорят что Котлин им не нужен нужно знание Джава и это в 2023 году для Андроид разработки?? Вобщем у всех свой подход но Hilt это отличная библиотека и ее Google рекомендует для Android.
Донат ушел! Большое спасибо за видео! У меня вопрос, как быть если надо пересоздать синглтон объект? Ну допустим есть у нас сессия, которая одна везде используется, но иногда бывают моменты, когда её надо пересоздать. Плохой пример, но думаю понятно.
Большое спасибо!! Если используешь инстанцию из @Singletone и ее нужно пересоздать то значит сама логика приложения не верна, любую проблему можно решить разными способами. Если нужны разные инстанции то нужно использовать не @Singletone. Возможно сам класс который хочешь пересоздать в нем нужна функция для очистки переменных или еще чего но не пересоздавать всю инстанцию. Тут зависит от конкретного случая.
Классно, объяснение понятное, спасибо! Но я новичок и никак не могу понять, в чём смысл фреймворков для Dependency injection :)) Почему нельзя напрямую передавать везде экземпляры классов, необходимые для других классов? Будет всё наглядно, понятно и даже меньше кода. А фреймворки DI на первый взгляд выглядит как ненужное усложнение.
Фреймворки в частности помогают отдельно в модулях генерить инстанцы необходимые и сразу их инжектить в конструктор или поля класса. Это делается чтобы у тебя не было, что какое-нибудь активити например внутри себя создает кучу экземпляров просто чтобы передать куда-то и получается само зависит от этих экземпляров)
Когда программирование переходит в извращения типа написания кода в аннотациях/комментариях, то значит либо беда в выбранном языке, либо скорее всего кривая архитектура приложения. Сначала придумают паттерн Singletone, потому называют его антиаптерном, потом этот же Singletone переназывают через кучу какой-то ненужной магии, которую можно опустить и просто с умом пользоваться базовыми возможностями без геммороя, всего лишь просто наняв грамотного архитектора.
Если не используешь аннотации в андроид то на работу тебя точно ни где не возьмут. Знание аннотаций для того же Room или Hilt это не кривая архитектура, а твоя обязанность как разработчика андроид. Сейчас везде используется Hilt, Room, Retrofit а в них все на аннотациях
А вот комментарии это верно. Если нужны комментарии для кода значит плохая структура кода или названия классов или функций, так как хороший код должен читаться как книга без комментариев, это слова “Дяди Боба” ))
@@NecoRuChannel Да, я прекрасно понимаю что все эти аннотации на самом деле растут из того, что сообщество плохо продумало общую архитектуру. Сначала придумали синглтон, потом объявили его антипаттерном, но когда поняли что без него никак начали рождаться какие-то монстры, которые по сути синглтон, но чтобы общество не шибко разочаровалось в том, что антипаттерн не совсем антипаттер, поэтому обозвали его registry и т.д. и т.п. потом придумали SPA (single page app) потом когда прилетело от маркетинга начали придумывать всякие history state. Потом из этого рождаются всякие React монстры, которые в итоге перерождаются в чудища, которые пытаются сожрать и переродить в себе всё от js до html/css и вот эти вот все архитектурные грабли, которые придумывают и наворачивают на этот снежный ком из *овна, палок и пылесосных шлангов, очередные кривые костыли. Конечно в конечном итоге когда потрачено столько бабла на маркетинг всего этого добра, то конечно приходится как-то это всё отбивать. Нельзя просто так сказать сообществу: "Стоп парни, мы идём в какую-то *опу, давайте подумаем, возможно вернёмся назад и ещё раз подумаем, а что верной ли дорогой мы пошли", за всем этим стоит бабло и поэтому "фарш не провернуть назад", что печально.
@@NecoRuChannel По мне со стороны разработчика аннотации это тоже самое что комментарии, но с точки зрения маркетинга аннотации выглядят более презентабельно для скрытия проблем с архитектурой приложения. Но это моё субъективное мнение.
Возможно у кого будет ошибка "When I run app, have this error: 8 issues were found when checking AAR metadata:..." Нужно build.gradle поставить compileSdk 34
Спасибо. Хорошее, доступное объяснение, лайк ) единственно пока не понятно почему просто не использовать @Singletone для всего приложения ? не понятно когда и в каких случаях нужно применять @ActivityScoped, @FragmentScoped и тд ? почему не использовать @Singletone и всё ?
Если используешь @Singletone то все инстанции занимают память пока не закроешь приложение, вот у тебя допустим письменный стол, если на нем будешь хранить все что когда нибудь возможно используешь то он будет завален , верно? Думаю на письменный стол поможешь то что будешь использовать сейчас и то что используешь часто. Вот тут примерно так же. Зачем захламлять память если тебе нужна инстанция класса только в одном Активити или фрагменте?
Допустим у тебя сотня или тысяча классов, все это займет память, много памяти но ты это используешь только в некоторых фрагментах например. Естественно ты захочешь оптимизировать и освобождать память, вот тогда все это и применяешь. Ну а если класс используешь везде, то тогда конечно @Singletone
@@NecoRuChannel понял спасибо. А это действительно значительно экономит ресурс ? к примеру можно как то посчитать 100 классов Singletone и 100 FragmentScoped ? и понять как то разницу экономии
@@Polite_person_ Я и с xml делаю приложения всегда с одним активити и остальное только фрагменты, фрагменты весят меньше и работает приложение гораздо быстрее и необходимые init делаю в активити, а фрагменты подтягивают это.
Очень жду про Koin урок! Прям с нетерпением. Очень доступно объясняете. Спасибо Вам большое за Ваш труд.
Блин как все просто оказалось, я пытался найти объяснения из раздела для чайников и только больше запутывался в горе много мудрых объяснений, а ларчик просто открывался. Кто-то сказал - ты понимаешь тему если можешь ее объяснить так что бы поняла твоя бабушка. Воистину! Спасибо
Именно! Для быстрого старта самое то, как по мне
Начинаешь понимать, как пользоваться. А уже технические нюансы, как оно изнутри работает и так далее, уже на практике придет
Дорогой автор видео,
Хочу выразить вам огромную благодарность за замечательный урок, посвященный изучению Dagger Hilt. Ваше видео действительно помогло мне упростить мою жизнь как разработчику Android.
Благодаря вашей подробной информации, я теперь полностью понимаю, как настраивать и добавлять Hilt в свои проекты, а также эффективно использовать его в своей работе. Примеры, которые вы привели в Android Studio на языке программирования Kotlin, были очень понятными и информативными.
Ваш ясный и структурированный подход к объяснению концепций и использованию Hilt действительно помогли мне лучше понять эту тему. Теперь я чувствую себя увереннее в своих навыках разработки Android благодаря вашему видео.
Еще раз хочу выразить вам искреннюю благодарность за ваше время и усилия, вложенные в создание этого урока. Ваше видео стало для меня ценным ресурсом и помощником в изучении Dagger Hilt.
С наилучшими пожеланиями,
Shavkatbek.
Большое спасибо!
Сергей, огромнейшее спасибо, уже несколько лет смотрю твои ролики и постоянно радуюсь твоей подаче материала - всё сразу становится понятно!
Большое спасибо! Я очень рад!
@AntonLeonka-o4l привет! Да, работаю до сих пор) В целом если изучить соответствующий роадмап по андроид разработке и написать несколько пет проектов с учётом современного стэка (корутины + flow, dagger2 (или hilt), компоуз и т.д.), ну и базу хорошо подтянуть, то в принципе шансы неплохие пройти как минимум на стажировку думаю, единственное вопрос сколько займет поиск - чисто фактор удачи
@AntonLeonka-o4l по поводу курсов - мне очень сильно помогли курсы от Андрея Сумина, по сути они мне и обеспечили попадание на стажировку
Только нашел этот канал. Это кладезь знаний для Андроид разработчика! Уважение автору!
Большое спасибо!
Для начинающих разрабов андроид, это самый ТОП канал
Прямо шикарные темы пошли. Огромное спасибо Сергей!
как же вы просто и доступно объясняете, автор - красавчик просто!
Пушка, бомба. Обнял поднял сенсей
мнеб этот урок месяцев 8 назад) спасибо за труды для будущих поколений) начинающим твоя подача - идеальна.
В тебе спасибо за добрые слова!!
Вышло, Очень, Очень, КРУТО, долго ждал такой материал !!!
Наконец то🎉, спасибо!!!
Оо, то что надо! Отличный урок, спасибо, Сергей, все понятно)
Лайк сейчас, а смотреть уже вечером буду
тоже так делаю =)
Спасибо большое! Вроде понятно.. Теперь нужно попробовать на практике🙂
боже, лучший! супер понятно. Я слышал, существует правило: "Если ты можешь объяснить любую тему 6-летнему ребенку, чтобы он ее понял, значит, ты понимаешь эту тему". И Вы точно понимаете всё, ибо даже 6-летний поймет
))
Спасибо большое! наконец понял зачем нужен DI, и понял, что это не так страшно и сложно как думал до этого!)
Ура, наконец-то
Большое спасибо за урок!!! Все подробно и понятно!
Бесконечно благодарен!
Не касался темы уже больше года и двух, и вот выдало видео в рекомендациях. Ну что ж, посмотрел. По моему это лучшее видео по теме на русском языке! Не знаю конечно, может вышли уже другие видео, но то что я видел раньше про DI в ведройде от различных "экспертов", оставляло впечатление, что люди сами не понимают о чем рассказывают, и\или же просто, скорей всего, не умеют это делать. Отличное видео! Спасибо.
Большое спасибо!
Сергей, можно Вас попросить сделать уроки по темам Broadcast Receiver, Content Provider и по сервисам? Думаю многим начинающим и джуниор разработчикам это было бы интересно.
Да, хорошие темы!
@@NecoRuChannel Я тоже жду, у вас отличная подача.
Спасибо за очередной хороший разбор новой темы) Ждем еще новых тем)
Благодарю за урок
Сергей, спасибо за ликбез!
Вы как всегда прекрасно объясняете!
Огромное спасибо, Сергей. Очень полезно!
Очень интересно!
Спасибо, Сергей 👍
Отличное видео. А по применению аннотации @Binds расскажите в следующих видео? Очень ждем продолжения тем по DI. Все доступно и понятно.
Спасибо огромное за Вашу подачу материала. Безумно полезное видео.
смотрим все всю рекламу на канале, чтобы поддержать канал!!!
Спасибо за урок! Замечательное объяснение темы! Материал разложен по полочкам, теперь мне все стало понятно)
Спасибо дядька все суппер. всегда доходчово
Тоже интересно посмотреть про Koin
Супер.
огонь, огнище. Спасибо за ролик
Спасибо за урок! Рассказано все доступно.
Еее годнота подъехала
Спасибо большое за ваши уроки!!!!!
Расскажи про work manager
топ видео !!!
Класс!
Шик объяснение!
Спасибо, полезный урок
Спасибо, хороший урок. Понятно и интересно.😊
Большое спасибо!
Спасибо 🙏💕
Спасибо большое за разъясненя. Вы очень доступно объяснили. На практике, наверное, есть нюанся? Например, если классы содержат асинхронную логику. Хорошо было бы еще рассмотреть зависимости для случаев когда выполнение тех или иных функций может быть очень долго. Как в этом случае строить зависимости?
Nakonecto pro HILT!!!
Со второго раза понял все😁
Сергей, расскажите пожалуйста, на практике про пагинацию, цены Вам не будет, точно войдёте в историю программирования на Котлин в русскоязычном сегменте!
Супер
Запиши видос о том как проектировать приложение по модели MVVM и подробнее об viewmodel думаю видос будем бомбовый
большое спасибо
Благодарю
На 11:50 вы сделали фикс. Есть ли получше способ с этой ошибкой справиться?
здравствуйте!
есть ли возможность узнать, какая версия android studio используется в видео?
@@ГеоргийДмитриевич-ш3ы Если память мне не изменяет то это был «Электрический скат» )) но версия АС тут без разницы
@@NecoRuChannel я никак не мог настроить dagger hilt как на видео, постоянно были ошибки, решаешь одну ошибку - вываливается несколько других, и т.д. 2 вечера просидел промучался. потом решил установить ту же версию АS как у вас. на электрическом скате не получилось, все-таки была другая версия. все заработало на Android Studio Flamingo | 2022.2.1 - инфа для других, у кого будут те же проблемы
@ Тут дело не в версии андроид Студио а в совместимости версий. В данном случае если хочешь тоже самое на новой версии АС использовать Hilt то и версии нужно ставить совместимые а именно смотри внимательно какая версия самого Котлина у тебя. Если у тебя допустим Котлин 2.1.0 (самая свежая) то и Hilt нужно ставить самый свежий и уже использовать ksp вместо kapt если ставишь версии как у меня то и версию Котлина ставь как у меня
@@NecoRuChannel я использовал более старую версию (2021г). настройки gradle делал полностью как у вас и оно не работало. далее начал играться с версиями gradle, kotlin, hilt, javaVersion и всё равно ничего не получалось, пока не установил такую же AS... возможно можно было бы еще посидеть и поискать совместимые версии на момент выхода моей AS 2021г, но оказалось проще сразу установить ту же версию)
@ да, понимаю, но нужно учиться работать с новыми версиями иначе остановишься на этой версии и дальше все равно придется искать решение. Я это исправлю, запишу видео как настроить Hilt в новых версиях АС и постараюсь все подробно объяснить
При повторении урока появилось предупреждение компилятора:
> Task :app:hiltJavaCompileDebug
Note: D:\Source\Android\DaggerHiltLesson\app\build\generated\hilt\component_sources\debug
u\com\bulat\daggerhiltlesson\Hilt_App.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Что означает это предупреждение , и можно ли от него избавиться?
можно ли всю логику писать сразу в функциях модуля? чтоб не переписывать код, и держать все в одном месте
💥💥💥💥
Но я все-таки не понял зачем мне это может пригодится, только для того чтобы не объявлять часть кода? Ну тогда даже не знаю стоит ли оно того, потому что dagger тяжёлая библиотека и у новичков она просто будет лежать боластом чем приносить реальную пользу.
Например если захочешь делать «Чистую архитектуру» то без этого ни как. Когда приложение будет расти начнется реальная польза а ты если ее не будешь использовать то когда проект разрастется придется много чего переделывать. Для простых проектов конечно она не обязательно, но знать это нужно, так как придет время когда поймешь что в проекте все так запутано из за зависимостей что будет много ошибок и тяжело будет понять что от чего зависит, с Hilt таких проблем не будет так как ты не будешь беспокоится о зависимостях и как из передать в то или иное Активити или фрагмент, это за тебя сделает Hilt.
Ну и при устройстве на работу, везде будут просить знание DI
Как начнешь делать свой проект где у тебя будет минимум 7-10 фрагментов и каждый фрагмент будет зависеть от 1-3 классов только тогда поймешь как это удобно
Круто, но лучше всё сразу делать для Compose.
Вот во многих вакансиях на Android разработчика требуют знание Hilt. А недавно наткнулся на одну вакансию в немаленькой компании, где написано "мы не используем бесполезные библиотеки, как например, Dagger Hilt". Как так получается, что у одних это безусловное требование, а другие считают её бесполезной?
Ну это как и во всем, это у них нужно спросить почему они так говорят. У многих свой стиль написания. Есть и такие что говорят что Котлин им не нужен нужно знание Джава и это в 2023 году для Андроид разработки?? Вобщем у всех свой подход но Hilt это отличная библиотека и ее Google рекомендует для Android.
Донат ушел! Большое спасибо за видео! У меня вопрос, как быть если надо пересоздать синглтон объект? Ну допустим есть у нас сессия, которая одна везде используется, но иногда бывают моменты, когда её надо пересоздать. Плохой пример, но думаю понятно.
Большое спасибо!! Если используешь инстанцию из @Singletone и ее нужно пересоздать то значит сама логика приложения не верна, любую проблему можно решить разными способами. Если нужны разные инстанции то нужно использовать не @Singletone. Возможно сам класс который хочешь пересоздать в нем нужна функция для очистки переменных или еще чего но не пересоздавать всю инстанцию. Тут зависит от конкретного случая.
@@NecoRuChannel понял, спасибо!
Есть ссылка на гитхаб?
Классно, объяснение понятное, спасибо!
Но я новичок и никак не могу понять, в чём смысл фреймворков для Dependency injection :)) Почему нельзя напрямую передавать везде экземпляры классов, необходимые для других классов? Будет всё наглядно, понятно и даже меньше кода. А фреймворки DI на первый взгляд выглядит как ненужное усложнение.
Фреймворки в частности помогают отдельно в модулях генерить инстанцы необходимые и сразу их инжектить в конструктор или поля класса. Это делается чтобы у тебя не было, что какое-нибудь активити например внутри себя создает кучу экземпляров просто чтобы передать куда-то и получается само зависит от этих экземпляров)
Нафига хилт, если есть Даггер?
Dagger он сложный и тяжелый и в небольших проектах только хуже сделаешь. Hilt это Упрощенная версия написанная по верх Dagger
@@NecoRuChannel за то универсальное и не так уж сложножнее
Когда программирование переходит в извращения типа написания кода в аннотациях/комментариях, то значит либо беда в выбранном языке, либо скорее всего кривая архитектура приложения. Сначала придумают паттерн Singletone, потому называют его антиаптерном, потом этот же Singletone переназывают через кучу какой-то ненужной магии, которую можно опустить и просто с умом пользоваться базовыми возможностями без геммороя, всего лишь просто наняв грамотного архитектора.
Если не используешь аннотации в андроид то на работу тебя точно ни где не возьмут. Знание аннотаций для того же Room или Hilt это не кривая архитектура, а твоя обязанность как разработчика андроид. Сейчас везде используется Hilt, Room, Retrofit а в них все на аннотациях
А вот комментарии это верно. Если нужны комментарии для кода значит плохая структура кода или названия классов или функций, так как хороший код должен читаться как книга без комментариев, это слова “Дяди Боба” ))
@@NecoRuChannel Да, я прекрасно понимаю что все эти аннотации на самом деле растут из того, что сообщество плохо продумало общую архитектуру. Сначала придумали синглтон, потом объявили его антипаттерном, но когда поняли что без него никак начали рождаться какие-то монстры, которые по сути синглтон, но чтобы общество не шибко разочаровалось в том, что антипаттерн не совсем антипаттер, поэтому обозвали его registry и т.д. и т.п. потом придумали SPA (single page app) потом когда прилетело от маркетинга начали придумывать всякие history state. Потом из этого рождаются всякие React монстры, которые в итоге перерождаются в чудища, которые пытаются сожрать и переродить в себе всё от js до html/css и вот эти вот все архитектурные грабли, которые придумывают и наворачивают на этот снежный ком из *овна, палок и пылесосных шлангов, очередные кривые костыли. Конечно в конечном итоге когда потрачено столько бабла на маркетинг всего этого добра, то конечно приходится как-то это всё отбивать. Нельзя просто так сказать сообществу: "Стоп парни, мы идём в какую-то *опу, давайте подумаем, возможно вернёмся назад и ещё раз подумаем, а что верной ли дорогой мы пошли", за всем этим стоит бабло и поэтому "фарш не провернуть назад", что печально.
@@NecoRuChannel По мне со стороны разработчика аннотации это тоже самое что комментарии, но с точки зрения маркетинга аннотации выглядят более презентабельно для скрытия проблем с архитектурой приложения. Но это моё субъективное мнение.
Возможно у кого будет ошибка
"When I run app, have this error:
8 issues were found when checking AAR metadata:..."
Нужно build.gradle поставить compileSdk 34
Спасибо. Хорошее, доступное объяснение, лайк ) единственно пока не понятно почему просто не использовать @Singletone для всего приложения ? не понятно когда и в каких случаях нужно применять @ActivityScoped, @FragmentScoped и тд ? почему не использовать @Singletone и всё ?
Если используешь @Singletone то все инстанции занимают память пока не закроешь приложение, вот у тебя допустим письменный стол, если на нем будешь хранить все что когда нибудь возможно используешь то он будет завален , верно? Думаю на письменный стол поможешь то что будешь использовать сейчас и то что используешь часто. Вот тут примерно так же. Зачем захламлять память если тебе нужна инстанция класса только в одном Активити или фрагменте?
Допустим у тебя сотня или тысяча классов, все это займет память, много памяти но ты это используешь только в некоторых фрагментах например. Естественно ты захочешь оптимизировать и освобождать память, вот тогда все это и применяешь. Ну а если класс используешь везде, то тогда конечно @Singletone
@@NecoRuChannel понял спасибо. А это действительно значительно экономит ресурс ? к примеру можно как то посчитать 100 классов Singletone и 100 FragmentScoped ? и понять как то разницу экономии
@@NecoRuChannel А в случае с jetapck compose как? Там же всего одно активити, получается мы всегда будем захламлять стол?
@@Polite_person_ Я и с xml делаю приложения всегда с одним активити и остальное только фрагменты, фрагменты весят меньше и работает приложение гораздо быстрее и необходимые init делаю в активити, а фрагменты подтягивают это.
спасибо!