Отличный урок! Спасибо большое )) Было бы шикарно увидеть урок про связку MVVM+RxSwift. На объяснение MVVM уже можно будет не отвлекаться и сделать упор на RxSwift... было бы круто
@bakdauletm50804 жыл бұрын
Благодаря вам я нашёл работу, спасибо!!!!!!!!!!
@myga772 жыл бұрын
Большое спасибо! Смотрю и пересматриваю. Адаптировался к таймингу. Большинство успеваю писать паралелльно с вами даже на 2х если смотрю. Если где то опечатываюсь быстро ставлю на паузу. Ребятам без мониторов - рекомендую присмотреть себе телики с Airplay. Очень помогает сидя на диване использовать телек как второй монитор для ютуба. Можно использовать и встроенное приложение в смарт тв, но именно если через эйр плей - оч легко быстро ставить на паузу, без громозкого интерфейса приложения тв.
@dmitrymarchenkov76864 жыл бұрын
Спасибо за урок, очень долго искал видео на тему MVVM - это сто процентов лучшее. Не думал что MVVM окажется так похожа на MVP.
@JoffreyB3 жыл бұрын
Не совсем понятно почему TestView.swift знает про ViewData обходя лейер ViewModel, разве MVVM не для этого нужен, чтобы View напрямую не общались с Model, а общались через посредника ViewModel? Хоть вы и говорите что TestView ничего не знает про ViewData, но как не знает если вы в функции update(....) пишете "titleLabel.text = viewData?.title"? Вот этот момент не совсем понятный.
@wolfyteze49473 жыл бұрын
Хорошее объяснение mvvm, я правда только со второго просмотра понял что к чему)). Хорошо изложенный и доступный материал. Спасибо
@Victor-dj4td4 жыл бұрын
Спасибо большое за урок. Видео топовое, давно такого не видел :) Если честно, мало кто пилит уроки по архитектуре, так что вдвойне круто. P.S. Объясняете на уровне Brain Voong 👍🏻 P.S. 2 Гист с вьюхой бы не помешал, как было сказано ранее
@alekseidanilov92794 жыл бұрын
Спасибо за уроки! Вы хорошо объясняете!
@FlyerChannel4 жыл бұрын
Спасибо за понятное объяснение MVVM!
@vladimircreator Жыл бұрын
Стиль подачи - зачетный )
@eaduka20093 жыл бұрын
Мужик ты просто космос!!! Без шуток!
@N0VICHECK4 жыл бұрын
Как всегда, доступно, понятно, супер, спасибо! Ждем clean swift
@ВячеславЛарин-м6х4 жыл бұрын
Как всегда Великолепно, БРАВО!!!!
@stolenhen4 жыл бұрын
Евгений, будет ли урок по Clean Swift или Viper? Так же интересно про container controllers было бы послушать. Так же мне как новичку было бы архиинтересно услышать от вас больше практических примеров в Xcode с generics. Про джейнерики в ютюбе информации почти нет(
@boggromaful4 жыл бұрын
Очень классный урок! Спасибо! После этого урока, и единственного в своем роде в плане подачи и примеров, я начинаю понимать MVVM!
@dmitry38814 жыл бұрын
Что сказать... Как всегда урок пушка. Как всегда что-то новое. Мой план обучения по твоим видео это: 1. Посмотреть и выписать основные моменты, чтобы потом самому повторить. 2. Попробовать повторить то, что делал ты. 3. Изменить условие(в этом уроке, например, нужно будет с настоящим запросом попробовать сделать и отображать уже данные которые прийдут). и 4. Это посмотреть еще раз видео. Так как после одного просмотра не понятно, что ты при просмотре в первый раз упустил. Вроде все понятно, но когда уже после практики пересматриваешь восприятие другое
@AzarovTKD2 жыл бұрын
Круто-круто! Спасибо большое за урок!
@magzhanimangazy43824 жыл бұрын
RXSwift
@theswiftdevelopers13014 жыл бұрын
Друзья оставляйте свое мнение и пожелания!
@lost_youth434 жыл бұрын
Сделайте пожалуйста курс по CoreData или Realm
@kehkjbuphrd4 жыл бұрын
Замечательный урок, но очень не хватает ссылки на gist с кодом из сниппета или на проект целиком. Совсем не хочется отвлекаться от урока на шаблонный код создания вьюх.
@theswiftdevelopers13014 жыл бұрын
добавлю позже
@rauankoshkinbayev15064 жыл бұрын
Rxswift😅😅😅
@ValeriySoglaev4 жыл бұрын
Хотелось бы от Вас еще урок SwiftUI, MVVM + Combine
@alexeikorolev97904 жыл бұрын
Спасибо! урок как и всегда на высоте! хотелось бы развернутые уроки по бд и работой с сетью
@alexeikorolev97904 жыл бұрын
Или ещё что-нибудь из MVVM )
@IBSivay4 жыл бұрын
очень информативный урок. Пошел практиковаться. Спасибо
@sergeyborovkov76144 жыл бұрын
Евгений, очень круто! вчера вечером увидел новый урок - уже знал, что сегодня посмотреть! Я ваш патрон на Udemy!
@rauankoshkinbayev15064 жыл бұрын
лучший учитель 🤩
@07shama4 жыл бұрын
Когда просто повторяешь ручками, кое как поспеваешь за вашей скоростью набора, перескакивания по файлам и с кнопкой "
@mex53412 жыл бұрын
-Вы делаете инъекцию зависимостей , как я показывал раньше вам , и не делайте хардкод , а делайте правильно . Я же тут просто захардкожу -Whaaaat?)
@АлександрКуликов-о9ц2 жыл бұрын
Спасибо за урок!
@vadim_polovoi2 жыл бұрын
Евгений, спасибо за урок! Но почему может быть такое, что у меня картинки не вписываю в заданный размер view?
@ЮрийМорозов-з5з4 жыл бұрын
Спасибо большое за урок! Все предельно теперь стало ясно. Пока нигде не встречал внятного и наглядного объяснения этого подхода без использования Rx. Очень ждём продолжения уроков. Есть ли в планах урок по Viper/VIP/Clean Swift?
@theswiftdevelopers13014 жыл бұрын
Юрий Морозов , что нибудь еще интересного запишем)
@1ZaYaTs13 жыл бұрын
Очень крутое видео! Спасибо!
@ТарланХакимзаде4 жыл бұрын
Ты очень крут, спасибо за уроки.
@alekseychanov4 жыл бұрын
Просьба выкладывать ссылку на финальный проект для полного шика!
@caspernew66974 жыл бұрын
Оч круто! ) Благодарю! )
@bardakan Жыл бұрын
был один такой, который описал состояния экрана через enum с ассоциированными переменными... Потом задолбались писать переходы между этими состояниями (переводить данные из одного набора ассоциированных переменных в другой), потому что с увеличением числа состояний количество переходов росло в геометрической прогрессии. Неужели так сложно например описать в одной структуре все данные, которые могут попадаться в каком-нибудь из состояний, и уже если очень хочется - написать на каждое состояние протоколы, отсеивающие лишнее?
@TyTy-oh2wq4 жыл бұрын
«Сейчас их гораздо больше, наверное» Топ
@akhmedovbakhtovar7142 Жыл бұрын
это я если стану сеньором помидором
@andrewwillson12032 жыл бұрын
Спасибо за объяснение, сейчас пишу проект с помощью ваших видео-уроков. Только можете объяснить, в чем суть вызова метода updateViewData, в конструкторе MainViewModel, ведь он никогда не будет вызван. Мб имеет суть добавить параметр updateViewData в конструктор?
@pitwarlord72784 жыл бұрын
просто топ для повышения скилла
@crazyfox13173 жыл бұрын
Топ! Спасибо! Остался только 2 вопроса. 1) В чем смысл переноса логики по обновлению UI в метод layoutSubviews, когда его можно было написать прямо в didSet viewData? Как это влияет на производительность и какие преимущества дает? 2) Если написать обратную связь ViewModel и View не через boxing и RX а через делегат, будет ли это нарушать принципы MVVM? Ведь тогда ViewModel будет держать ссылку на View в качестве делегата а значит "знать" о ней.
@ilyanesterenko27962 жыл бұрын
если добавить во viewModel ссылку на вью, то это будет MVP )
@dubstepwawawa3 жыл бұрын
Почему TestView знает о ViewData? Если они вообще должны пересекаться
@GoGaSish3 жыл бұрын
Не совсем понятно зачем в данном случае у вью модели public надо было проставлять, ведь вся коммуникация проходит в рамках одного модуля Спасибо за старания, вы молодец:)
@Elecrlbloom2 жыл бұрын
как правильно инжектить в сервисы Нетворк сервис а их уже во вью модель
@laisermed4 жыл бұрын
спасибо большое!
@cmdBcmdR3 жыл бұрын
Спасибо :)
@gummibarchen13724 жыл бұрын
Будут ли уроки Combine ?
@hakobjanyan3 жыл бұрын
bomba, спасибо
@СергейБабий-у7с4 жыл бұрын
Лайк поставил.
@Interfacelol4 жыл бұрын
Жду SwiftUI))
@МаксимАлексеев-з9р4 жыл бұрын
По VIP планируется урок?
@kama82134 жыл бұрын
Правильно я понял: получается кейсы энама, это основная логика, то есть основные действия, которые будут происходит в том или ином модуле?
@theswiftdevelopers13014 жыл бұрын
vladmus , вьюха с мультистейтом ( много состояний в которые умеет)
@kama82134 жыл бұрын
@@theswiftdevelopers1301 А, вот как. Уловил идею. Похоже в том и есть суть МВВМ, в модели описываются изначальные те или иные "Стейты", в которое View должна пребывать, а управляет всем этим ViewModel. В остальном спасибо, после трех частей с МВП, МВВМ показался легче и интересней. Спасибо за уроки!
@theswiftdevelopers13014 жыл бұрын
они похоже, просто тут не стал роутеры и тести писать их тут тоже можно
@максиммартынов-я1ь2 жыл бұрын
лично мне проще сначала полностью урок посмотреть или половину его а потом рассмотрев все связи или почти все, по памяти (ну почти полностью) написать ваш код. Иначе я слишком сильно почему то зацикливаюсь на синтаксисе и теряю нить самой темы урока....
@PaulieS19874 жыл бұрын
Неплохо, но есть нюансы. 1. В ините обращаться к свойству, значение которого еще не задано, бессмысленно . Никто не получит .initial. 2. Обновлять значение полей в layoutSubviews, это как раз и есть путь к просадке производительности. Этот метод может быть вызван несколько раз, при этом значения будут перезаписываться... 3. Public для методов в internal классе тоже бессмысленны. Internal методы в рамках модуля будут видны.
@stolenhen3 жыл бұрын
Павел, а где тогда лучше обновлять значения полей, чтобы не просаживалась производительность?
@ТанирбергенКалдыбай4 жыл бұрын
ссылка на TestView + Extension
@denok1374 жыл бұрын
Насколько верно во viewDidLoad создавать вью и проставлять констрейнты? Касательно жизненного цикла. Как вообще это делать правильно в реальных проектах?
@theswiftdevelopers13014 жыл бұрын
Денис Шихалев , делаю в реальности как показываю в уроке
@bardakan Жыл бұрын
Очень поверхностный урок: - вы что в реальный проектах тоже перерисовываете весь экран в layoutSubviews, причем еще и по каждому чиху от изменения viewModel? А если например, действие нужно делать с анимацией? - почему вы храните ViewData в двух местах? Уже даже SwiftUI, базирующийся на MVVM предполагает, что данные хранятся в одном месте, а в другие места передаются не копией а по ссылке
@rtjh045h Жыл бұрын
Привет, сколько пытаюсь понять суть MVVM, ничего не получается - можешь подсказать какие-то видео - чего можно начать, как определить что с чем связать, где что должно находиться. Уже руки опускаются. Смотрю Стэнфорд курсы - но тоже ничего не понимаю, почему делают так как делают
@Stricken1749 ай бұрын
Все это прикольно, но как показывает практика никто ничего нигде не подменяет) Да и тесты пишут через раз. Возникает вопрос: а нафига все это нужно?) Великий уровень абстракции приводит к сложному поиску багов, а плюсов не дает.
@crazyfox13172 жыл бұрын
Когда там Viper?
@theswiftdevelopers13012 жыл бұрын
как то позже, хотя это так уже не модно)
@tarashrodzitskyi83643 жыл бұрын
Это не правильная реализация MVVM .View имеет свою логику а Мodel cвою .ViewModel просто прокси посредник для разграничения логических компонентов с возможностью хранить состояние (может использоваться несколькими View)