Size: a a a

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

2020 April 09

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
type Modal
   = ListModal String E.Value
   | ResourceModal String Int E.Value
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
toUrl [ListModal "home" E.null]
->
/home

toUrl [ListModal "home" (E.object [("page", E.int 1)])] ]
->
 /home?page=1
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Хотя опять же нафига, просто query string передавать 🙈
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
Дотыкал.

type Page = Home | Catalog

type alias StackItem =
 { page: Page
 , url: Url
 }

type alias Model =
 { navStack: List StackItem }

...

UrlChanged u ->
  если есть ?_=push, то пушим в navStack
  если нет, заменяем целиком navStack = [{ page = ..., url = u }]

Обработка событий и view только для топа стека.
Если в стеке больше одного элемента, то рендерим с кнопкой закрыть, которая pop

на страницах
import Route

a [ Route.href Route.Home ]
a [ Route.modalHref Route.Home ]
источник

MM

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

MM

Max Martin in Elm Lang сообщество разработчиков
Бот лютует, банит если первое сообщение ссылка или форвард :)
источник

VK

Vladimir Klntsky in Elm Lang сообщество разработчиков
Ага, спасибо.
источник

VK

Vladimir Klntsky in Elm Lang сообщество разработчиков
Был прямо таки шокирован этой статьёй. Советовал всем elm, но за разработкой не следил.
Я правильно понимаю, что native code - это любой код, юзающий FFI вообще?
источник

MM

Max Martin in Elm Lang сообщество разработчиков
Надо почитать
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Нет FFI никакого
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
FFI == нормальный интерфейс между кодом на языке и платформенным
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Барьер обработки ошибок и типизации
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Такого в Elm не было никогда. Но было можно класть сырой JS с файликом сигнатур рядом. И компилер "закрывал глаза" на то, что там у модуля в кишках.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Это ломало и рантайм-гарантии и semver. Но некоторым авторам пакетов разрешалось лично Эваном быть "достаточно умными"
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Но с ростом количества пакетов случилось две вещи: 1) пакетов стало настолько много, что раздавать разрешения стало непрактично, 2) на pure Elm написали достаточно библиотек, чтобы можно было отказаться от "не до FFI" совсем. Пока оный не будет сделан нормально (как — никто не знает, включая Эвана).
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
В итоге имеем NoRedInk, которым "всего хватает" (и поэтому Эван не торопится фичи пилить). И остальной мир, который терпит порты, а потом уходит писать на другом языке
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Но вообще странно, что кого-то это всё обошло стороной и/или продолжает удивлять
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
На хабре каждую неделю выходит react/angular/vue какаха, будущее за svelte 🤮 такое читать себе дороже.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Там, где я обычно тусую, давно читать хабр — моветон
источник

AY

Alexey Yurchenko in Elm Lang сообщество разработчиков
но его читает большая часть народа, которая в принципе хоть что-то читает 🙈
источник