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.
- Host: GitHub
- URL: https://github.com/jdegoes/blueeyes
- Owner: jdegoes
- Created: 2010-10-12T19:21:07.000Z (over 15 years ago)
- Default Branch: master
- Last Pushed: 2014-09-22T08:19:47.000Z (almost 12 years ago)
- Last Synced: 2025-03-28T12:08:11.640Z (over 1 year ago)
- Language: Scala
- Homepage: github.com/jdegoes/blueeyes
- Size: 11.4 MB
- Stars: 733
- Watchers: 47
- Forks: 45
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-java - BlueEyes
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