中規模のClojureサンプルアプリケーション?


96

「ベストプラクティス」の例として使用できる中規模のClojureサンプルアプリケーションはありますか。また、このようなアプリケーションがコードとコード編成の観点からどのように見えるかを確認する良い方法はありますか?Webアプリケーションは私にとって特に興味深いでしょうが、最も重要なことは、プログラムが一般的に役立つ何か(ブログ、バグ追跡、CMSなど)を実行することであり、実際に実装する必要がなかった数学的なものではありません世界(N-クイーン問題の解決、生命のシミュレーション、フィボナッチ数列の生成、および関数プログラミング言語の通常の運賃)。

ありがとう!


私はこれとまったく同じ質問をするつもりでした。それが「現実の世界」でどれほど実用的であるのか不思議に思う
ScArcher2

5
人々はこの「現実の世界」に窒息しすぎています
レイン

私はそれを使ってIRCボットを作りました、それはそれのための完璧な言語です(パフォーマンスは問題ではなく、ホットスワッププラグイン、出力は入力-関数と関連しています)。他のほとんどの用途では、あまり良くありません。CPUの浪費が多すぎ、特にメモリ使用量、メモリのチャーン、キャッシュミスが多すぎる。
RokL 2011

回答:


42

ブライアン・カーパーの牛のブログをお勧めします。著者によると、それはあなたの目的を念頭に置いて書かれました。


2018年現在、牛のブログは指示に従ってコンパイルされていません。lein deps次のメッセージで失敗します: `` `clojarsからgaka / gaka / 0.1.0 / gaka-0.1.0.pomを取得していますTLSなしで安全でないHTTPリポジトリを使用しようとしました。これは間違いなく間違いです。ただし、まれに意図的な場合は詳細を参照lein help faqしてください。TLSなしで安全でないHTTPリポジトリを使用しようとしました。これは間違いなく間違いです。ただし、まれに意図的な場合はlein help faq、詳細を参照してください。`` `
テオドール

19

あなたが閲覧した場合のClojure-contribののソースコードを、あなたはライブラリがClojureの中に実装されているかを見ることができます。

同じソースツリーの下にある「ClojureScript」をチェックアウトすることもできます。

Clojureの非常に小さなサブセットで記述されたコードを自動的にJavaScriptに変換できるようにします。

ClojureScriptトランスレータは完全なClojureアプリです。

また、スチュワートハロウェイのPort of Practical Common Lispサンプルをチェックして、Clojureにまだ持っていない場合はチェックすることをお勧めします。


モノリシックなClojure Contribライブラリは廃止されました。dev.clojure.org / display / doc / Clojure + Contrib(ClojureはGithubのrichhickeyリポジトリから公式のclojureリポジトリ)
Sean Corfield

15

見てくださいCompojureを。これはClojureで記述されたWebフレームワークであるため、Clojureで(組み込みJettyで)有用なWebアプリケーションを記述して実行でき、実際のClojureコードのかなりのチャンクの良い例としても機能します。

現在開発が進んでおり、役立つGoogleグループがあります。


1
ほとんどのコードはCompojure Ringから削除されているので、今見るべき場所かもしれません。
Mac

CompojureのHTML生成コードの多くは、今、私は信じていしゃっくりの一部(あるgithub.com/weavejester/hiccup
mikera

10

Clojureの作者であるRich Hickeyが作成したantデモを確認してください。

http://clojure.googlegroups.com/web/ants.clj

以下に、emacs開発環境とともにセットアップするための優れた手順を示します。

http://riddell.us/clojure

このコードに沿ったリッチのプレゼンテーションもチェックしてください。

http://blip.tv/file/812787


1
ソースを表示しようとすると、リダイレクトされ続けます。奇妙なことに、Googleでも見つけられないようです。
AnnanFay 2011

blip.tvリンクがyoutube.com/watch?v=dGVqrGmwOAwにあるようです。コードの説明は、プレゼンテーションの約1時間24 分から始まると思います。
ロジャーアレン

7

Clojure自体がClojureのベストプラクティスの良い例です。Core.cljの一番下を読んでください。



5

Compojureはおそらく例を示すための最良の方法だと思います。「中規模」の例ではないかと思いますが、小さなサブセクションが機能する可能性があります。少なくとも、それが私のアプローチになるでしょう。 笑顔

また、チェックアウト

http://github.com/technomancy/mire/tree/master

これは、clojureに組み込まれた小さなマッドクライアントプロトタイプです。利点は、完全に自己完結型であり、関連する概念を含めてかなり単純であることです。ドキュメンテーション、ええ、それは大丈夫ですが、コード内の概念は、簡単に実行されるMUDのアクション要素に非常に密接に関連しています。


5

この質問から2年が経過しましたが、それはまだ言語のサイクルの初期段階ですが、Clojureは本格的な制作作業に確実に使用されています。World Singlesでは、Webプラットフォームであらゆる種類の汎用タスクを処理するClojureのラインが数千あります。これについては、Real World Clojureシリーズでブログに投稿しました。

ない正確なアプリケーションが、知名度の高いインフラストラクチャ- -いくつかの合理的に大規模なオープンソースプロジェクトのために、あなたはで見ることができるのTwitterから嵐BackTypeからCascalog(ツイッターの今一部)。4clojure.comはオープンソースのWebアプリケーションとして言及されていますが、これも一見の価値がありますが、4clojureの新しいgithubリポジトリに注意してください


3

肯定的な兆候:InfoQに関する記事「Clojureが大規模な実稼働配備で使用されているという最初に公開されたレポートの1つ」についての記事があります。オープンではないように見えますが、少なくとも実際のプロダクションの世界でミッションクリティカルなアプリケーションで使用されているClojureの兆候です。Clojureコミュニティにとって大きな一歩。




1

サーバー側とクライアント側の両方で非常に有望なWebフレームワークであるPedestalをチェックすることをお勧めします(ClojureScriptを容易にする)。GUIの要素を理解するのは少し難しいですが、大規模なアプリで正気を保つには、かなりの方法でそれを行う必要があります。


1

edgeは、Clojure、ClojureScript、Component、Yada、Aero、およびBootを使用したアプリケーションの構造化を紹介する適度なサイズのアプリケーションです。


0

Clojureはまだ若すぎて、利用可能なソースコードを備えた中規模のアプリケーションを持つにはまだ動いています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.