The Lowdown on BlueEyes

This short book describes BlueEyes, a simple Scala web framework for building high-performance REST services. BlueEyes might be an appropriate choice for your project if:

  • you want to build a REST service. You’re happy to respond to requests with JSON data, for example, and don’t need a templating engine.
  • performance is a concern. BlueEyes is built from the ground up on an asynchronous model, starting with Netty and Akka. This means it can handle a large number of simultaneous connections with ease.
  • you want to leverage Scala’s type system to catch errors at compile time.
  • you want fast development, a quick testing cycle, and simple deployment.

This book should provide everything you need to develop in BlueEyes and deploy to production environments using many machines.

This book covers version 0.6 of BlueEyes, currently 0.6.0-SNAPSHOT. I assume you know how to use Scala, and are comfortable with your development environment of choice. Certain aspects of this book, such as the section on deployment, go beyond pure software development. When I discuss build systems, I give examples for SBT. When discussing system administration I assume a Unix-like system.

This book is still a work in progress, and all feedback is greatly appreciated!


  • 0.3.3 Update many sections. Finish most of service combinators and most of concurrency
  • 0.3.2 Finish bijections section. Start on service combinators.
  • 0.3.1 Due to popular demand, donations are accepted on the about page.
  • 0.3 Start on Request Handler chapter. Cover bijections.
  • 0.2.1 Correct code samples. Add some notes about deploying to servlet containers.
  • 0.2 Update code samples and prose to 0.6.0-SNAPSHOT.
  • 0.1 Initial release.