7

我正在建立一个与人对人国际象棋网站有很多共同点的网站。我正在考虑将 Rails 用于前端(用户注册、导航等),并将 Scala 或 Erlang 之类的东西用于引擎(游戏状态,也许还有 AI)。我在想 -

  1. 这是使用这种设计的好情况吗?
  2. 究竟如何最好地划分组件之间的功能?
  3. 他们如何最好地相互交流?

我对任何技术或想法持开放态度。

4

6 回答 6

7

如果您将 Rails 用于前端,为什么不使用 Ruby?

如果你喜欢使用 Scala 的想法,为什么不使用Lift作为前端呢?

于 2010-01-20T04:09:22.863 回答
3

国际象棋是回合制的,并且有一个非常简单的棋盘,可以使用 HTML 和/或 Javascript 增强功能进行处理 - 因此基本模型与现有的 Web 框架非常吻合。

考虑到这一点,Rails 是创建基于 Web 的应用程序的绝佳选择。Rails 不仅限于 crud 应用程序,事实上我认为可以在 Rails/Ruby 中编写整个应用程序 - 你真的不需要外部引擎。

在浏览器空间内,轮询轮询更新可以使用 XMLHttpRequest 完成,并且数据库可以维护当前游戏和轮次状态。

于 2010-01-20T04:59:04.043 回答
3

对我来说,这就像一个简单的 Lift 应用程序。请注意,我没有使用 Lift 的经验,但它似乎并不比经常演示的聊天应用程序特别复杂。

于 2010-01-20T10:54:23.977 回答
2

我将从阅读http://www.htdp.org/如何设计程序开始。您提出的问题非常广泛且难以回答,除非在陈述前加上“我相信……”

我会用clojure对其进行编码(但这只是我)。

于 2010-01-20T03:01:55.343 回答
1

我目前正在使用 Scala 开发一套在线游戏。这真是太棒了——我的游戏逻辑更容易使用静态类型等,并且通过使用 Google 协议缓冲区,处理服务器/客户端协议(在本例中为 flash 客户端)变得更简单。

如果您是 RoR 的忠实粉丝,请务必使用它。我认为大多数静态类型的语言在(Java,我在这里看着你)编写网站时都很糟糕,但是 Scala 摆脱了 90% 的痛苦,并提供了更多的安全性。

当然,它可能不是你的那杯茶。但是我会尝试在 Scala 中完成整个工作,如果这对您来说还不够,则添加另一层。

于 2010-01-21T03:21:24.420 回答
1

对于问题 1 是,对于问题 2 和 3,您需要提供更多信息才能获得可以帮助您的答案。

现在我正在做类似你的事情,但对于前端我将使用 Grails。原因很简单:我喜欢 Grails、Scala,我想混合使用它们 :)

于 2010-01-21T13:13:21.773 回答