2016-04-18 7 views
7

私は、という単一の定義に基づいて、Webコンテキストで完全なCreate Read Update Delete(CRUD)を完全に生成できるはずです。それは、次のとおりです。clojure/clojurescript形式の汎用CRUDには何かありますか

  • クライアント:多分インライン編集と操作のためのインタラクティブなHTMLデータ・テーブル・コンポーネントなど
  • クライアント:スキーマから推定される検証を、単一のレコードを編集するなどのためのフォームコンポーネント
  • サーバ:前記コンポーネント(RESTエンドポイント)を投入し更新するためのデータにアクセスするためのルート
  • サーバー:SQLテーブルなどのデータを永続化するための実装。

理想的には、私は名前と姓とアドレスフィールドを持つPersonデータ型のスキーマを定義してから(defcrud Person my-person-schema)のようなマクロや関数を呼び出すと動作しますが、Webページに移動したり、データテーブルを参照したり、データを編集/削除したりできます、データをサーバーにすべて保存します。

私の質問は、上記のように何か(または部分的に)何かがクロージャーの世界にありますか?

私の最近の最初の完全なclj/cljsプロジェクトでは、この基本的なもののために多くのコードを書いていました。昔、SmartGWTと呼ばれるGWTフレームワークを使用したとき、new ListGrid(myDataSource)を定義し、データソース(スキーマと同等)を定義し、残りは推測されました(少なくとも適切なデフォルトを持つもの)。

高度な開発のSmartGWTは、私が非常に頻繁に構築する必要がある種類のビジネスアプリケーションに対して真のラピッドプロトタイピングを可能にするものです。 GWTには大きなアプリケーションのコンパイル時間が非常に遅く、Javaを書く必要があるという難点がありますが、Clojureで探しているサーバとクライアントの統合のレベルです。

答えて

3

免責事項、私はclosp-crudの著者です。

まず、私のライブラリをヒントしてくれてありがとう@mac。

第2に、あなたが求めているのは、私が達成したいと思っているものですが、別のやり方です。 あなたがコードを推論するようなことをするときに起こるすべての魔法が嫌いです。私のアプローチは、そのすべてのコードが異なっているので:

  • HTMLテンプレート
  • ルート
  • 移行
  • DBアクセス

が生成され、完全に後から変更することができます。
もちろんこれには他にも欠点がありますが、私はそれをうれしく服用します。

しかし、ドキュメントはまだ不足していますが、私は先週、http://closp.netとインセンティブを開始し、作業を続けます。
必要な場合は、closp-crudのドキュメントを追加することもできます。

私は2日前に紹介ビデオを作成しました:https://www.livecoding.tv/sveri/videos/wrnL1-clojure-closp-webframework-41これは非常に基本的な方法でclospとclosp-crudの使い方を示しています。
closp-crudの使用は約12分です。

3

clospclosp-crudがあります。それはあなたの道の一部を取るでしょう。

関連する問題