Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Async and clustered Scala web framework and web server on top of Netty and Hazelcast
Scala JavaScript Python Java
branch: master

This branch is 7 commits ahead, 1351 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.