Xitrum: a Scala web framework and web server based on Netty

Ngoc Dao ngocdaothanh at gmail.com
Wed Sep 21 10:49:46 EDT 2011


Hi everyone,

I've just released Xitrum, a Scala web framework and web server based on Netty:
* Source: https://github.com/ngocdaothanh/xitrum
* Doc: http://ngocdaothanh.github.com/xitrum/
* Mailing list: https://groups.google.com/group/xitrum-framework

To give it a try, install SBT (a build tool for Scala, like Maven for
Java, https://github.com/harrah/xsbt/wiki/Setup) and g8
(https://github.com/n8han/giter8), then run these commands:
g8 ngocdaothanh/xitrum
cd my_project
sbt run

Xitrum is lightweight. To see all its dependencies, run these commands
from the above directory:
sbt xitrum-package
ls target/xitrum/lib

To see a sample project:
https://github.com/ngocdaothanh/comy

Its screenshot (the Japanese UI is for demonstrating i18n feature):
http://tinyurl.com/3fcx98c

>From README:
--------------------
Xitrum 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.
* 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 don't need a separate Comet
server.
--------------------

Xitrum is in usable form and has been used in several production
commercial projects. Please try it and give comments etc. so that I
can improve it.

Thanks,
Ngoc


More information about the netty-users mailing list