2011-05-16 62 views
3

我一直在从事一个项目,写一个游戏的传播和服务平台,这将使游戏开发人员能够轻松游戏外包分发和更新,以及提供多人/社区的某些部分,如成绩,排名,朋友,这样的作为SOAP或REST API形式的Web服务。编写可扩展的web服务服务器最好的语言/库选择是什么?

我不知道它是在获得市场份额方面如何可行的,但没有一个较低的应用程序应该写成,以便吸收可能的任何用户数量规模以及水平。由于该项目尚处于早期阶段,因此我对使用的语言和技术有一定程度的影响。

到目前为止,我的研究已经缩小选择向下要么二郎或基于JVM的语言。
Erlang因其专注于可扩展和容错分布式应用程序以及可靠的记录而广为人知,但另一方面,它的图书馆生态系统与JVM一样丰富。另一方面,JVM语言享有一个拥有众多图书馆的大型社区,其中许多图书馆努力提供分布式和可靠的服务,例如Terracota或Akka(似乎受到Erlang的启发,尽管我不知道多少钱它接近的力量,并希望听到它)。
由于语言生产力与平台的强度和可靠性同等重要,如果我使用JVM,我会倾向于使用Scala或Clojure而不是Java。 当然,如果您认为有另一种语言(JVM或非Java)更适合这样的任务,我很有兴趣了解它。

我不想阅读语言的酷炫功能的子目录列表,因为这就是我自己可以谷歌,我宁愿对自己的经验写作这样的应用感兴趣(有点在那些blogposts - link),不仅涉及原始表现,还涉及语言和图书馆问题。

我想听听你的(或贵公司)的语言和技术选择是哪种类型的项目,是什么激发了这样的选择,你使用所选平台的经历是什么以及它最终提供了什么。
所有见解将不胜感激; )

+0

Erlang可能会规模最简单,但它开始时表现非常糟糕。我只能说,如果一个快速的开发时间比你想运行的服务器的数量更重要。 – 2011-05-16 20:27:47

回答

5

鉴于你在二郎最初的兴趣,我不得不说斯卡拉。

Scala的演员们直接二郎启发,阿卡开始(长以前的事了)作为Erlang的OTP到Scala语言的端口。

Scala和阿卡是在商业环境中使用的强大的解决方案,并通过the recently formed "Typesafe" company很好的支持。另外,您在JVM平台上运行所有优势。