Комментарии 12
Спасибо, очень интересная и информативная статья!
Все разложили по полочкам, мне как несильному специалисту в данной области есть в чем поразобраться.
Все разложили по полочкам, мне как несильному специалисту в данной области есть в чем поразобраться.
Очень интересно, что дата единственной активности пользователя с таким «интересным» комментарием совпадает с датой создания статьи…
Странно, что Redux удостоился лишь упоминания вскользь. В вебе он уже вроде как давно супер популярный, в Андроид под маской mvi тоже больше года как пришел (и дурных отзывов о нем мне слышать не довелось), неужели в ios он еще не имеет никакой популярности?
Я сам не ios-ник, так что исхожу только из общих соображений.
Я сам не ios-ник, так что исхожу только из общих соображений.
О чистых архитектурах и FRP-related (Redux, TEA, MVI) будет подробно в следующих статьях из цикла :)
Отлично, будет интересно почитать, как это используется для ios)
Небольшое замечание. Не столько по статье, сколько вообще. Хотя Flux, Redux и т д почти всеми и всегда реализуются с использованием реактивщины и она даже прописана в их базовом описании, по факту их можно реализовать без каких-либо реактивных инструментов, на обычных обертках, коллбэках и сеттерах. Это резко упрощает их использование и вникание для новичков и я бы не сказал, что хоть что-то отнимает у подхода самого по себе.
Вы о подобном в части MVVM сами рассказывали.
А то знаю многих, кто не пробует MVI именно потому что «Rx слишком сложный, оно того не стоит».
Небольшое замечание. Не столько по статье, сколько вообще. Хотя Flux, Redux и т д почти всеми и всегда реализуются с использованием реактивщины и она даже прописана в их базовом описании, по факту их можно реализовать без каких-либо реактивных инструментов, на обычных обертках, коллбэках и сеттерах. Это резко упрощает их использование и вникание для новичков и я бы не сказал, что хоть что-то отнимает у подхода самого по себе.
Вы о подобном в части MVVM сами рассказывали.
А то знаю многих, кто не пробует MVI именно потому что «Rx слишком сложный, оно того не стоит».
Очень крутая статья!
А какую архитектуру сами предпочитаете?
Спасибо!
Предпочитать одну архитектуру — все равно что предпочитать один конкретный вид вина. Все же к каждому блюду выбираешь заново: где-то белое лучше подходит, где-то красное, а где-то и вовсе шампанского хочется… :)
PS: справедливости ради, субъективно лично мне очень импонирует CleanSwift — все-то там по полочкам разложено! :D
но далеко не всегда конечно это лучшая опция в выборе архитектуры проекта
Предпочитать одну архитектуру — все равно что предпочитать один конкретный вид вина. Все же к каждому блюду выбираешь заново: где-то белое лучше подходит, где-то красное, а где-то и вовсе шампанского хочется… :)
PS: справедливости ради, субъективно лично мне очень импонирует CleanSwift — все-то там по полочкам разложено! :D
но далеко не всегда конечно это лучшая опция в выборе архитектуры проекта
Статья хороша!
К ней бы еще репозиторий с примерами — цены бы не было!
К ней бы еще репозиторий с примерами — цены бы не было!
НЛО прилетело и опубликовало эту надпись здесь
Любой iOS-ник скажет, что эта картинка вообще не вяжется с реальностью
Я бы подискутировал на эту тему!
UIView не умеет отрабатывать IBAction
На UIView можно стандартным путём навесить IBAction
а .xib-ы легче подключаются к контроллерам
xib файлы без каких-либо проблем подключаются к UIView
В итоге чтобы отделить UIView от UIViewController в терминах целого экрана, а не отдельного компонента — нужно пройти сквозь огонь, воду и LLVM.
Чтобы отделить UIView от UIViewController достаточно создать файлик для View и соединить с Controller посредством storyboard или программно :)
все пихают логику Вида в UIViewController, что приводит к тому, что MVC элегантным жестом превращается… в Massive View Controller.
Такое действительно встречается, но и другие дизайн паттерны иногда применяются не правильно, не так-ли?
Мне нравится использовать MVC вместе с UIKit, ведь UIKit имеет множество готовых объектов и механизмов для этого. Ситуация несколько меняется при переходе в SwiftUI, но это уже совсем другая история :)
Любой iOS-ник скажет, что эта картинка вообще не вяжется с реальностью
Я бы подискутировал на эту тему!
UIView не умеет отрабатывать IBAction
На UIView можно стандартным путём навесить IBAction
а .xib-ы легче подключаются к контроллерам
xib файлы без каких-либо проблем подключаются к UIView
В итоге чтобы отделить UIView от UIViewController в терминах целого экрана, а не отдельного компонента — нужно пройти сквозь огонь, воду и LLVM.
Чтобы отделить UIView от UIViewController достаточно создать файлик для View и соединить с Controller посредством storyboard или программно :)
все пихают логику Вида в UIViewController, что приводит к тому, что MVC элегантным жестом превращается… в Massive View Controller.
Такое действительно встречается, но и другие дизайн паттерны иногда применяются не правильно, не так-ли?
Мне нравится использовать MVC вместе с UIKit, ведь UIKit имеет множество готовых объектов и механизмов для этого. Ситуация несколько меняется при переходе в SwiftUI, но это уже совсем другая история :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Архитектурные паттерны в iOS: страх и ненависть в диаграммах. MV(X)