Spray,Akka-http和Play,这是新的HTTP / REST项目的最佳选择

时间:2015-03-24 09:04:22

标签: scala playframework akka spray akka-http

我将使用Scala和Akka Actors开发新的HTTP / REST服务。

我有使用Play的经验,但我并不需要一个完整的Web框架。 从我读到的,我认为Spray是一个合适的选择。 我的问题来自新的AKKA-HTTP之后Spray的未来。

Spray项目是否会独立于Akka-HTTP项目而增长,还是两个项目将合并为一个Akka-HTTTP?

如果我开始使用Spray进行开发,会产生什么影响? 另外我读到Play将集成AKKA-HTTP。 所以我终于想知道是不是应该选择Play?

感谢您的帮助。

5 个答案:

答案 0 :(得分:52)

Spray已准备就绪,但开发团队(Mathias Doenitz)现在在Akka-http上为Typesafe工作。

Akka-http的状态为"development preview"。在几个月内完成了完整版本的模糊承诺"但是没有什么可以带到银行。

2015年7月29日编辑:

  

Akka-HTTP的状态现在是#34;发布候选人"版本1.0 RC4。   它的功能主要与spray.io竞争,普遍的期望是spray.io将失去它的发展势头。   这时我不再推荐用于新项目的spray.io了。

来自Typesafe的Jonas Boner将Akka-http称为" Spray 2.0"。因此,不要期待任何未来版本的Spray,并且在某些时候你必须进行切换。我看到乔纳斯'在Scala Days上的Akka-http演示,看起来将Spray代码移植到Akka-http应该是直截了当的,因为DSL基本上没有变化(即使库的底层实现会有所不同)。

具体回答你的问题:Spray是作为一个单独的项目完成的,它被导入Akka,名称为Akka-http(不是合并,因为Akka没有任何等效的手)。如果您现在需要开始开发,请使用Spray,如果您能够负担得起预览版本中不可避免的错误,请使用Akka-http。您的Spray代码将永远不会停止工作,但它不会在小错误修复之外得到支持。所有新功能都将添加到Akka-http中,因此您不必更新到Spray 2.0,而是更新为Akka-http。

答案 1 :(得分:2)

您已在评论中回答了您的问题。只要您不需要处理UI,我建议您使用 Akka-HTTP或Spray.io

如果您从Spray.io开始,我认为您不会受到影响,因为有很多项目在Spray上运行他们的生产环境。

有关详细信息,请参阅以下链接。

FAQ SPray.io

Typesafe Press Release

由于

答案 2 :(得分:2)

好吧,如果你必须从头学习一切,我建议选择喷涂 - Akka hhtp文档真的不完整,很多路线指令还没有在akka.http上实现。我从akka开始,但我被迫去喷雾......

答案 3 :(得分:1)

Typesafe gets Spray(ed) | @typesafe

The Akka/Spray integration—named Akka HTTP—will provide an ideal way of producing and consuming embeddable REST services.

答案 4 :(得分:0)

根据Johannes Rudolph的说法

  

如果你想为(可能已经存在的)akka服务提供HTTP接口,那么这就是akka-http的用途

来源:https://gitter.im/akka/akka?at=5874fc9761fac5a03dbe1a6f