Reagentの勉強が1ヶ月ほど中断してしまいました。ClojureScriptの世界では依存パッケージのアップデートやReagentの使い方も新しくなっていると思います。Reactのようなライブラリを使う場合は特に動きが速いので、すぐに取り残されてしまいます。
SPAの要件
SPAのフォームに必要な要件を考えてみました。
- Bootstrapに対応
- AjaxやWebSocketを使ったデータバインディング
- APIや使い方のドキュメントが豊富にあること
- よく使うコンポーネントがデフォルトであること
- Reactにこだわりませんが、リアクティブであること
REST APIサーバーはHapi.jsやactionhero.jsで実装したアプリを使おうと思います。まだClojureのフルスタックの構成が馴染めていないので、クライアントとサーバーを疎結合にして実装を切り換えることができるのもSPAの良いところだと思います。
Reagentで使えるフォームライブラリ
Reagentに対応したフォームのライブラリにはコンポーネント単位のものからReagentを拡張したフルスタックフレームワークまで結構豊富にあります。
reagent-forms
reagent-formsはオフィシャルのReagentプロジェクトのライブラリです。Bootstrapに対応しています。
re-com
re-comはre-frameの姉妹プロジェクトです。それぞれ独立して使えますがあわせて使うと良いみたいです。Bootstrapに対応しています。Material Design Iconic Fontも付いてます。ドキュメントがしっかりと書かれているので信頼できます。
Rente
Renteはcore.asyncとWebSocket/AjaxライブラリのSenteにReagentに対応させたフレームワークです。Bootstrap対応です。
core.asyncとWebSocket/AjaxライブラリのSenteをReagentに対応させたフレームワークのようです。Bootstrap対応です。
前回調べたサーバーとの通信方法を考えると、Renteが一番よさそうな感じです。