Ruby on RailsのようなWebフレームワークでは、特定のリクエストを処理するために必要なデータベースクエリは、コントローラクラスのクライアントにページが渡される前に発生しますが、clojureのようなものはありません。データベースクエリーとそのようなものは、クロージャーWebアプリケーションでどこで処理されるべきですか?私の腸は、ちっくらのページ内で関数を呼び出し、その関数内でHTMLを生成するように指示していますが、わかりません。あなたの時間と配慮していただきありがとうございます。clojureでWebアプリケーションを構築するとき、ページの準備はどこに属していますか?
答えて
Clojureには多くの「フルスタック」Webフレームワークはなく、ほとんどのClojure Webアプリケーションは1つで構築されていません。さまざまなことに対応するフレームワークとツールのコレクションがありますが、これらのコンポーネントをビルディングブロックとして使用してアプリケーションを開発する可能性があります。ルーティング機能、認証、ビューレンダリング、テンプレート、RESTful Webサービス、および永続性の選択肢があります。特定の物事があなたのアプリケーションに行くべき
あなたのアーキテクチャに依存します - 典型的な、3-tierMVC WebアプリケーションはCQRS、CEPを使っている本格的なスケーラブルなアプリ、あなたは次のFacebookやTwitterの構築を支援し、他の派手なパターンの中から違って見えます。
3層MVCアーキテクチャーを使用して概念的にWebアプリケーションを設計する場合は、ビューレイヤー、ビジネスロジック、および永続性レイヤーが明確に分離されます。アレックスが彼の答えで言ったように - それはおそらく、これらのことを結びつけるコントローラーだろう。複雑なビジネスロジックを持たない場合、コントローラはビューを構築するロジックに渡す前に、永続性レイヤーから関数を直接呼び出すことがあります。
「ミドルウェア」内のパーシスタンス層からデータを取得することが有用な場合があります。要求が到着するたびにRingによって呼び出される関数です。これは、ログインしたユーザーなど。
- あなたのビルディングブロックのためのオプションの数:Mature Clojure web frameworks?
- ほとんど(全て?)のClojureのルーティング/要求処理の枠組みがRingの上に構築されているの。その外観は次のとおりです:http://brehaut.net/blog/2011/ring_introduction
IMOでは、ビューを生成するコードによって関数を呼び出す必要があり、関数の結果を使用してビューをレンダリングする方法が決定されます。 Clojureの観点から見ると、コントローラはルータによって呼び出される関数と見なすことができます。
私はclojureのウェブスタックで全く遊んだことがありますか? –
- 1. ClojureでWebダッシュボードを構築することは可能ですか?
- 2. Facebookのカスタムオーディエンスに基づく「準備完了」と「準備ができていない」フィルタリングはどこですか?
- 3. トリガーなどを使用してドキュメントの準備をする準備ができていますか?
- 4. ネイティブWebアプリケーションを構築するにはどうすればいいですか?
- 5. djangoでoracleを使用するときにポータブルWebアプリケーションを構築することは可能ですか?
- 6. 良いWebルックアンドフィール標準を構築するには
- 7. IronPythonとASP.NET:プライムタイムの準備はできていますか?
- 8. データベースを接続してドラッグ&ドロップWebアプリケーションを構築するにはどうすればいいですか?
- 9. インターネットを必要とせずにイントラネットWebアプリケーションを構築できますか?
- 10. TFSエージェント不足しているwebアプリケーションを構築する
- 11. Clojure Webアプリケーション - どこから始めますか?
- 12. どのようにWebアプリケーションを構想していますか?
- 13. PHPでリモートファイルマネージャを構築することはできますか?
- 14. ビジュアルスタジオチームサービスを使用して複数のWebアプリケーションを含むソリューションを構築し、これらのWebアプリケーションをazureに配備する
- 15. ソリューションをWebアプリケーションに配備して、そのWebアプリケーション内でその機能が表示されるようにすることはできますか?
- 16. Qt3Support:私はここからQT3アプリケーションを構築しようとしている
- 17. とにかくclojureでラムダ関数を構築するにはどうしますか?
- 18. 私のWebページにNodejsアプリケーションを配備するには?
- 19. Scalaマクロ用のASTの構築については、どこで知ることができますか?
- 20. Flaskを使ってオフラインWebアプリケーションを構築するには?
- 21. キッチンコンバージドで準備ができています。クライアント.rbを準備中
- 22. LAMPからSAMPへ移行する際の準備と準備について
- 23. DrupalエンタープライズのZenテーマは準備ができていますか?
- 24. RabbitMQ生産のHIPEは準備ができていますか?
- 25. Knockback.jsの製作は準備ができていますか?
- 26. ピラミッドはプライムタイムの準備ができていますか?
- 27. JRubyはプロダクションの準備ができていますか?
- 28. symfony2の準備はできていますか?
- 29. ビューにマジック文字列を含まないASP MVCアプリケーションを構築することはできますか?
- 30. Imはionic2のアプリケーションを構築することができません
ここに私の帽子を投げたかったので、私はclojureのための完全なスタックフレームワークを作っています:[clojureの海岸](https://github.com/swlkr/coast)、それはhiccupを使いますが、レールのやり方は、積極的な記録式なし。試してみる! – swlkr