While the focus of development has not spray Web applications, but HTTP-based integration layer, you can certainly use it to power and browser-based graphical user interface. Logic latest mobile Web application server and into something far more browser clients, as well as good SBT- widget (JS- based) spray itself does not provide (such as view templates or less the growing popularity of the trend – and CoffeeScript alimony), and may even make this practice more attractive.
Currently, the Web-based spray development stack may include (a subset of) the following components:

  • Spray can http server
    the web server. Receives the HTTP request and sends a response. May terminate SSL.
  • Spray routing
    Routing layer. Treatment depends URI, parameters, content and (UN) marshals, and requests from the application-specific domain models. Forward a higher level of job requests a deeper level of application and the corresponding result is converted to HTTP response. Serving static content.
  • SBT- revolver
    SBT- plug, without having to restart the server to change any type of source (Scala, twist, CSS, LESS, JavaScript in, CoffeeScript, an image, etc.) hot reload. Development experience can provide an almost “dynamic languages” type.
  • twist
    SBT- plug-in, based on the play 2.0 template engine provides a view template.
  • Less SBT
    SBT- source plug-less CSS editor.
  • coffeescripted-SBT
    CoffeeScript source of SBT- widget for JavaScript compiler.
  • SBT-JS
    SBT- widget Javascript and CoffeeScript compiler, reduce, and templates.
  • SLICK
    The elegant library database query and access.
  • Spray JSON
    Clean customary JSON library reading and writing.
  • SBT assembly
    SBT- plug single -JAR deployment.
  • Front frame a client
    Several of the establishment of client-side JavaScript framework

Everything, a full-fledged Web framework, although this may not provide a stack can provide it all might need for your particular application. And, because you can choose the best tool for each job separately, the resulting application stack is a great deal of flexibility, and could face the future than any single framework. Of course, the disadvantage of this approach is the integration of different components, and now on your shoulders. In addition, support and upgrades for no single point of contact.

Nevertheless, with a combination of client-side JavaScript framework based spray back-end application, you can prove himself as an interesting alternative to the “classic” server-side Web framework. We’d love to hear about your experiences in this regard?