generated at
Halogenの学び方
めちゃくちゃ良い資料は、あるところにはあるので、それを順序立てて読んでいけば効率的に学べる
見つけた良い資料や、こういう順番で学ぶ良いかなというのをまとめておく
Halogenのversionごとに割と書き方が異なるので、そこに注意しながら各資料を読むと良い



めちゃくちゃ小さい例を見る


docsを読む
Halogenそのものに関する解説
メンテもされているし詳しい
順番に読んでいけば良い
が、文量が多いので、途中で具体的に実装例を見たり、実装してみたいなという気持ちになってくるので適当な箇所で中断する


この段階でHalogenの学び方#61379c6e198270000009bb4dを見ていたほうがスムーズかもしれない
Componentはさておき「type-level routingとはなんぞやワクワク」ぐらいの気分で臨む


中規模のものを見る
RealWorldのHalogen実装
簡単なRoutingやFormなど中規規模程度の実装例
これもメンテされている
コメントも豊富である
しかし、初見ではちょっとツライ
ということで↓の記事を読む
じゃっかん内容が古い部分もあるが、halogen-realworldのアーキテクチャの解説が親切に書かれている
これを読めばhalogen-realworldがHaskell Cakeというデザパタに則っていることが理解できる
これで全体の骨格が理解できるようになるので、あとは好きなようにcode readingできるようになる
ここで、また公式docsなどを読み返せばいい


練習のためにhalogen-realworldの縮小版をかいてみる
以下らへんの練習になる
haskell cakeに則った構成
routing-duplexを使ってのrouting
親子があるComponentの実装
halogen-realworldのアーキテクチャのまま、その縮小版みたいなのを書いてみた
halogen-realworldでもそうだが、routingにはpurescript-routing-duplexというLibraryが使われている
これはREADME読めば使い方はわかるが、halogen-realworldより先に見ていたほうがスムーズかもしれない


Halogen Storeについて学ぶ
これはHaskell Cakeのアーキテクチャを採用するなら使うと便利なLibrary


Halogen Hooksについて学ぶ
Componentの作り方がかなり楽になる
最初からこれに触れておくと、従来のHalogen Componentの書き方を学ぶのがだるくなる
学ばなくてもよいが、その辺に転がっているHalogenのコード片はだいたい従来の書き方をしているので、読めないと困る..mrsekut




他の実装例や資料
routing, global stateの管理, 外部APIとのやり取り, ダイアログの表示など
古いかも。参考程度に