喷雾(Spray)、Akka-http和Play,哪个对于新的HTTP/REST项目来说是最佳选择?

39
我将使用Scala和Akka Actors开发新的HTTP/REST服务。 我有使用Play的经验,但我并不需要完整的Web框架。从我所读的内容来看,我认为Spray是一个合适的选择。 我的问题是,随着新的AKKA-HTTP的到来,Spray项目的未来会怎样? Spray项目是否会独立于Akka-HTTP项目而发展,还是两个项目将合并成一个Akka-HTTP? 如果我开始使用Spray,这会产生什么影响? 此外,我也了解到Play将集成AKKA-HTTP。因此,我最终想知道是否应该选择Play? 感谢您的帮助。

1
我认为Spray应该合并到AkkaHTTP中。如果我没记错的话,这已经宣布了。 - Diego Martinoia
5个回答

53

Spray已经可以用于生产环境,但是开发团队(Mathias Doenitz)现在为Typesafe的Akka-http工作。

Akka-http的状态是"development preview"。有模糊的承诺会在“几个月内”发布完整版本,但没有什么可以让你放心的。

编辑于2015年7月29日:

Akka-HTTP现在的状态是“发布候选人”,版本号为1.0 RC4。 它的功能大部分与spray.io竞争,共同期望是spray.io将失去其开发动力。 此时我不再推荐spray.io用于新项目。

Typesafe的Jonas Boner将Akka-http称为“Spray 2.0”。因此,不要期望Spray的任何未来版本,而且在某个时候您必须进行转换。我在Scala Days上看到了Jonas的Akka-http演示,它看起来将Spray代码移植到Akka-http应该很容易,因为DSL大部分都没有改变(即使库的底层实现将是不同的)。

具体回答你的问题:Spray已经作为一个独立项目完成,现在被重新命名为Akka-http并导入到Akka中(这不是合并,因为之前Akka没有任何相当的功能)。如果你现在需要开始开发,请使用Spray;如果你能够承受预览版本中不可避免的错误,请使用Akka-http。你的Spray代码永远不会停止工作,但它也不会得到支持,除了小bug修复以外。所有新的功能都将添加到Akka-http中,因此你应该将更新从Spray 2.0改为Akka-http。


一年过去了:现在的状态如何? - Andy Hayden

2

如果你需要从零开始学习,我建议选择spray - Akka的http文档非常不完整,许多路由指令在akka.http上尚未实现。我起初使用了akka,但最终被迫转向spray...


4
FYI,随着Akka HTTP 2.0-M1版本的发布,文档有了显著改进。 - Tim Harper

2
您已经在评论中回答了自己的问题。只要您不需要处理UI,我建议使用Akka-HTTP或Spray.io。
我认为如果您开始使用Spray.io,不会有影响,因为许多项目都在其生产环境上运行。
有关更多详细信息,请参阅下面的链接。
FAQ Spray.io: FAQ SPray.io Typesafe Press Release: Typesafe Press Release 谢谢。

1

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接