11

Clojureベースの Web アプリケーションを構築する際に少し苦労しています。これは、Clojure Web エコシステムを探索するために始めた単純な CRUD アプリです。HiccupEnliveCompojureNoirなどのさまざまなライブラリを試しています(ただし、 Noir は廃止の瀬戸際にあるようです)。

私の質問は、実際には 2 つの質問です。1 つ目は、clojure Web アプリを構築するための規則が明らかに欠如していることです。次に、「豊富な」html コンポーネントを作成するためのヒントが必要です。

Clojure の方法で私が気に入っているのは、さまざまなライブラリを組み合わせて簡単に使用できることです。enlive をしゃっくりに置き換えても、その逆でも大したことではありません。すべてが単一の単純な役割を果たします。JSF のような複雑なフレームワークとは大きく異なります。

しかし、要点があります。この素晴らしい自由は、私を少し途方に暮れさせます。JSF では、すべての場所がどこにあるかを知っています。Spring を使用してすべてのコンポーネントを統合し、Spring-Security を使用してすべてのセッションを処理します。コンポーネント ライブラリのおかげで、html、javascript、および ajax の問題に対処するストレスから解放されました。

特に前述のコンポーネント ライブラリは、Clojure に欠けているものです。行の色の交互配置、ページネーション、列の順序付け、インクリメンタル フィルターなどの機能を備えたデータ テーブルのようなものを実装していることに気付きました。また、特に ajax が含まれている場合に、そのようなコンポーネントのブラウザーとサーバーの状態を同期する方法について疑問が残ります。ネット上で成熟した答えを見つけることができませんでした。

フレームワークの利点: ルールと制限を理解したら、アプリケーションを構築してビジネス ルールに集中できます。技術インフラストラクチャが処理され、気を散らすものであってはなりません。

Clojure の世界について、どのような提案がありますか? ClojureScript Oneは解決策ですか? 私はまだそれを調べていません。たとえばRichFacesデータテーブルのような同様の機能を提供するコンポーネントライブラリを知っている人はいますか? ajax を処理する好ましい方法はありますか?


4

1 に答える 1

4

私があなたに与えることができるのは、いくつかのガイドラインです:

  • JSON または EDF でクライアントとサーバー間でメッセージを交換する
  • クライアントの状態管理コードから GUI コードを分離する
  • ブラウザの外部でテストできるように、状態管理コードをクロスオーバーに配置します
  • クライアントの GUI コードが特定のライブラリから可能な限り独立するように調整し、アクティブなコミュニティと依存関係が最も少ないライブラリを選びます。
于 2012-12-16T23:19:23.267 に答える