Skip to content
Async and clustered Scala web framework and web server on top of Netty and Hazelcast
Scala JavaScript Python Java
Find file
Pull request Compare This branch is 7 commits ahead, 1405 commits behind xitrum-framework:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Quick start: install SBT 0.11.2 and the latest Giter8, then

$ g8 ngocdaothanh/xitrum
$ cd my_project
$ sbt run

Now you have a sample project running at http://localhost:8000/ and https://localhost:4430/

See full documentation for details.

Xitrum ("Smurf" in Vietnamese) is an async and clustered Scala web framework and web server on top of Netty and Hazelcast:

  • It fills the gap between Scalatra and Lift: more powerful than Scalatra and easier to use than Lift. You can easily create both RESTful APIs and postbacks. Xitrum is controller-first like Scalatra, not view-first like Lift.
  • Annotation is used for URL routes, in the spirit of JAX-RS. You don't have to declare all routes in a single place.
  • Typesafe, in the spirit of Scala.
  • Async, in the spirit of Netty.
  • Sessions can be stored in cookies or clustered Hazelcast.
  • jQuery Validation is integrated for browser side and server side validation.
  • i18n using GNU gettext, which means unlike most other solutions, both singular and plural forms are supported.
  • Conditional GET using ETag.

Hazelcast also gives:

  • In-process and clustered cache, you don't need separate cache servers.
  • In-process and clustered Comet, you can scale Comet to multiple web servers.
|    Your app     |
|      Xitrum     |  <-- Hazelcast --> Other instances
| +-------------+ |
| | Action/View | |
| +-------------+ |
|      Netty      |
| +-------------+ |
| | HTTP Server | |
| +-------------+ |

Xitrum is open source, please join its Google group.

Something went wrong with that request. Please try again.