スプレーは本当に素晴らしいフレームワークであり、その背後には非常に賢い人がいます。機能と同時ユーザーの両方の観点から適切に拡張できる単純なコードを提供します。読みやすいアプリケーション(優れた構造、どのURLがどの機能にマップされているかを簡単に見つけることができるなど)を作成したい場合は、Sprayが最適です。
しかし、すべてが素晴らしいわけではありません。
アッカとの緊密な結合は両面刀です。単純なアプリケーションの場合、不必要な複雑さが加わります。スプレーに行く前にアッカを受け入れたい場合は慎重に考えてください。
現時点では、Spray(1.1M4)のディレクティブに関するドキュメントは非常に限られているため、ほとんどの場合、高度なScalaコードを読んで、頭を悩ませています。
これまでのところ、下位互換性は真剣に受け止められていません。アップグレードするときは、すべてのコードに触れることを期待してください。これは、Sprayと同じくらいAkkaとScala自体のせいです。これが気に入らない場合は、SpringMVCのような退屈で信頼できるものを使用してください。
使用されるScala言語構造は正しく解析するのが非常に難しいため、ほとんどのIDEが失われ、実際のコンパイラーがその仕事をするのを待ってから、何に反対しているのかを知る必要があります。コードは読みやすいと前に言いましたが、それは高レベルにすぎません。何が起こっているのかを簡単に把握できますが、実際に何が起こっているのかを把握するには、頭の中にたくさんのスタックスペースが必要になります。
私は本番環境でSprayを使用していて、(おそらく)それを使い続けていますが、簡単な乗り心地ではありません。同等の措置で欲求不満と喜びを期待してください。