とあるIT屋の独白

ITや経営について主に書きます

Elmとはどのようなものなのか

「2019年にわざわざ学ばなくてもいい言語」第1位のElm。名前は聞いたことあるものの、私は全く触ったことなく今回少し調べてみました。ちなみに、私は第2位のCoffeeScriptは今でも少し書くことがあります。
Elmはフロントエンドを実装する際、主に用いられる言語です。言語の特徴としては関数型言語になり、HTMLのアイテムを関数で返すような形で実装していきます。実装のイメージは、下記の記事でまとめられています。

【【elm】2019年にわざわざ学ばなくてもいい言語でTodoアプリを作る】
http://www.aizulab.com/blog/elm-todo-example/

文法の詳細は、下記の記事にまとめられています。関数型言語というだけあって、Haskellっぽい書き方ですね。

【関数型リアクティブプログラミング言語Elmに学ぶ フロントエンド開発の新しい形】
https://codezine.jp/article/detail/8873

そして、実際にフロントを実装する際に個人的に気になった点を、調べてみました。
まずはイベントのハンドリング。下記の記事はプルダウンの、イベントハンドリングの実装です。発生するイベントと返したい値の関数を、定義する感じです。

【ElmでプルダウンメニューのonChangeイベント】
https://qiita.com/asmasa/items/f2db1c4f3320283f823c

次はCSS。「CSS in JS」のような感じ、ElmコードでCSSの設定ができるようです。普通のCSSを書くよりは、パッとみて見通しがよさそう。ロジックも書けるし。

CSS in JS(Elm)したら想像以上に良かった】
http://jinjor-labo.hatenablog.com/entry/2016/05/30/165816

最後にSPA。Elmではフレームワークは用意されてないのですが、以下の記事のようにテンプレートのような感じで実装することはできます。

【Elm SPA テンプレートを作った 1】
https://qiita.com/takmatsukawa/items/daed519ec3a1d3e3555d