I'm trying to get an initial understanding of what a full Elm application looks like. In particular what the "stack" looks like. As a concrete example, let's say I have a website that allows users to register/login and then upload pictures and comment on others' pictures and comments. It delivers HTML, JavaScript, and CSS, and uses PHP and/or Perl on the server, The PHP/Perl interacts with MySQL or Oracle. If I were to re-develop this site with Elm, what parts does Elm handle and what are the common/recommended choices for the rest of the stack?
答案 0 :(得分:8)
Elm处理前端职责。您可以使用它而不是javascript并使用其库来生成所需的html& CSS。
对于后端,您可以使用您想要的任何技术。由于Elm是一种函数式语言,有些人也为后端选择了一种函数式语言。我见过的最常见的是Elixir(Phoenix Framework)和Haskell。
请查看Tour of an Open-Source Elm SPA,了解为已有的后端实现Elm前端的真实示例。
答案 1 :(得分:1)
榆树纯粹是前端,所以你不需要任何php来创建HTML代码。
它提供了标准HTML的广泛覆盖,但不包括服务工作者和其他一些现代Web API - 您可以通过Elm的外部函数接口(称为Ports)使用javascript。
Elm从REST环境开始支持json,如果你需要使用其他东西(例如xml),则需要强大的解析器。正如彼得所建议的那样,你可能想要使用一个功能性的后端,但绝对没有必要(我已经Elixir和Node取得了成功)。