今年からElmを始めた私が、自分用にブックマーク集を作りました。
Elmのコミュニティは日々拡大しているので、誰かの役に立つかもしれないと思い公開します。
Elmを習得するにあたって自分が実際に参考にした記事を集めました。
少し上級者向けだなと感じた記事や、作ってみた系の記事は除外しています。
気になったら普段通りに検索するなどしてください。
どんな言語?
-
はじめに · An Introduction to Elm
→ Elm の公式ガイドを、日本コミュニティの皆さんが日本語訳してくださいました。
Elmの開発者:Evan Czaplickiによるオリジナル版(英語)
学習の進め方
-
2019年 Elmをはじめる人が最初に読むページ - @arowM | Qiita
→ 「ヤギがノイズだなぁ」くらいの人は、そのうち慣れると思うので我慢して読んでください。
ちなみに、私はタヌキが好きです。 -
Elm 本書きました - ジンジャー研究室
→ 『基礎からわかるElm』の登場で、Elm入門のハードルは大きく下がりました。
先へ進む前に、この本の内容をマスターすることをお勧めします。
Elm の文法
カスタム型
Elmのいちばん楽しいところだと思っています。
JavaScriptにもほしい。
- カスタム型 · An Introduction to Elm
- Elmカスタム型超入門 - @ababup1192 | Qiita
- 値が制約を満たしていることを型で保証する - @arowM | Qiita
- 「ADT, 直和・直積, State Machine」- @ymtszw | Qiita
Maybe
Maybeは後回しにせず、最初に見かけたときにしっかり覚えておきたい。
エラーメッセージで指摘されることがあるので、その前に理解しておくと気楽です。
-
Maybe · An Introduction to Elm
→ 公式ガイドを読んで理解すれば、困ることはないと思っています。
The Elm Architecture
-
Elm 0.19 の初期化方法 6 種類 - @jinjor | Qiita
→ 特に Browser.sandbox と Browser.element の変化を意識すると、Elmアーキテクチャ全体の理解が早まると思います。
elm/http
-
HTTP · An Introduction to Elm
→ 使うだけならば、どうということはないんです。 -
ElmでHttpをわかってしまおう - @ababup1192 | Qiita
→ この記事は初心者が追うには少し大きすぎる印象がありました。
最初のうちは読み飛ばしていい記事だと思っています。
でも、あとでここに戻ってくることになるかもしれません。
私の場合は、複数のJSONを同時に取得したくなった時にこの記事を参考にしました。
elm/json
Decoderについては、記事の本数が少ない印象があります。
「一度わかってしまえば怖くない」けれど、初心者にとっては壁。
ここを乗り越えると、Elm Packagesを自分で読み進める勇気が得られます。
-
ElmでJSON APIを叩く最低限 - @dyoshikawa | Qiita
→ @dyoshikawaさんの記事が出た時に「やっぱりここ苦労するよね」とホッとしました。笑
Elmに慣れてきて改めて見直してみると、Http.requestの部分はHttp.getでも行けそうな気がします。 -
[Elm] Decoder a からいろいろ理解ってしまおう - @ymtszw | Qiita
→ @ymtszwさんの記事を必死に読んで、ようやくDecoderが怖くなくなりました。
elm/time
他の言語と比べて、Elmは時間や日付の扱いが少し苦手な言語という印象があります。
-
Elm TDDしながらelm/timeで日付の変換をする - @ababup1192 | Qiita
→ 実際には @ababup1192 さんの、この記事を見て実用的な書き方を習得しました。
elm/timeで足りない時は、justinmimbsさんのtime-extraで補いましょう。
- elm/time の使い方 - チェシャ猫の消滅定理
- Elmで日付を扱うならとりあえずこれ、なパッケージたち。 - @tmKentauros | Qiita
- Elmで日付を扱う0.19編 - @miyamo_madoka | Qiita
JavaScriptとの相互運用
必要な時は使おう。
Elm Packages
-
Elm Packages
→ 公式ガイドの次に重要なドキュメントのひとつがElm Packagesです。
JavaSctiptから入った人は型の表記に慣れるまで苦しいかと思いますが、そのうち慣れます。
がんばって!
elm/svg
joakin/elm-canvas
開発環境
-
Elmでの開発用テンプレート elm-starfighter を作った - @y047aka | Qiita
→ 私の作ったElm開発用のテンプレートです。(V1 リリースに向け作業中)
Elm初心者に優しいテンプレートを目指しています。
使ってもらえると嬉しい。
ブックマーク集なので、気まぐれに更新していきたいと思います。