Elm에 대하여

Elm은 JavaScript로 컴파일 되는 함수형 언어입니다. React와 같은 웹 사이트나 웹 어플리케이션을 만드는 데 사용하는 툴과 경쟁하고 있죠. Elm은 간결함과 쉬운 사용성, 코드 품질등에 초점을 맞추고 있어요.

이 가이드에서 알려드릴 것들:

  • Elm 프로그래밍 기초를 배울 수 있어요.
  • Elm 아키텍쳐를 통해 인터랙티브 어플리케이션을 어떻게 만들 수 있는지 보여드릴게요.
  • 다른 프로그래밍 언어에도 적용되는 원칙과 패턴을 강조할 거에요.

가이드를 마치고 나서, Elm으로 훌륭한 웹 어플리케이션을 만들기를 바라요. 또한 Elm을 멋있게 사용할 수 있는 핵심적인 관념도 가지셨으면 좋겠어요.

아직도 망설이고 계신다면, 제가 도움이 될 것이라는 걸 보증할게요. Elm으로 실제 프로젝트를 만들어보신다면, 프로젝트가 끝났을 때 더 나은 JavaScript와 React 코드를 작성할 수 있을 것이, 생각의 전환이 쉬워질 거에요!

간단한 예제

Elm은 물론 좋아요! 한번 직접 봐보세요.

이건 간단한 카운트 앱이에요. 코드를 보시면 알겠지만, 그냥 카운트를 증가시키고 감소시킬 수 있는 거죠.

import Html exposing (Html, button, div, text)
import Html.Events exposing (onClick)

main =
  Html.beginnerProgram { model = 0, view = view, update = update }

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 (toString model) ]
    , button [ onClick Increment ] [ text "+" ]
    ]

updateview 가 완벽하게 분리된 걸 보세요. 여러분은 서술적인 HTML 만들고, Elm이 지저분한 DOM을 처리해주죠.

왜 함수형 언어인가요?

그동안 함수형 프로그래밍에 대해 들어왔던 것들은 잊으세요. 멋진 단어들로 형용된, 이상한 생각들이 합쳐진 안좋은 도구... 으익! Elm은 그냥 다음과 같은 거에요.

  • 실행중 런타임 예외가 발생하지 않아요. Null이 없고 undefined도 없죠. 이것들은 함수가 아니기 때문이죠.
  • 친절한 에러 메시지가 기능을 빨리 추가할 때 도움이 되요.
  • 잘 구조화 된 코드가 앱의 규모가 커져도 지속적으로 구조화가 잘됩니다.
  • 모든 Elm 패키지에 대해 자동적으로 유의전 버전을 강제해요.

JS 라이브러리를 조합해서 사용할 순 없지만 Elm에선 모든 것이 쉽고 자유롭답니다. 현재 이런 게 가능한 이유는 Elm이 40년 이상의 역사를 갖는 타입 함수형 언어 기반이기 때문이죠. 그렇기 때문에 함수형 언어인 Elm을 배우고, 이 가이드를 읽기 위해 몇 시간을 투자하는 하는 것은 실제로 가치가 있는 일이에요.

전 Elm을 쉽게 배우고 사용하는데에 초점을 맞췄어요. 여러분들께서 Elm을 접해보고 판단하시길 부탁드려요. 개인적으론 여러분들이 너무 좋아서 깜짝 놀라길 바랍니다!

results matching ""

    No results matching ""