BlueEyes 1.0 development is currently underway in the master branch. If you wish to use the current stable version of BlueEyes, please use the 0.6x branch.
While many features will be retained, BlueEyes 1.0 is not expected to be backward compatible -- some reworking will be required.
BlueEyes is a lightweight, asynchronous web framework for the Scala programming language. The framework lets you quickly and easily create high-performing web services that embrace the machinery and language of HTTP. The framework tries to get out of your way and let you concentrate on logic instead of boilerplate.
BlueEyes has been used in production across large clusters of instances deployed in Amazon EC2, reliably handling tens of thousands of requests a second, in an environment with 24x7 uptime requirements (online display advertising).
The framework has been designed to meet the following requirements:
- Stateless design, to achieve massive scalability;
- Purely asynchronous request handling, to achieve extremely fast per-instance performance;
- Highly composable, modular design that minimizes bloat and surface area of the API;
- Declarative service construction;
- Support for continuous deployment and automated testing;
- Idiomatic Scala interfaces to highly-scalable databases such as MongoDB.
BlueEyes does not have any features for server-side generation of HTML, CSS, or JavaScript. BlueEyes does not (natively) serve static files, like Apache or Jetty. BlueEyes is intended only for creating RESTful web services that are consumed by clients (such as browsers or servers).
Those looking for a traditional model/view web framework for the Scala programming language are directed to the Lift Web Framework.
If you have bugs to report, please use the GitHub issues tracker. If you have questions about BlueEyes, you are invited to join the BlueEyes Web Framework discussion group:
For more extensive documentation on BlueEyes, see the in-progress book
Repositories:
Library dependency:
<dependency>
<groupId>com.github.jdegoes</groupId>
<artifactId>blueeyes-core</artifactId>
<version>0.6.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
Also consider blueeyes-mongo
and blueeyes-json
artifacts.
resolvers ++= Seq(
"Sonatype" at "http://oss.sonatype.org/content/repositories/public",
"Typesafe" at "http://repo.typesafe.com/typesafe/releases/"
)
libraryDependencies ++= Seq(
"com.github.jdegoes" %% "blueeyes-core" % "0.6.0",
"com.github.jdegoes" %% "blueeyes-mongo" % "0.6.0",
"com.github.jdegoes" %% "blueeyes-json" % "0.6.0",
"ch.qos.logback" % "logback-classic" % "1.0.0" % "runtime"
)
BlueEyes is loosely inspired by the Ruby library Sinatra and the Scala library Scalatra. These lightweight libraries allow developers to easily create RESTful services without the feature bloat and poor usability common to most web frameworks.
BlueEyes aims for the same or higher level of productivity as these libraries, but with a more functional design, much higher performance, and compatibility with the rigorous demands of continuous deployment.
</tr>
Name | Role | |
John A. De Goes | Author & architect, core platform | @jdegoes |
Kris Nuttycome | Core platform | @nuttycom |
Michael Lagutko | Core platform, persistence | @mlagutko |
Jeff Simpson | Asynchronous HTTP client | @fooblahblah |
Noel Welsh | General fixes, documentation, community building | @noelwelsh |
To release
- Login at oss.sonatype.org
- Run the publish command for core, json, and mongo
Copyright (c) 2010-2013
Published under The MIT License
A big round of thanks to the sponsors of BlueEyes.
JProfiler - Best-in-class profiler for Java and Scala developers