MVP по SOLID c DI и Unit test на Swift 5 part 1

  Рет қаралды 31,974

The Swift Developers

The Swift Developers

Күн бұрын

Пікірлер
@theswiftdevelopers1301
@theswiftdevelopers1301 4 жыл бұрын
Куда присоединиться: 1.Наше сообщество в вк(добаляемся к более 3,5 тыс) = vk.com/theswiftdevelopers 2.В телеграмме мы помогаем новичкам и всем желающим (нас больше 1,500 тыс) - t.me/joinchat/BAn0BkLMGrfpDYy2cnysNg p.s Домашние задание: смотрите в группах! Если все понравилось ты знаешь что делать;) Ставь лайк и пиши комент! :)
@bardakan
@bardakan Жыл бұрын
мдаа, тесты - это видимо не ваше: 1)testModuleIsNotNil - тест по сути вместо приложения проверяет сам себя 2)testPersonModel - вы называете видео SOLID, но при этом в тестах для presenter затесались тесты Person
@kirilllosickov7275
@kirilllosickov7275 3 жыл бұрын
Редко отписываю кому-либо комментарии, но урок просто бомба! Очень много материалов перечитал и пересмотрел, но чтобы стало понятно после просмотра одного видео - говорит лишь о том, что снимает и объясняет настоящий профессионал! С удовольствием сажусь за просмотр второй части!) Спасибо за труд, ты крут!
@theswiftdevelopers1301
@theswiftdevelopers1301 5 жыл бұрын
В коментах пишите нужно еще MVP c сервисами и роутингом или следующую архитектуру?
@Lammax2012
@Lammax2012 5 жыл бұрын
А можно Clean Swift + Combine + Services?
@СергейШемет-л7г
@СергейШемет-л7г 5 жыл бұрын
Сначала хотелось бы увидеть MVP с сервисами и роутингом. А потом MVVM + RxSwift + Coordinator
@grigorhovhannisyan2417
@grigorhovhannisyan2417 5 жыл бұрын
38:38 jdyom s neterpeniem)))
@eugene89225
@eugene89225 5 жыл бұрын
Здравствуйте. Классно доносите материал. Спасибо Вам большое за труд и потраченное время! Хотелось бы увидеть MVP с сервисами и роутингом..
@theswiftdevelopers1301
@theswiftdevelopers1301 5 жыл бұрын
Evgenii Butkevich , смотрите сл урок там все есть
@IBSivay
@IBSivay 5 жыл бұрын
Спасибо. Урок супер, обязательно нужна вторая часть с роутингом и сервисами. Два экрана + сохранение в БД или Кеш, будет мощно. Жду
@surfspot8043
@surfspot8043 4 жыл бұрын
Женя зачем делать видео короче ? Коротких и поверхностных видео куча на ютубе. Лучше дольше и доходчивее! Очень полезны твои уроки, очень тебе благодарен !
@АртурКулик-ш3с
@АртурКулик-ш3с 3 жыл бұрын
Полностью согласен, особенно нравится слушать "междустрочные советы", например :" Если вы наследуетесь от NSOBject, значит с вами не все в порядке ".
@Equallive-qv5ys
@Equallive-qv5ys 2 жыл бұрын
Спасибо! Эти уроки по архитектуре реально полезные, в них все описано именно так как происходит в "промышленной" разработке. Благодаря этим видео у меня получилось построить правильную архитектуру тестового задания и устроиться на первую работу!!! Пожалуйста, сделайте аналогичную серию по VIPER.
@Dragonboh1
@Dragonboh1 5 ай бұрын
keep doing what you doing. Для тех хто смотрит в 2024 первий ра тест упал через фатал ерор, в функции setUP через опшинал
@akhmedovbakhtovar7142
@akhmedovbakhtovar7142 Жыл бұрын
Наконец досмотрел
@slavaslutsker7223
@slavaslutsker7223 5 жыл бұрын
Рекомендую записывать ролики с более крупным шрифтом, так их смогут чаще смотреть в пути с телефона
@eugene89225
@eugene89225 5 жыл бұрын
Не соглашусь. Уверен, большинство смотрит не с телефона
@АлинаЩиголева-и6ц
@АлинаЩиголева-и6ц 4 жыл бұрын
Поддерживаю. Я смотрю в пути домой и на работу с телефона. И видно не очень. Сам материал отличный
@VadimBashurov-uj6sh
@VadimBashurov-uj6sh 3 жыл бұрын
И черными буквами на белом фоне. Пжлст.
@Lolita_ch
@Lolita_ch 2 жыл бұрын
СПАСИБО огромное! лучший урок. За 50 минут объяснить SOLID, DI и MVP. Лайк, подписка)
@4522248
@4522248 Жыл бұрын
Урок бомба, ни когда не сталкивался с тестами и думал, что это, что то тяжелое и сложное
@dmitrys4496
@dmitrys4496 3 жыл бұрын
Все супер) только в presenter должна быть слабая ссылка на view! То есть weak var view: MainViewProtocol!
@StubbsJefferson
@StubbsJefferson 2 жыл бұрын
Спасибо! Очень понятно объяснено. Нигде не мог найти вразумительную информацию по мвп, а у вас нашел
@ПётрКозлов-э3э
@ПётрКозлов-э3э 5 жыл бұрын
Спасибо. Формат оставляй как есть. Все очень понятно. Все комментарии не лишние. В конце концов, для бывалых "повторенье - мать ученья"! А для новичков очень важны нюансы. Еще раз спасибо.
@ivanlyaskovets6804
@ivanlyaskovets6804 2 жыл бұрын
Очень хорошее объяснение! Спасибо за Ваш труд!
@Nafis553
@Nafis553 4 жыл бұрын
Отличное видео - интересно, познавательно! Продолжай в том же духе. Женя, ты один из лучших!
@IhorFedii-n1i
@IhorFedii-n1i 5 жыл бұрын
люблю длинные ролики!спасибо
@theswiftdevelopers1301
@theswiftdevelopers1301 5 жыл бұрын
егор егоров , столько инфы вместить нужно)
@IhorFedii-n1i
@IhorFedii-n1i 5 жыл бұрын
@@theswiftdevelopers1301 зато подробно.люблю подробно.
@MikeZvukovski
@MikeZvukovski 10 ай бұрын
Огонь, спасибо
@raulstudylab9041
@raulstudylab9041 5 жыл бұрын
Действительно нужна следующая часть с роутингом и сервисами. Несколько экранов с navigationController, сервисы для сети и БД -- было бы круто!
@1993skill
@1993skill 5 жыл бұрын
Интересны видеоролики с объяснением и реализацией MVVM и VIPER
@Cassin1797
@Cassin1797 5 жыл бұрын
Если хочешь посмотреть реализацию Viper, смотри доклады от сотрудников rambler . Это их любимая архитектура,они дорабатывали ее сами, и юзают ее в каждом своём приложении. Они даже книгу по ней написали
@loikovalerij2143
@loikovalerij2143 2 жыл бұрын
Шикарное видео!! Спасибо огромное за Вашу работу. Можете как-нибудь сделать видео по тестам для новичков )))
@anthonyhoang5882
@anthonyhoang5882 5 жыл бұрын
про юнит тесты было очень интересно, я думаю МВП с сервисами, роуминг или работа с кордатой(мб тоже мок чтобы потом протестировать). Спасибо большое, уроки просто вышка!
@theswiftdevelopers1301
@theswiftdevelopers1301 5 жыл бұрын
спасибо
@ivanmaeplan
@ivanmaeplan 3 жыл бұрын
О, где-то я тебя видел. Это случайно не ты стоматолог с Харькова?
@eugenekapustynskyi6979
@eugenekapustynskyi6979 4 жыл бұрын
Спасибо за урок! Хотел сказать, что тест на 48:06 не упал - он не запустился из-за nil в презентере setUp
@torburgmax
@torburgmax 4 жыл бұрын
Кстати, сейчас работает через сцену только, а через фрейм, как на видео, не работает. guard let windowScene = (scene as? UIWindowScene) else { return } window = UIWindow(windowScene: windowScene)
@ridbrain
@ridbrain 4 жыл бұрын
Это топ! Сложное становится простым всего за 55 минут.
@Keevich
@Keevich 4 жыл бұрын
Благодарю за уроки! Вы супер!
@МаксимАлексеев-з9р
@МаксимАлексеев-з9р 5 жыл бұрын
Как всегда на высоте. Спасибо вам за все уроки. Хотелось бы видеть схожее по формату видео по другим архитектурам
@СергейБабий-у7с
@СергейБабий-у7с 4 жыл бұрын
Спасибо за труд. Как всегда подробно, четко, лаконично!
@caspernew6697
@caspernew6697 4 жыл бұрын
Очень очень нравится ! ) Крутое видео! Благодарю! )
@МаксимВоеводин-р4я
@МаксимВоеводин-р4я 3 жыл бұрын
Красиво. слова сложно подобрать однозначно еще раз пересмотрю. Рекомендую
@vovamik
@vovamik 5 жыл бұрын
Спасибо за урок! Как всегда понятно и доступно. Можно второй ролик (в продолжение к этому) сделать, расширив функционал. Хотелось бы и про другие архитектуры в Вашем исполнении. Ещё бы про CoreData не помешало и про все буковки SOLID вместе по-больше и по-чаще. А то, читаешь книжку, про каждую в отдельности вроде всё понятно, а вот как применить, да все вместе - проблема. Может быть вообще про подход к проектированию расскажете. Понятно что все команды по-своему договариваются, но как всегда, есть нюансы, про которые новички "ни сном, ни духом", также есть и типовые "грабли" (принципиальные ошибки), про которые хорошо бы знать заранее и обходить их стороной для красоты лба. У Вас есть и опыт, и знания. Делитесь Вы всем этим щедро и мастерски. Можно сказать у Вас талант, рассказывать о сложном, просто и понятно. Я смотрел все Ваши ролики (многие и пересматривал не по разу), "тяжело шла" только многопоточность, может потому что смотрел скопом или вообще до этой темы по-хорошему "дозреть" надо. На самом деле все видео по-делу и с откровенным желанием максимально понятно и подробно донести материал. Ждём новых роликов. Огромное Вам спасибо!
@theswiftdevelopers1301
@theswiftdevelopers1301 5 жыл бұрын
Vladimir Mikishchenko , спасибо за столь подробный отзыв, это важно для меня
@theswiftdevelopers1301
@theswiftdevelopers1301 5 жыл бұрын
вышел второй урок по мвп как ты и просил)
@vovamik
@vovamik 5 жыл бұрын
The Swift Developers спасибо! Буду смотреть обязательно.
@demetrius1103
@demetrius1103 Жыл бұрын
Отличная работа
@literallyIvan
@literallyIvan 4 жыл бұрын
Спасибо, очень хороший формат разбора МВП!
@mak_whisk
@mak_whisk 3 жыл бұрын
Спасибо большое! Все очень понятно и доходчиво!
@zoomle_iOS
@zoomle_iOS 2 жыл бұрын
Спасибо!
@eaduka2009
@eaduka2009 3 жыл бұрын
Огонь!! Спасибо от души брат!
@aleksandrzinovev429
@aleksandrzinovev429 2 жыл бұрын
очень нравится и понятно) хотя и поздновато уже писать
@tekilla79
@tekilla79 4 жыл бұрын
Спасибо за проделанную работу!
@user-from-kz479
@user-from-kz479 2 жыл бұрын
Все класс🔥, спасибо за урок!!!
@ihorchernysh6180
@ihorchernysh6180 5 жыл бұрын
урок супер, огромное спасибо за Ваш труд
@problem.solver
@problem.solver 2 жыл бұрын
Я безумно тебе благодарен за этот видео! Спасибо О Г Р М Н О Е.
@gtoo9499
@gtoo9499 3 жыл бұрын
Просто лучший
@vanyahozeyev
@vanyahozeyev 3 жыл бұрын
Классно, спасибо!
@magomedn2057
@magomedn2057 3 жыл бұрын
Большое спасибо!
@todzifushigur0
@todzifushigur0 3 жыл бұрын
Spasibo za takie video !
@TheScrinn
@TheScrinn 2 жыл бұрын
Класс
@IhorFedii-n1i
@IhorFedii-n1i 4 жыл бұрын
очень нравится!
@sergeylobanov4245
@sergeylobanov4245 3 жыл бұрын
спасибо огромное)
@ua244
@ua244 4 жыл бұрын
Круто, подписка!
@symazi
@symazi 4 жыл бұрын
Привет, глянул в комменты, вроде никто не писал. У меня парочка вопросов: 1. Я чего-то не понимаю или тут утечка памяти? Сильная ссылка с View на Presenter, как и в обратную сторону. Где должна быть слабая, со View на Presenter ведь? 2. Можно ли свойство presenter для View указать в самом протоколе или это некрасиво? 3. Если 2-й пункт положительный, то почему бы в ините самого презентера во View не передать данный презентер же, что-бы в билдере лишнее не собирать. Или не очень хорошо так делать? Пожелания: Прикрепляй где-то исходники, на том-же гугл драйве, мб полезно будет быстро скачать что-то и посмотреть. Типа один раз я посмотрел видео на 1 час, а вдруг забуду и надо будет подсмотреть быстро.
@r00t67
@r00t67 4 жыл бұрын
По моему утечку поправит в следующем виде, но да, она там есть
@FominValera
@FominValera 3 жыл бұрын
Спасибо
@jcktch
@jcktch 2 жыл бұрын
Круто)
@alexfedorenko9383
@alexfedorenko9383 Жыл бұрын
Viper-ом стрелять = лайк и подписка)
@Денис-у1и4я
@Денис-у1и4я 4 жыл бұрын
Спасибо за урок. А для чего обращаться к проверти через село , если компилятор этого не требует?
@witcom6368
@witcom6368 5 жыл бұрын
Лайк не глядя!)
@theswiftdevelopers1301
@theswiftdevelopers1301 5 жыл бұрын
WITcom смотреть тоже надо)
@zakharbabkin3588
@zakharbabkin3588 5 жыл бұрын
Спасибо 🤖
@dmitrymarchenkov7686
@dmitrymarchenkov7686 5 жыл бұрын
Спасибо за уроки
@theswiftdevelopers1301
@theswiftdevelopers1301 5 жыл бұрын
как вам сам урок?
@dmitrymarchenkov7686
@dmitrymarchenkov7686 5 жыл бұрын
@@theswiftdevelopers1301 Отлично, до этого писал только на MVC, в следующем проекте попробую MVP
@СергейБезденежных-щ8ю
@СергейБезденежных-щ8ю 4 жыл бұрын
спасибо!
@ВячеславЛарин-м6х
@ВячеславЛарин-м6х 4 жыл бұрын
Подскажите как передать данные из сети в ModulBuilder. В структура Person(firstName: "", lastName: ""). Плизз!
@UserUser-vi2dn
@UserUser-vi2dn 5 жыл бұрын
Все видео ждал исправления preson -> person)
@theswiftdevelopers1301
@theswiftdevelopers1301 5 жыл бұрын
торопился ну сори)
@UserUser-vi2dn
@UserUser-vi2dn 5 жыл бұрын
​@@theswiftdevelopers1301 бывает) Видео отличное, очень детально и понятно все рассказано Хорошо когда есть такие видео, где людей обучают архитектуре и чистому коду, а не бессмысленному видео на 2 минуты о том как добавить кнопку на контроллер Спасибо за видео, ждем продолжение
@scrienmc
@scrienmc 2 жыл бұрын
Подскажите, пожалуйста, почему после 37 минуты возникает ошибка - [WindowScene] Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set? + черный экран
@silbenking
@silbenking Жыл бұрын
такая же проблема, разобрался?
@Cassin1797
@Cassin1797 5 жыл бұрын
Да, нужно еще материала по MVP. Я учу swift около 6 месяцев, написал множество простеньких приложений для себя (на MVC). Бывало так, что код контроллера выходил под 500+ строк. Конечно, это не устраивает. Хочется развиваться и идти дальше, писать более сложные приложения, причем писать их грамотно. Четко переиспользовать код, итд. Вообще, мало материала по MVP, касающегося iOS разработки. Есть пару хороших статей на Хабре. Сейчас собираюсь писать более сложное приложение. Встал вопрос об архитектуре. Не хочется брать MVVM, так как не особо знаком с реактивщиной. Есть тот же Viper и много материалов в инете, куча докладов от сотрудников Рамблера, которые активно развивают свой Viper. Я считаю, что этот вариант мне не катит, получиться слишком много маленьких классов, сплошной гемор. Вообще у меня неоднозначное мнение о Viper. Получается, что MVP - золотая серединка. Вообщем да, пили новый видос по MVP.
@theswiftdevelopers1301
@theswiftdevelopers1301 5 жыл бұрын
спасибо за подробный отзыв, это полезно!)
@leonif1
@leonif1 5 жыл бұрын
а кто тебе мешает использовать гибридную систему. Где сложно - разложи на Viper, где проще разложи на MVC или MVC разложи на еще более мелкие MVC и так это можно делать до бесконечности
@motivation5987
@motivation5987 3 жыл бұрын
Ссылки на проект нет( телеграмм ссылка не рабочая, грустно...
@aleksandrm240
@aleksandrm240 4 жыл бұрын
Где-то можно увидеть репозиторий с этим проектом?
@gummibarchen1372
@gummibarchen1372 5 жыл бұрын
Отлично все. Git интересует если можно.
@ОлесяУкраинская-т1д
@ОлесяУкраинская-т1д 4 жыл бұрын
для начала хочу сказать ОГГРРОООМНОЕ спасибо за видео!!!!...всё делала так же, но у меня черный экран с навбаром ((
@ОлесяУкраинская-т1д
@ОлесяУкраинская-т1д 4 жыл бұрын
и ошибка такая же(как в видео на 37-ой минуте) ...типа нет точки входа
@exey.artwork
@exey.artwork 4 жыл бұрын
@@ОлесяУкраинская-т1д привет) если хочешь, напиши в телегу, покажу в чем ошибка @alexcontrol
@bejan6622
@bejan6622 2 жыл бұрын
Такая же проблема, расскажите как решили, пожалуйста
@scrienmc
@scrienmc 2 жыл бұрын
@@bejan6622 удалось разобраться? не могу понять что не так(
@slavikagarkov2747
@slavikagarkov2747 5 жыл бұрын
Было бы круто и по остальным посмотреть (MVVM, VIPER)
@swiftuser777
@swiftuser777 5 жыл бұрын
+
@lllpau6ep
@lllpau6ep 3 жыл бұрын
ждем теперь CleanArchitecture
@nopassportUA
@nopassportUA 2 жыл бұрын
не пойму зачем Builder protocol
@максиммартынов-я1ь
@максиммартынов-я1ь 2 жыл бұрын
потому что завязываться надо на абстракцию всегда: чтобы потом другие билдеры для других вьюКонтроллеров делать
@ОлегЕ-ы8в
@ОлегЕ-ы8в 5 жыл бұрын
retain cycle
@theswiftdevelopers1301
@theswiftdevelopers1301 5 жыл бұрын
Олег Е , да , торопился забыл сделать слабой вью
@07shama
@07shama 4 жыл бұрын
Очень быстро набираете, просите повторять и шуршите так быстро что даже с навыками трудно успевать, приходится паузить
@YouMeNow88
@YouMeNow88 5 жыл бұрын
Такое ощущение что нужно лет 5-7 чтоб научиться это понимать
@theswiftdevelopers1301
@theswiftdevelopers1301 5 жыл бұрын
Ihor Yakushev , контент для начинающих
@gummibarchen1372
@gummibarchen1372 4 жыл бұрын
Для новичков это нужно было бы уже на SwiftUI показывать так как к тому времени пока изучат уже перейдут на UI
@theswiftdevelopers1301
@theswiftdevelopers1301 4 жыл бұрын
ENUM на продакшине еще через пару лет только
@gummibarchen1372
@gummibarchen1372 4 жыл бұрын
@@theswiftdevelopers1301 Не знаю про пару лет но знаю что уже достаточно приложений выпущено на SwiftUI и многие просят именно на нем ! Что касаемо ПАРА ЛЕТ так что бы освоить тот Stack что пишу в обьявлениях о найме Джунов =) как ра такое время и уйдет - это если с 0 и без какого либо опыта в программировании !
@gummibarchen1372
@gummibarchen1372 4 жыл бұрын
@@theswiftdevelopers1301 Если можно спросить, скажите какой опыт у Вас и за какое время освоили Swift до уровня Джун . Просто интересна статистика , понятно что многое индивидуально но все же .
@theswiftdevelopers1301
@theswiftdevelopers1301 4 жыл бұрын
ENUM , с нуля до джуна не более 3-4 мес надо
@theswiftdevelopers1301
@theswiftdevelopers1301 4 жыл бұрын
ENUM , я давно уже в этой сфере и на этих курсах за 3-4 уже устраиваются
@deluxe092
@deluxe092 Жыл бұрын
Спасибо!
@ДарьяКудашева-ж4э
@ДарьяКудашева-ж4э 2 жыл бұрын
Большое спасибо!
@mak_whisk
@mak_whisk Жыл бұрын
Спасибо
MVP + Network Service  + Второй модуль part 2
38:17
The Swift Developers
Рет қаралды 16 М.
Почему Катар богатый? #shorts
0:45
Послезавтра
Рет қаралды 2 МЛН
진짜✅ 아님 가짜❌???
0:21
승비니 Seungbini
Рет қаралды 10 МЛН
MVVM + Data Driven UI на практике swift
40:22
The Swift Developers
Рет қаралды 21 М.
MVP c Router и Assembly и Unit test swift part 3
58:17
The Swift Developers
Рет қаралды 13 М.
Dependency Injection простыми словами
18:17
devschacht “Девшахта”
Рет қаралды 88 М.
Архитектура #1 MVC+Coordinator - авторизация.
1:47:34
LazyLoad Swift & iOS
Рет қаралды 5 М.
№36 - Delegate в Swift | Главный паттерн в iOS?
1:13:16
В’ячеслав Білий
Рет қаралды 9 М.
Илья Чикмарев - async/await в Swift
29:19
CocoaHeads
Рет қаралды 11 М.
Почему Катар богатый? #shorts
0:45
Послезавтра
Рет қаралды 2 МЛН