Size: a a a

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

2019 March 20

DK

Damir K in Elm Lang сообщество разработчиков
Ryner :: () -> IO ❄️
В эльме в основном 3 подводных камня:
1. Интероп с js, помню решал форком компилятора и выпиливанием выпиливания innerHtml и script
2. Слабенькая композиция, ибо тут не приветствуется понятие компонентов
3. Иногда фич языка не хватает и приходится писать кучу бойлерплейта, я понимаю что это сделано для упрощения, но в итоге из-за слабого параметрического полиморфизма исходники elm-css выглядят чутка монстровато
Компоненты = Функции, что ты имел ввиду, говоря о слабой композиции?
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Damir K
Компоненты = Функции, что ты имел ввиду, говоря о слабой композиции?
Я имею ввиду что все посути идет в 1 большой стор, а создание "компонентов" со своими подписками и всем остальным, не очень удобно, не говоря о том, что сам Эван не рекомендует этим злоупотреблять
источник

DK

Damir K in Elm Lang сообщество разработчиков
Ryner :: () -> IO ❄️
Я имею ввиду что все посути идет в 1 большой стор, а создание "компонентов" со своими подписками и всем остальным, не очень удобно, не говоря о том, что сам Эван не рекомендует этим злоупотреблять
Понятненько, спасибо)
Еще возник вопрос, в React есть контекст, чтобы прокинуть какой-то срез State, как это делается в Elm?
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
Damir K
Понятненько, спасибо)
Еще возник вопрос, в React есть контекст, чтобы прокинуть какой-то срез State, как это делается в Elm?
источник

DK

Damir K in Elm Lang сообщество разработчиков
👍
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Я от этого всего отказался, держу все как можно проще и использую только Html вьюшки в основном, хоть это и убивает композицию
источник

V

V in Elm Lang сообщество разработчиков
Ryner :: () -> IO ❄️
Я от этого всего отказался, держу все как можно проще и использую только Html вьюшки в основном, хоть это и убивает композицию
То есть ты не отсылаешь Msg изнутри виджетов, на которые побиты вьюшки?
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
V
То есть ты не отсылаешь Msg изнутри виджетов, на которые побиты вьюшки?
Уже нет
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
А, стоп
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Я не это имел ввиду
источник

V

V in Elm Lang сообщество разработчиков
Я пробовал разрезать приложение на кусочки, которые обмениваются событиями через центральный Main.elm и обновляют Model (который является записью и состоит из полей с типами, объявленными в других модулях).
Упёрся в то, что генерируемый в виджете код будет иметь тип Html Msg, а центр принимает только Html msg.
источник

V

V in Elm Lang сообщество разработчиков
В принципе, можно сделать отдельный файл, в котором специально объявлять все Msg, которые отсылают виджеты (и импортировать этот тип во все части приложения), но это выглядит некрасиво.
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
V
В принципе, можно сделать отдельный файл, в котором специально объявлять все Msg, которые отсылают виджеты (и импортировать этот тип во все части приложения), но это выглядит некрасиво.
Прям как у меня, да
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
Ну и оно все тут используется, ну и еще в Main
источник

V

V in Elm Lang сообщество разработчиков
В итоге всё в js, или с сервера подтягиваются и парсятся какие-нибудь данные?
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
V
В итоге всё в js, или с сервера подтягиваются и парсятся какие-нибудь данные?
Ресурсы подгружаются по имени компании, которая соответствует папке на сервере и в этих папках есть конфигурационные файлы, которе как раз и подгружаются
источник

V

V in Elm Lang сообщество разработчиков
А смена локали как сделана, если не секрет?
Записями или динамично формируемым списком? С фоллбэком в основную локаль, если слово не найдено?
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
V
А смена локали как сделана, если не секрет?
Записями или динамично формируемым списком? С фоллбэком в основную локаль, если слово не найдено?
С локалями все строго
источник

V

V in Elm Lang сообщество разработчиков
То есть каждая локаль хранится в record, и если какое-то слово не определено, то проект не станет компилироваться?
источник