Elm 简介
Elm 是一种编译为 JavaScript 的函数式语言。它帮助你创建网站和 Web 应用程序。它非常注重简洁和优质工具。
本指南将
- 教授你在 Elm 中进行编程的基础知识。
- 向你展示如何使用Elm 架构创建交互式应用程序。
- 强调适用于任何语言编程的一般原理和模式。
我希望在本指南结束时,你不仅能够使用 Elm 创建出色的 Web 应用程序,而且还能理解让 Elm 使用起来很不错的核心概念和模式。
如果你还在犹豫,我完全可以保证,如果你体验一下 Elm,并使用它创建一个实际项目,你最终将写出更好的 JavaScript 代码。这些概念很容易传递!
一个快速示例
这是一个允许你对数字进行增减的小程序
import Browser
import Html exposing (Html, button, div, text)
import Html.Events exposing (onClick)
main =
Browser.sandbox { init = 0, update = update, view = view }
type Msg = Increment | Decrement
update msg model =
case msg of
Increment ->
model + 1
Decrement ->
model - 1
view model =
div []
[ button [ onClick Decrement ] [ text "-" ]
, div [] [ text (String.fromInt model) ]
, button [ onClick Increment ] [ text "+" ]
]
请在在线编辑器中试用 此处。
该代码乍一看肯定很陌生,因此我们很快就会了解此示例是如何工作的!
为什么会有函数式语言?
你可以从函数式风格编程中获得一些好处,但有一些东西你只能从函数式语言(如 Elm)中获得
- 实际上没有运行时错误。
- 友好的错误消息。
- 可靠的重构。
- 对所有 Elm 包自动执行语义版本控制。
没有任何 JS 库组合可以为你提供所有这些保证。它们来自该语言的设计本身!并且,由于提供这些保证,Elm 程序员经常表示他们从未在编程时如此有信心。有信心快速添加新特性。有信心重构数千行代码。但不必担心错漏重要内容!
我非常注重让 Elm 易于学习和使用,因此我只要求你体验一下 Elm,看看你的想法。希望你能有惊喜收获!