Clojureベースの Web アプリケーションを構築する際に少し苦労しています。これは、Clojure Web エコシステムを探索するために始めた単純な CRUD アプリです。Hiccup、Enlive、Compojure、Noirなどのさまざまなライブラリを試しています(ただし、 Noir は廃止の瀬戸際にあるようです)。
私の質問は、実際には 2 つの質問です。1 つ目は、clojure Web アプリを構築するための規則が明らかに欠如していることです。次に、「豊富な」html コンポーネントを作成するためのヒントが必要です。
Clojure の方法で私が気に入っているのは、さまざまなライブラリを組み合わせて簡単に使用できることです。enlive をしゃっくりに置き換えても、その逆でも大したことではありません。すべてが単一の単純な役割を果たします。JSF のような複雑なフレームワークとは大きく異なります。
しかし、要点があります。この素晴らしい自由は、私を少し途方に暮れさせます。JSF では、すべての場所がどこにあるかを知っています。Spring を使用してすべてのコンポーネントを統合し、Spring-Security を使用してすべてのセッションを処理します。コンポーネント ライブラリのおかげで、html、javascript、および ajax の問題に対処するストレスから解放されました。
特に前述のコンポーネント ライブラリは、Clojure に欠けているものです。行の色の交互配置、ページネーション、列の順序付け、インクリメンタル フィルターなどの機能を備えたデータ テーブルのようなものを実装していることに気付きました。また、特に ajax が含まれている場合に、そのようなコンポーネントのブラウザーとサーバーの状態を同期する方法について疑問が残ります。ネット上で成熟した答えを見つけることができませんでした。
フレームワークの利点: ルールと制限を理解したら、アプリケーションを構築してビジネス ルールに集中できます。技術インフラストラクチャが処理され、気を散らすものであってはなりません。
Clojure の世界について、どのような提案がありますか? ClojureScript Oneは解決策ですか? 私はまだそれを調べていません。たとえばRichFacesデータテーブルのような同様の機能を提供するコンポーネントライブラリを知っている人はいますか? ajax を処理する好ましい方法はありますか?