Size: a a a

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

2018 July 26

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
Anton Kotenko
Есть стремление свести его к минимуму и с каждой новой версией гайки закручиваются всё крепче. Я думаю, это стремление понятно, всем хочется, чтобы язык был максимально независим от JS, чтобы мог бы всё сделать своими силами, как другие самостоятельные языки. Чтобы было не "приктутите Elm к своему JS", а "возьмите Elm и напишите полноценное приложение [запускаемое на любой платформе]". А может быть цель в том, чтобы чтобы в WebAssembly напрямую компилить.

Для этого надо чтобы не только ядро, но и все библиотеки тоже были максимально независимы от JS. Поэтому от натива всеми способами избавляются.

Кроме портов, потому что в порты может кто угодно правильный JSON слать, не только JS.
язык и так не зависим от js. Зависим рантайм и функциональность, Для повторного использования js кода таки да, можно использовать порты. Но натив модули писать тупо проще. Поэтому их и используют чуть более чем везде. Это только в теории на протах можно что то сложноее сделать, на практике этого и близко нет, ибо абсурд - на портах одна строка вызова метода объекта js, которая что нить мутирует и возвращает, вырождается в 15-20 с учётом идиотского форматирования строк кода на элме, да ещё и разбросанных по модулю в разных местах. Это ни кому не нужно, фронтенд инженеры лишь пальцем покрутят у виска если им такой код покажут.
источник

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
А юзать js код всё равно придётся, поскольку практически все существующие биндинги за редким исключением криввые, заброшенные и не работают
источник

AK

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

AK

Anton Komissarov in Elm Lang сообщество разработчиков
сразу признаюсь, не стал читать всё полотно спора
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
но в Элм коммьюнити порты использовать абсолютно не зазорно
источник

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
не зазорно, но трудно
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
можно в двух словах, что трудно?
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
я понимаю что тут 100летняя дискуссия
источник

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
я когда использую порты и декодеры/енкодеры, у меня сразу в голове код без них, который делает то же самое - в одну строчку, и это бесит
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
мм, серьёзные дяди на последней конфе начали спор с Ричардом по поводу  бессмысленности портов
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
не хочу быть сломанным телефоном, но в конечно итоге сошлись, что в серьёзных прилажухах, данные 1к1 не будут использоваться
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
поэтому автоматом декодить не вариант
источник

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
согласен с серьёзными дядями. Кроме как в эльме подобной фигни ни где нет. В во всех js-заменителях как правило есть прямой дотутп к js объектам, без этого вообще глупо надеятся на какие то перспективы в энтерпрайзе
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
у нас энтерпрайз
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
на 6 человек
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
серьёзная букинг система
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
и мы счастливые до опупения
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
ну эт оч субьективно, я согласен
источник

PF

Pawel Filimonenkow in Elm Lang сообщество разработчиков
это понятно, но тут возникает вопрос насколько у вас интегрирован код с существующим js. У меня тоже энтерпрайз, много навигации, websql, есть управление kendo ui объектами и т.п. Для эльма нормальных биндингов нет и близко. Писать всё это через порты - ну это аут был бы вообще
источник

AK

Anton Komissarov in Elm Lang сообщество разработчиков
переписываем 170к ангуляра на Элм
источник