An open API service indexing awesome lists of open source software.

https://github.com/jdegoes/blueeyes

A lightweight Web 3.0 framework for Scala, featuring a purely asynchronous architecture, extremely high-performance, massive scalability, high usability, and a functional, composable design.
https://github.com/jdegoes/blueeyes

Last synced: over 1 year ago
JSON representation

A lightweight Web 3.0 framework for Scala, featuring a purely asynchronous architecture, extremely high-performance, massive scalability, high usability, and a functional, composable design.

Awesome Lists containing this project

README

          

# NOTE

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

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](http://www.liftweb.net/).

## Mailing List

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:

* [BlueEyes Web Framework Discussion Group](http://groups.yahoo.com/group/blueeyes-web)

## Book (in-progress)

For more extensive documentation on BlueEyes, see the [in-progress book](http://noelwelsh.com/blueeyes/index.html)

## Maven

Repositories:

* http://oss.sonatype.org/content/repositories/public
* http://repo.typesafe.com/typesafe/releases/

Library dependency:

```xml

com.github.jdegoes
blueeyes-core
0.6.0
jar
compile

```

Also consider `blueeyes-mongo` and `blueeyes-json` artifacts.

### SBT

```scala
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"
)
```

## Origins

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.

## Team



Name Role Twitter




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

## Development

To release

- Login at oss.sonatype.org
- Run the publish command for core, json, and mongo

## License

Copyright (c) 2010-2013

Published under The MIT License

## Sponsors

A big round of thanks to the sponsors of BlueEyes.

JProfiler - Best-in-class profiler for Java and Scala developers