MVP по SOLID c DI и Unit test на Swift 5 part 1
Вставка
- Опубліковано 22 сер 2024
- Для новеньких куда еще присоединиться:
Куда присоединиться:
Всем привет, теперь вы сможете меня поддержать и получить эксклюзивные и закрытые видео смотреть тут - boosty.to/thes...
1.Наше сообщество в вк(более 6 + тыс) = theswif...
2.В телеграмме мы помогаем новичкам и всем желающим (нас больше 3 000 + тыс) - t.me/joinchat/...
Куда присоединиться:
1.Наше сообщество в вк(добаляемся к более 3,5 тыс) = vk.com/theswiftdevelopers
2.В телеграмме мы помогаем новичкам и всем желающим (нас больше 1,500 тыс) - t.me/joinchat/BAn0BkLMGrfpDYy2cnysNg
p.s
Домашние задание: смотрите в группах!
Если все понравилось ты знаешь что делать;)
Ставь лайк и пиши комент! :)
мдаа, тесты - это видимо не ваше:
1)testModuleIsNotNil - тест по сути вместо приложения проверяет сам себя
2)testPersonModel - вы называете видео SOLID, но при этом в тестах для presenter затесались тесты Person
Женя зачем делать видео короче ?
Коротких и поверхностных видео куча на ютубе.
Лучше дольше и доходчивее!
Очень полезны твои уроки, очень тебе благодарен !
Полностью согласен, особенно нравится слушать "междустрочные советы", например :" Если вы наследуетесь от NSOBject, значит с вами не все в порядке ".
Редко отписываю кому-либо комментарии, но урок просто бомба!
Очень много материалов перечитал и пересмотрел, но чтобы стало понятно после просмотра одного видео - говорит лишь о том, что снимает и объясняет настоящий профессионал!
С удовольствием сажусь за просмотр второй части!)
Спасибо за труд, ты крут!
В коментах пишите нужно еще MVP c сервисами и роутингом или следующую архитектуру?
А можно Clean Swift + Combine + Services?
Сначала хотелось бы увидеть MVP с сервисами и роутингом. А потом MVVM + RxSwift + Coordinator
38:38 jdyom s neterpeniem)))
Здравствуйте. Классно доносите материал. Спасибо Вам большое за труд и потраченное время! Хотелось бы увидеть MVP с сервисами и роутингом..
Evgenii Butkevich , смотрите сл урок там все есть
Спасибо. Урок супер, обязательно нужна вторая часть с роутингом и сервисами. Два экрана + сохранение в БД или Кеш, будет мощно. Жду
Рекомендую записывать ролики с более крупным шрифтом, так их смогут чаще смотреть в пути с телефона
Не соглашусь. Уверен, большинство смотрит не с телефона
Поддерживаю. Я смотрю в пути домой и на работу с телефона. И видно не очень.
Сам материал отличный
И черными буквами на белом фоне. Пжлст.
Спасибо! Эти уроки по архитектуре реально полезные, в них все описано именно так как происходит в "промышленной" разработке. Благодаря этим видео у меня получилось построить правильную архитектуру тестового задания и устроиться на первую работу!!! Пожалуйста, сделайте аналогичную серию по VIPER.
Все супер) только в presenter должна быть слабая ссылка на view! То есть weak var view: MainViewProtocol!
СПАСИБО огромное! лучший урок. За 50 минут объяснить SOLID, DI и MVP. Лайк, подписка)
keep doing what you doing. Для тех хто смотрит в 2024 первий ра тест упал через фатал ерор, в функции setUP через опшинал
Действительно нужна следующая часть с роутингом и сервисами. Несколько экранов с navigationController, сервисы для сети и БД -- было бы круто!
Спасибо! Очень понятно объяснено. Нигде не мог найти вразумительную информацию по мвп, а у вас нашел
люблю длинные ролики!спасибо
егор егоров , столько инфы вместить нужно)
@@theswiftdevelopers1301 зато подробно.люблю подробно.
Интересны видеоролики с объяснением и реализацией MVVM и VIPER
Если хочешь посмотреть реализацию Viper, смотри доклады от сотрудников rambler . Это их любимая архитектура,они дорабатывали ее сами, и юзают ее в каждом своём приложении. Они даже книгу по ней написали
Урок бомба, ни когда не сталкивался с тестами и думал, что это, что то тяжелое и сложное
Спасибо. Формат оставляй как есть. Все очень понятно. Все комментарии не лишние. В конце концов, для бывалых "повторенье - мать ученья"! А для новичков очень важны нюансы. Еще раз спасибо.
Спасибо за урок! Как всегда понятно и доступно. Можно второй ролик (в продолжение к этому) сделать, расширив функционал. Хотелось бы и про другие архитектуры в Вашем исполнении. Ещё бы про CoreData не помешало и про все буковки SOLID вместе по-больше и по-чаще. А то, читаешь книжку, про каждую в отдельности вроде всё понятно, а вот как применить, да все вместе - проблема. Может быть вообще про подход к проектированию расскажете. Понятно что все команды по-своему договариваются, но как всегда, есть нюансы, про которые новички "ни сном, ни духом", также есть и типовые "грабли" (принципиальные ошибки), про которые хорошо бы знать заранее и обходить их стороной для красоты лба. У Вас есть и опыт, и знания. Делитесь Вы всем этим щедро и мастерски. Можно сказать у Вас талант, рассказывать о сложном, просто и понятно. Я смотрел все Ваши ролики (многие и пересматривал не по разу), "тяжело шла" только многопоточность, может потому что смотрел скопом или вообще до этой темы по-хорошему "дозреть" надо. На самом деле все видео по-делу и с откровенным желанием максимально понятно и подробно донести материал. Ждём новых роликов. Огромное Вам спасибо!
Vladimir Mikishchenko , спасибо за столь подробный отзыв, это важно для меня
вышел второй урок по мвп как ты и просил)
The Swift Developers спасибо! Буду смотреть обязательно.
Отличное видео - интересно, познавательно! Продолжай в том же духе. Женя, ты один из лучших!
про юнит тесты было очень интересно, я думаю МВП с сервисами, роуминг или работа с кордатой(мб тоже мок чтобы потом протестировать). Спасибо большое, уроки просто вышка!
спасибо
О, где-то я тебя видел. Это случайно не ты стоматолог с Харькова?
Очень хорошее объяснение! Спасибо за Ваш труд!
Это топ! Сложное становится простым всего за 55 минут.
Благодарю за уроки! Вы супер!
Наконец досмотрел
Огонь, спасибо
Спасибо за труд. Как всегда подробно, четко, лаконично!
Как всегда на высоте. Спасибо вам за все уроки. Хотелось бы видеть схожее по формату видео по другим архитектурам
Очень очень нравится ! ) Крутое видео! Благодарю! )
Отличная работа
Красиво. слова сложно подобрать однозначно еще раз пересмотрю. Рекомендую
Спасибо, очень хороший формат разбора МВП!
Шикарное видео!! Спасибо огромное за Вашу работу.
Можете как-нибудь сделать видео по тестам для новичков )))
Спасибо большое! Все очень понятно и доходчиво!
Спасибо!
Спасибо за проделанную работу!
Огонь!! Спасибо от души брат!
урок супер, огромное спасибо за Ваш труд
Кстати, сейчас работает через сцену только, а через фрейм, как на видео, не работает.
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(windowScene: windowScene)
Все класс🔥, спасибо за урок!!!
Да, нужно еще материала по MVP. Я учу swift около 6 месяцев, написал множество простеньких приложений для себя (на MVC). Бывало так, что код контроллера выходил под 500+ строк. Конечно, это не устраивает. Хочется развиваться и идти дальше, писать более сложные приложения, причем писать их грамотно. Четко переиспользовать код, итд. Вообще, мало материала по MVP, касающегося iOS разработки. Есть пару хороших статей на Хабре. Сейчас собираюсь писать более сложное приложение. Встал вопрос об архитектуре. Не хочется брать MVVM, так как не особо знаком с реактивщиной. Есть тот же Viper и много материалов в инете, куча докладов от сотрудников Рамблера, которые активно развивают свой Viper. Я считаю, что этот вариант мне не катит, получиться слишком много маленьких классов, сплошной гемор. Вообще у меня неоднозначное мнение о Viper. Получается, что MVP - золотая серединка. Вообщем да, пили новый видос по MVP.
спасибо за подробный отзыв, это полезно!)
а кто тебе мешает использовать гибридную систему. Где сложно - разложи на Viper, где проще разложи на MVC или MVC разложи на еще более мелкие MVC и так это можно делать до бесконечности
Спасибо
Спасибо за урок!
Хотел сказать, что тест на 48:06 не упал - он не запустился из-за nil в презентере setUp
очень нравится и понятно) хотя и поздновато уже писать
Привет, глянул в комменты, вроде никто не писал. У меня парочка вопросов:
1. Я чего-то не понимаю или тут утечка памяти? Сильная ссылка с View на Presenter, как и в обратную сторону. Где должна быть слабая, со View на Presenter ведь?
2. Можно ли свойство presenter для View указать в самом протоколе или это некрасиво?
3. Если 2-й пункт положительный, то почему бы в ините самого презентера во View не передать данный презентер же, что-бы в билдере лишнее не собирать. Или не очень хорошо так делать?
Пожелания:
Прикрепляй где-то исходники, на том-же гугл драйве, мб полезно будет быстро скачать что-то и посмотреть. Типа один раз я посмотрел видео на 1 час, а вдруг забуду и надо будет подсмотреть быстро.
По моему утечку поправит в следующем виде, но да, она там есть
Я безумно тебе благодарен за этот видео! Спасибо О Г Р М Н О Е.
Большое спасибо!
Viper-ом стрелять = лайк и подписка)
Просто лучший
Классно, спасибо!
Spasibo za takie video !
очень нравится!
спасибо огромное)
Спасибо за уроки
как вам сам урок?
@@theswiftdevelopers1301 Отлично, до этого писал только на MVC, в следующем проекте попробую MVP
Круто, подписка!
Лайк не глядя!)
WITcom смотреть тоже надо)
Все видео ждал исправления preson -> person)
торопился ну сори)
@@theswiftdevelopers1301 бывает)
Видео отличное, очень детально и понятно все рассказано
Хорошо когда есть такие видео, где людей обучают архитектуре и чистому коду, а не бессмысленному видео на 2 минуты о том как добавить кнопку на контроллер
Спасибо за видео, ждем продолжение
Спасибо 🤖
спасибо!
Круто)
Было бы круто и по остальным посмотреть (MVVM, VIPER)
+
Класс
Спасибо за урок. А для чего обращаться к проверти через село , если компилятор этого не требует?
ждем теперь CleanArchitecture
Где-то можно увидеть репозиторий с этим проектом?
для начала хочу сказать ОГГРРОООМНОЕ спасибо за видео!!!!...всё делала так же, но у меня черный экран с навбаром ((
и ошибка такая же(как в видео на 37-ой минуте) ...типа нет точки входа
@@user-xk6eg7dh2x привет) если хочешь, напиши в телегу, покажу в чем ошибка @alexcontrol
Такая же проблема, расскажите как решили, пожалуйста
@@bejan6622 удалось разобраться? не могу понять что не так(
Подскажите как передать данные из сети в ModulBuilder. В структура Person(firstName: "", lastName: ""). Плизз!
Подскажите, пожалуйста, почему после 37 минуты возникает ошибка - [WindowScene] Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set? + черный экран
такая же проблема, разобрался?
Отлично все. Git интересует если можно.
Ссылки на проект нет( телеграмм ссылка не рабочая, грустно...
retain cycle
Олег Е , да , торопился забыл сделать слабой вью
не пойму зачем Builder protocol
потому что завязываться надо на абстракцию всегда: чтобы потом другие билдеры для других вьюКонтроллеров делать
Очень быстро набираете, просите повторять и шуршите так быстро что даже с навыками трудно успевать, приходится паузить
Такое ощущение что нужно лет 5-7 чтоб научиться это понимать
Ihor Yakushev , контент для начинающих
Для новичков это нужно было бы уже на SwiftUI показывать так как к тому времени пока изучат уже перейдут на UI
ENUM на продакшине еще через пару лет только
@@theswiftdevelopers1301 Не знаю про пару лет но знаю что уже достаточно приложений выпущено на SwiftUI и многие просят именно на нем ! Что касаемо ПАРА ЛЕТ так что бы освоить тот Stack что пишу в обьявлениях о найме Джунов =) как ра такое время и уйдет - это если с 0 и без какого либо опыта в программировании !
@@theswiftdevelopers1301 Если можно спросить, скажите какой опыт у Вас и за какое время освоили Swift до уровня Джун . Просто интересна статистика , понятно что многое индивидуально но все же .
ENUM , с нуля до джуна не более 3-4 мес надо
ENUM , я давно уже в этой сфере и на этих курсах за 3-4 уже устраиваются
Спасибо!
Большое спасибо!
Спасибо