Size: a a a

2021 April 16

VS

Vladimir Shchur in F# Chat
Продолжаю обзор сутила) Пока что все очень нравится) Удобно писать html благодаря feliz движку, биндинги на стандартный хтмл все уже есть, пока проблем не возникало. По поводу схожестей - получается что-то среднее между ангуляром и реактом, реактивность ангуляровская, но главное отличие что объекты иммутабельные, т.е. если сделал стор из массива, не получится обновить только один элемент, надо полностью обновлять весь массив, и тогда перерисуется все что зависело от целого, это уже больше на реакт похоже, только  в реакте там виртуал дом, и реальный дом весь не перерисуется, а в сутиле обычный дом апдейтиться будет.
источник

EB

Eyes in the Box in F# Chat
а как в итоге взаимодействуют компоненты, допустим, разной иерархии, ребенок с родителем, если ему нужно как-то о чем-то уведомить родителя?
источник

VS

Vladimir Shchur in F# Chat
тут работает его главная фишка - в нем нет ничего посути кроме этих обзерваблов) т.е. делаешь как если бы ты делал на бэкенде, или в ребенка прокинешь сам обзервабл, или, что лучше - прокинешь коллбэк, который апдейтит этот обзервабл, а ребенок вызовет этот коллбэк
источник

VS

Vladimir Shchur in F# Chat
нет никакого разделения на компоненты, ты просто пишешь функции где угодно и как угодно, красота) т.е. у тебя есть родительская функция, которая вызывает дочернюю функцию и ей какие-то параметры передает
источник

EB

Eyes in the Box in F# Chat
ну пес его знает, пока звучит в духе - гуляй, рванина, меняй чо хочешь откуда хочешь
источник

VS

Vladimir Shchur in F# Chat
ну так это же супер! я все больше вижу примеров когда вместо того чтобы давать тебе фреймворк с правилами, тебе дают пачку примитивов, а ты че хочешь с ними делаешь, и это работает. Главное чтобы эти примитивы можно было вместе композировать - функциональных подход
источник

I

Igor in F# Chat
Звучит как rx
источник

VS

Vladimir Shchur in F# Chat
ну так там насколько я видел и есть rx, только давнишний, тот что в фарше с первой или второй версии живет. Удобно в сутиле, что там биндинги сразу на хтмл, типа Bind.attribute, Bind.selected Bind.fragment(это на кусок html)
источник

I

Igor in F# Chat
Звучит опасно, куча комбинатор и реактивщины. В elmish все просто весь UI это композиция чистых функций (без реактивных комбинаторов).
источник

RM

Roman Melnikov in F# Chat
Fable.Reactive :)
источник

VS

Vladimir Shchur in F# Chat
ага, только там вся проблема не в чистых функциях а в стейте и обработке команд с его апдейтом) вот код примитивнейшего примера сутила через элмиш
источник

VS

Vladimir Shchur in F# Chat
а в реальной аппе команд будет в 10 раз больше
источник

VS

Vladimir Shchur in F# Chat
я хз как с этим жить)
источник

EB

Eyes in the Box in F# Chat
легко, они же группируются по компонентам, каждый обрабатывает свой кусок стейта
источник

VS

Vladimir Shchur in F# Chat
ну сами смотрите) мне вот элмиш не зашел, обзерваблы намного чище выходят в коде
источник

EB

Eyes in the Box in F# Chat
тут надо смотреть как это все будет себя вести при масштабировании
источник

EB

Eyes in the Box in F# Chat
потому что у меня пока ощущение что это в какой-то момент поползет в адскую сложность менеджмента состояния
источник

VS

Vladimir Shchur in F# Chat
хз, из того что я вижу - не должно вылезти, в отличие от элмиша состояния там локальные, будут спрятаны внутри дочерних компонент
источник

VS

Vladimir Shchur in F# Chat
ну глобальное тоже будет, но оно не будет на все приложение как в элмише
источник

EB

Eyes in the Box in F# Chat
любое локальное состояние не перестает быть состоянием (и временами является и более опасным, ибо оно неявное)
источник