Size: a a a

Elm Lang сообщество разработчиков

2020 November 02

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Нет, накладные расходы в данном случае дело копеечное (ну кроме огромного количества кода), но в данном случае и Стэйт небольшой
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Но с точки зрения кода порт это очень дорогое удовольствие... опиши порт, декодер, энкодер, типы на элм стороне, типы на тс стороне, субскрипшены, хэндлеры... и все так и норовит в лапшу превратиться
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Это по сути система коллбэков... мы уже не помним какая это была боль...
источник

SO

Sash Osh in Elm Lang сообщество разработчиков
ну понятно, тут как бы свой подход нужен, хочешь чистоты и безопасности - делай, не хочешь, делай как обычно )
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Тема спорная и холиварная)) оно может и будет безопасно с точки зрения что все входы выходы перекрыты, но вот на порядок усложнённая логика увеличивает риски логических ошибок и ошибок синхронизации (нам становится важно в каком порядке команды вызываются). Например у нас часто бывали случаи что поток уже готов, а видео элемент ещё не отрендерен... с точки зрения типов все нормально и безопасно, только вот ошибка синхронизации на пустом месте
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
На стороне элм это решается тасками, на стороне тс - промисами... а вот когда на границе это никак не решается
источник

SO

Sash Osh in Elm Lang сообщество разработчиков
по идее таки вещи как раз функционально проще описать в итоге, чтобы было без багов
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Sash Osh
по идее таки вещи как раз функционально проще описать в итоге, чтобы было без багов
Именно... проще... но не в элм
источник

SO

Sash Osh in Elm Lang сообщество разработчиков
Denis Krivosheev
На стороне элм это решается тасками, на стороне тс - промисами... а вот когда на границе это никак не решается
порты же прячатся легко за тасками
источник

SO

Sash Osh in Elm Lang сообщество разработчиков
один раз нужно реализовать логику
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
А если нужно получить информацию из жс, на основе этой информации сделать вывод, запросить экшн...
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
В общем несколько раунд трипов быстро превращаются в ад
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Например нам нужен поток, но если мы запросим видео а у пользователя нет камеры - мы упадём
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Значит надо спросить какие есть девайсы, получить ответ, составить новый констрейнт, запросить поток, получить поток, привязать его к видео элементу
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Если бы был нормальный интероп, проблем небыло, завернул бы все в таски, зачейнил
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
А с портами это беда выходит
источник

DK

Denis Krivosheev in Elm Lang сообщество разработчиков
Кстати а как вы предлагаете порты в таски заворачивать? Научите
источник

SO

Sash Osh in Elm Lang сообщество разработчиков
что мешает запрос-ответ через порт завернуть в таск?
источник

SO

Sash Osh in Elm Lang сообщество разработчиков
реализации есть какие-то
источник

SO

Sash Osh in Elm Lang сообщество разработчиков
источник