Описание тега elm-architecture
Elm Architecture - это архитектурный паттерн для разработки пользовательских интерфейсов, аналогичный Model-View-Controller и т.п., но отличающийся в первую очередь своей чисто функциональной природой. Этот шаблон берет свое начало в вязе, но с тех пор был принят библиотеками на многих других языках и платформах.
Основными строительными блоками Elm Architecture являются:
- В
Model
- включая состояние вашего приложения - В
update
функция - чистая функция от текущего состояния к следующему - В
view
функция - чистая функция из заданного состояния в HTML
update
запускается событиями, прикрепленными к HTML в view
функции и сопровождаются сообщением, описывающим, какое событие произошло. Вupdate
функция будет тогда, учитывая message
и текущее состояние, возвращаем следующее состояние, которое, в свою очередь, передается в view
чтобы отобразить соответствующий HTML-код состояния.
update
также могут запускаться другие события, не относящиеся к пользователю, такие как команды и подписки, которые могут получать данные с сервера или просто запускать триггер update
каждую секунду. Эти виды обновлений также сопровождаются соответствующими сообщениями и следуют той же последовательности, что и события, запускаемые из HTML. Они просто инициированы в другом месте.