7

私は、対人チェス サイトと多くの共通点を持つサイトを構築しています。フロントエンド (ユーザー登録、ナビゲーションなど) には Rails を使用し、エンジン (ゲームの状態とおそらく AI) には Scala や Erlang のようなものを使用することを考えていました。私は考えていた -

  1. これは、そのタイプのデザインを使用するのに適した状況ですか?
  2. コンポーネント間で機能を分割するには、どのように正確に行うのが最善でしょうか?
  3. 彼らはどのようにお互いにコミュニケーションをとるのが最善でしょうか?

私はどんな技術やアイデアにもオープンです。

4

6 に答える 6

7

フロントエンドに Rails を使用している場合、Ruby を使用しない理由はありません。

Scala を使用するアイデアが気に入った場合は、フロントエンドにLiftを使用してみませんか?

于 2010-01-20T04:09:22.863 に答える
3

チェスはターン制で、HTML や Javascript の機能拡張で処理できる非常にシンプルなボードを備えているため、基本モデルは既存の Web フレームワークと非常にうまく連携します。

これを念頭に置いて、Rails は Web ベースのアプリケーションを作成するための優れた選択肢です。Rails は単純なアプリケーションに限定されているわけではありません。実際、アプリ全体を Rails/Ruby で作成できると思います。外部エンジンは必要ありません。

ブラウザー空間内では、XMLHttpRequest を使用してターン更新のポーリングを行うことができ、データベースは現在のゲームとターンの状態を維持できます。

于 2010-01-20T04:59:04.043 に答える
3

私には単純な Lift アプリケーションのように見えます。私は Lift の経験がありませんが、頻繁にデモが行われるチャット アプリケーションよりも特に複雑ではないようです。

于 2010-01-20T10:54:23.977 に答える
2

http://www.htdp.org/ How to Design Programs を読むことから始めます。あなたが尋ねた質問は非常に広範で、「私はそれを信じています...」という文の前に付けずに答えるのは難しいです.

私はそれを clojure でコーディングします (しかし、それは私だけです)。

于 2010-01-20T03:01:55.343 に答える
1

私は現在、Scalaを使用して一連のオンラインゲームを開発しています。それは絶対に素晴らしかったです-私のゲームロジックは静的型付けなどではるかに簡単になり、サーバー/クライアントプロトコル(この場合はフラッシュクライアント)の処理はGoogleプロトコルバッファーを使用することで簡単になります。

RoRの大ファンなら、ぜひそれを使ってください。ほとんどの静的に型付けされた言語は(Java、私はここであなたを見ています)でWebサイトをプログラムするのはひどいことだと思いますが、Scalaは痛みの90%を取り除き、さらに安全性を高めます。

もちろん、それはあなたのお茶ではないかもしれません。しかし、私はScalaですべてを実行してみて、それでもうまくいかない場合は別のレイヤーを追加してみます。

于 2010-01-21T03:21:24.420 に答える
1

質問 1 について はい 2 と 3 については、役立つ回答を得るために、より多くの情報を提供する必要があります。

今、私はあなたのようなことをしていますが、フロントエンドには Grails を使用します。理由はとても単純です: 私は Grails と Scala が好きで、それらをミックスしたいのです :)

于 2010-01-21T13:13:21.773 に答える