Alexey RGB
а мввм
Alexey RGB
его вообще без реакта реализовать можно?
Anton
реакт нейтива?
Anton
хаха
Bulat
недавно об этом разговаривали
Bulat
реакт там вообще не нужен
Bulat
протоколы
Bulat
наше все
Valentin
Чет мне кажется что если задают такие вопросы, то использовать это явно не стоит
Valentin
Ну попробуйте сначала это отдельно, потом уже в коммерческие проекты лепите
Pavel
Начинаю переходить на swift, ожидайте пополнения в ваших рядах
Pavel
Илья
Mikhail
ребят, такой вопрос. Авторизация идет через credential (если я ничего не путаю). Я использую alamofire и выглядит это примерно так
session.request(urlString, method: .get).authenticate(user: name, password: password)
static var session: SessionManager = Alamofire.SessionManager.default {
didSet {
let sessionDefault = Alamofire.SessionManager.default
sessionDefault.session.configuration.httpCookieAcceptPolicy = .always
self.session = sessionDefault
}
}
эта функция очищает сессию (я ее использую чтобы сессия не была авторизирована и пользователь мог заново зайти / зарегаться)
static func logOut(handler: @escaping () -> ()) {
session.session.flush { }
session.session.reset {
session = Alamofire.SessionManager.default
handler()
}
}
Вопрос такой. Когда я авторизируюсь в первый раз - получаю 200. Авторизация прошла, все збс. Потом сразу выхожу (logOut), авторизируюсь - получаю 404. Авторизируюсь еще раз - получаю 200. То есть, когда я авторизируюсь сразу после логаута, то авторизация проходит лишь со второго раза. Кто-то сталкивался с подобным? С чем это может быть связано? На серваке лога 404 нет. То есть что-то не так с запросом именно после логаута.
Сам запрос сохраняет куки:
session.request(request)
.authenticate(user: name, password: password)
.responseJSON { resp in
if let headerFields = resp.response?.allHeaderFields as? [String: String], let URL = resp.request?.url {
let cookies = HTTPCookie.cookies(withResponseHeaderFields: headerFields, for: URL)
session.session.configuration.httpCookieStorage!.setCookies(cookies, for: URL, mainDocumentURL: nil)
}
Anton
Сколько по времени заняло и как вообще ощущения? Я вот подумываю переписать проект, но гложут сомнения по поводу целесообразности. Сразу все переписывал или по частям?
Xx
mvvm от viper отличается как a+b от b+a
Anton
Я вайпер так и не понял до конца.
Xx
что именно?
Anton
Зачем такие сложности.
Anton
И почему именно такой набор компонентов.
Anton
И каким боком это относится к Clean Architecture
Xx
ну они там далеко не всё додумали
Xx
интеракторы к примеру в том виде как на objc вообще хрень
Anton
Не, базовая идея понятна - разделите ваш mvc код на более простые модули.
Xx
ну так вайпер от мвц никуда и не ушел
Xx
короч я тут скидывал гифку
Anton
А вот дальше какое-то сочинение на тему "как я провел лето"
Xx
Павел
С конфы)
Xx
йеп
Gl🅴b
Павел
У Вайпера вроде есть плюсы.. но у нас проект сначала был красивый, все аккуратно и правильно) а по итогу оброс говном и костылями к концу
Xx
да там вообще минное поле
Xx
красота будет при очень четком подходе и анлиме времени
Anton
Ну вообщем берем стандартный айфоновский MVC, обмазываем проксями и калбеками и вуаля.
Павел
А на предыдущем проекте мне дали баги фиксить.. так там чел впилил mvvm и rac
Павел
Причём только на одном экране)
Xx
не не должна быть конечная цель
Xx
коммунизм
Danny
https://habrahabr.ru/company/badoo/blog/281162/
Anton
Я вот смотрю на unidirectional dataflow фреймворки
Anton
По принципу реакта
Bulat
https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52#.9rzvaai9l
Bulat
оригинал
Anton
Но пока не оч понятно как это ляжет на то, что сейчас есть в проекте
Павел
Вот там было весело. Весь проект хер пойми на чем.. и тут mvvm rax))
Павел
Rac
Xx
да статья популярная
Xx
но не глубокая
Xx
какой там второй круг
Xx
тысячи их
Gl🅴b
Про глину давайте )
Anton
Видимо наболевшие темы :)
Xx
unidirectional dataflow кстати норм идея но опять же это детали реализации того же mvc/mvp/mvvm
Anton
я бы не сказал
Anton
Во всех MVX bidirectional binding
Xx
с чего бы это взялось такое правило?
Anton
а где unidirectional
Xx
всмысле где
Anton
Ну в каком из паттернов?
Xx
в каком хочешь в таком и сделаешь
Anton
Идея у реакта такая, что новый стейт собирается из текущих событий\данных и разом применяется к view
Xx
ну так а что мешает так делать даже когда фигачишь всё в одном viewcontroller
Anton
Нет структуры, которая описывает стейт
Anton
Нельзя взять стейт А и стейт B и посчитать между ними дифы, например
Xx
ну так в самом ios ясное дело что нету такого
Xx
надо писать самому
Anton
Уже есть попытки
Xx
да даже apple на wwdc пыталась
Xx
про сны там что-то
Xx
тоже диф считали итп
Anton
например катана https://github.com/BendingSpoons/katana-swift
Anton
А можешь ссылку дать на wwdc?
Xx
ну вот у меня очень похожу скаладывается на катану
Anton
Я помню value programming with swift было, но это немного не про то.
Xx
не везде я с ними согласен
Xx
https://developer.apple.com/videos/play/wwdc2016/419/
Anton
А, не
Anton
Точнее это по этой теме, но не про то как это в UI использовать
Xx
всмысле