Я пытаюсь получить первоначальное понимание того, как выглядит полное приложение Elm. В частности, как выглядит «стек». В качестве конкретного примера, скажем, у меня есть веб-сайт, который позволяет пользователям зарегистрироваться / войти в систему, а затем загружать фотографии и комментировать фотографии и комментарии других пользователей. Он предоставляет HTML, JavaScript и CSS и использует PHP и / или Perl на сервере. PHP / Perl взаимодействует с MySQL или Oracle. Если бы мне пришлось заново разработать этот сайт с Elm, какие части обрабатывает Elm и каковы общие / рекомендуемые варианты для остальной части стека?

elm
5
joeA 29 Май 2017 в 08:07

2 ответа

Лучший ответ

Вяз справляется с внешними обязанностями. Вы можете использовать его вместо javascript и использовать его библиотеки для создания необходимого html & css.

Для бэкэнда вы можете использовать любую технологию, какую захотите. Поскольку Elm - это функциональный язык, некоторые люди также выбрали функциональный язык для бэкэнда. Чаще всего я видел Elixir (Phoenix Framework) и Haskell.

Взгляните на обзор SPA Elm с открытым исходным кодом Для реального примера реализации интерфейса Elm для уже доступного бэкэнда.

9
pdamoc 29 Май 2017 в 08:11

Elm является чисто внешним интерфейсом, поэтому вам не понадобится php для создания HTML-кода.

Он обеспечивает широкий охват стандартного HTML, но исключает сервисных работников и некоторые другие современные веб-API - вы можете использовать javascript через интерфейс внешних функций Elm (называемый Ports).

Elm имеет готовую поддержку json из среды REST и мощные парсеры, если вам нужно использовать что-то другое (например, xml). Как предполагает Питер, вы можете захотеть использовать функциональный бэкэнд, но в этом нет абсолютно никакой необходимости (у меня есть Elixir и Node с успехом на сегодняшний день).

1
Simon H 29 Май 2017 в 18:51