39
votes

I'm going to develop new HTTP/REST services using Scala and Akka Actors.

I have experience working with Play, but I don't really need a complete web Framework. From what I read, I think Spray is a suitable choice. My question come from the future of Spray after the new arrived AKKA-HTTP.

Does the Spray project will grow independently from the Akka-HTTP project, or are the two project going to be merged into one Akka-HTTTP?

What is the impact of this if I start developing with Spray? Also I read that Play will integrate AKKA-HTTP. So I finally wonder if a should not go with Play?

Thanks for your help.

5
I think Spray should merge in AkkaHTTP. It was announced, if I recall correctly.Diego Martinoia

5 Answers

53
votes

Spray is production ready, but the development team (Mathias Doenitz) works for Typesafe on Akka-http now.

The status of Akka-http is "development preview". There are vague promises of a full release "within a few months", but nothing you can take to the bank.

Edited 29-July-2015:

The status of Akka-HTTP is now "release candidate" with version 1.0 RC4. Its functionality is largely competing with spray.io, and the common expectation is that spray.io will lose it's development momentum. At this time I would not recommend spray.io for new projects anymore.

Jonas Boner from Typesafe has referred to Akka-http as "Spray 2.0". So don't expect any future versions of Spray and at some point you'll have to make the switch. I saw Jonas' Akka-http presentation at Scala Days and it looks like porting Spray code to Akka-http should be straight forward as the DSL is mostly unchanged (even though the underlying implementation of the library will be different).

To answer your questions specifically: Spray is finished as a separate project, it is being imported into Akka under the name Akka-http (not a merge as Akka didn't have any equivalent before hand). If you need to start development now go with Spray, if you can afford to work with the inevitable bugs in a preview release go with Akka-http. Your Spray code will never stop working, but it won't be supported either outside of minor bug fixes. All new functionality will be added in Akka-http, so instead of updating to Spray 2.0 you update to Akka-http.

2
votes

You have already given answer to your question in your comment. As long as if you don't need to deal with UI I would suggest go with Akka-HTTP or Spray.io.

I don't think you will have impact if you starts with Spray.io as there are many projects running their production environment on Spray.

For more details please refer below link.

FAQ SPray.io

Typesafe Press Release

Thanks

2
votes

Well, if you have to learn everything from scratch, I would recommend choosing spray - Akka hhtp documentation is really incomplete and a lot of route directives are not implemented yet on akka.http. I started with akka but I was forced to go to spray...

1
votes

Typesafe gets Spray(ed) | @typesafe

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

0
votes

As per Johannes Rudolph

if you want to provide an HTTP interface to (maybe already existing) akka services, then that's what akka-http is for

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