Dependencies ============ Dependency libraries -------------------- Xitrum includes some libraries. In your Xitrum project, you can use them directly if you want. .. image:: ../img/deps.png Main dependencies: * `Scala `_: Xitrum is written in Scala language. * `Netty `_: For async HTTP(S) server. Many features in Xitrum are based on those in Netty, like WebSocket and zero copy file serving. * `Akka `_: For SockJS. Akka depends on `Typesafe Config `_, which is also used by Xitrum. Other dependencies: * `Commons Lang `_: For escaping JSON data. * `Glokka `_: For clustering SockJS actors. * `JSON4S `_: For parsing and generating JSON data. JSON4S depends on `Paranamer `_. * `Rhino `_: For Scalate to compile CoffeeScript to JavaScript. * `Sclasner `_: For scanning HTTP routes in action classes in .class and .jar files. * `Scaposer `_: For i18n. * `Twitter Chill `_: For serializing and deserializing cookies and sessions. Chill is based on `Kryo `_. * `SLF4S `_, `Logback `_: For logging. `Xitrum new project skeleton `_ includes these tools: * `scala-xgettext `_: For :doc:`extracting i18n strings ` from your .scala files when you compile them. * `xitrum-package `_: For :doc:`packaging your project `, ready to deploy to production server. * `Scalive `_: For connecting a Scala console to a running JVM process for live debugging. Related projects ---------------- Demos: * `xitrum-new `_: Xitrum new project skeleton. * `xitrum-demos `_: Demos features in Xitrum. * `xitrum-placeholder `_: Demos APIs that return images. * `comy `_: Demos a simple URL shortening service. * `xitrum-multimodule-demo `_: Example about creating multimodule `SBT `_ project. Plugins: * `xitrum-scalate `_: This is the default template engine in Xitrum, preconfigured in `Xitrum new project skeleton `_. You can replace it with other template engines, or totally remove it if your project doesn't need any template engine. It depends on `Scalate `_ and `Scalamd `_. * `xitrum-hazelcast `_: For clustering cache and server side sessions. * `xitrum-ko `_: Provides some convenient helpers for `Knockoutjs `_. Other projects: * `xitrum-doc `_: Source code of the `Xitrum Guide `_. * `xitrum-hp `_: Source code of the `Xitrum Homepage `_.