@ios_ru

Страница 464 из 2351
Anton
02.12.2016
20:29:41
И каким боком это относится к Clean Architecture

Pavel
02.12.2016
20:31:29
ну они там далеко не всё додумали

интеракторы к примеру в том виде как на objc вообще хрень

Anton
02.12.2016
20:33:00
Не, базовая идея понятна - разделите ваш mvc код на более простые модули.

Google
Pavel
02.12.2016
20:33:26
ну так вайпер от мвц никуда и не ушел

короч я тут скидывал гифку

Anton
02.12.2016
20:33:41
А вот дальше какое-то сочинение на тему "как я провел лето"

Павел
02.12.2016
20:34:46
С конфы)

Pavel
02.12.2016
20:34:52
йеп

Павел
02.12.2016
20:36:34
У Вайпера вроде есть плюсы.. но у нас проект сначала был красивый, все аккуратно и правильно) а по итогу оброс говном и костылями к концу

Pavel
02.12.2016
20:37:09
да там вообще минное поле

красота будет при очень четком подходе и анлиме времени

Anton
02.12.2016
20:37:36
Ну вообщем берем стандартный айфоновский MVC, обмазываем проксями и калбеками и вуаля.

Павел
02.12.2016
20:37:52
А на предыдущем проекте мне дали баги фиксить.. так там чел впилил mvvm и rac

Причём только на одном экране)

Pavel
02.12.2016
20:38:04
не не должна быть конечная цель

коммунизм

Google
Даня
02.12.2016
20:38:08
https://habrahabr.ru/company/badoo/blog/281162/

Anton
02.12.2016
20:38:25
Я вот смотрю на unidirectional dataflow фреймворки

По принципу реакта

Булат
02.12.2016
20:38:40
https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52#.9rzvaai9l

оригинал

Anton
02.12.2016
20:39:03
Но пока не оч понятно как это ляжет на то, что сейчас есть в проекте

Павел
02.12.2016
20:39:16
Вот там было весело. Весь проект хер пойми на чем.. и тут mvvm rax))

Rac

Pavel
02.12.2016
20:39:41
да статья популярная

но не глубокая

какой там второй круг

тысячи их

Gleb ?
02.12.2016
20:42:42
Про глину давайте )

Anton
02.12.2016
20:42:48
Видимо наболевшие темы :)

Pavel
02.12.2016
20:42:56
unidirectional dataflow кстати норм идея но опять же это детали реализации того же mvc/mvp/mvvm

Anton
02.12.2016
20:43:07
я бы не сказал

Во всех MVX bidirectional binding

Pavel
02.12.2016
20:43:59
с чего бы это взялось такое правило?

Anton
02.12.2016
20:44:31
а где unidirectional

Pavel
02.12.2016
20:45:59
всмысле где

Google
Anton
02.12.2016
20:46:12
Ну в каком из паттернов?

Pavel
02.12.2016
20:46:44
в каком хочешь в таком и сделаешь

Anton
02.12.2016
20:46:48
Идея у реакта такая, что новый стейт собирается из текущих событий\данных и разом применяется к view

Pavel
02.12.2016
20:48:16
ну так а что мешает так делать даже когда фигачишь всё в одном viewcontroller

Anton
02.12.2016
20:49:20
Нет структуры, которая описывает стейт

Нельзя взять стейт А и стейт B и посчитать между ними дифы, например

Pavel
02.12.2016
20:50:15
ну так в самом ios ясное дело что нету такого

надо писать самому

Anton
02.12.2016
20:50:29
Уже есть попытки

Pavel
02.12.2016
20:51:03
да даже apple на wwdc пыталась

про сны там что-то

тоже диф считали итп

Anton
02.12.2016
20:51:24
например катана https://github.com/BendingSpoons/katana-swift

А можешь ссылку дать на wwdc?

Pavel
02.12.2016
20:51:56
ну вот у меня очень похожу скаладывается на катану

Anton
02.12.2016
20:51:57
Я помню value programming with swift было, но это немного не про то.

Pavel
02.12.2016
20:52:07
не везде я с ними согласен

https://developer.apple.com/videos/play/wwdc2016/419/

Anton
02.12.2016
20:52:57
А, не

Точнее это по этой теме, но не про то как это в UI использовать

Google
Pavel
02.12.2016
20:53:27
всмысле

там прям про ui

Anton
02.12.2016
20:53:38
о!

Pavel
02.12.2016
20:53:41
про дифы итп

Anton
02.12.2016
20:53:49
да, перепутал с другим, сорри

вопрос только в лейауте

Admin
ERROR: S client not available

Anton
02.12.2016
20:54:12
катана решает кастомным движком

Katana has its own language (inspired by Plastic) to programmatically define fully responsive layouts that will gracefully scale at every aspect ratio or size

Pavel
02.12.2016
20:54:26
ага у меня есть свой

LayoutOps

тоже умеет ноды считать, можно и в бэкграунде

ну autolayout в печку, никогда им не пользовался

но бонус просчитать всё и получить суперплавность решает

Anton
02.12.2016
20:56:19
Я писал без него одно время.

Pavel
02.12.2016
20:56:37
тем более autolayout имеет далеко не самое приятное api

Anton
02.12.2016
20:57:07
Пришел к бажному автолейауту, в котором была половина функциональности от нативного минус визуальный редактор

Сейчас пофиксили апи

есть анкоры

есть фреймворки поверх autolayout, в которых можно проще определить

Google
Anton
02.12.2016
20:58:09
когда у тебя айфон, айпад и две ориентации на каждом - мало приятного вручную считать

Pavel
02.12.2016
20:58:23
ну так вручную никто не считает

https://github.com/psharanda/LayoutOps/blob/master/README/DEMOS.md

autolayout не посчитаешь в background, не закэшируешь результаты

Anton
02.12.2016
21:01:31
Да, есть такое

Поэтому кастомные движки, да

Pavel
02.12.2016
21:03:54
есть еще asyncdisplaykit, но что-то они перебрали в нем

слишком сложно внутри

Anton
02.12.2016
21:04:23
В принципе сам autolayout построен на опенсорсной библиотеке для решения уравнений в constraints

AsyncDisplayKit’s layout engine is both one of its most powerful and one of its most unique features. Based on the CSS FlexBox model, it provides a declarative way of specifying a custom node’s size and layout of its subnodes. While all nodes are concurrently rendered by default, asynchronous measurement and layout are performed by providing an ASLayoutSpec for each node.

Неудивительно :)

что внутри сложно

Но я думаю эппл тоже к этому придет

Учитывая что по сути constraints - это и есть стейт

Pavel
02.12.2016
21:07:08
можно добиться всего этого меньшей кровью

Anton
02.12.2016
21:07:18
и его несложно собрать, сохранить и применить

Pavel
02.12.2016
21:07:20
не переписывая пол uikit

Anton
02.12.2016
21:07:53
В идеале ты даже не заметишь

Ты делаешь функции для смены constraints в каждом элементе как в реакте, потом все это собирается движком и процессится в новый стейт

Страница 464 из 2351