Зависимости
===========
Библиотеки
----------
Xitrum использует некоторые библиотеки. Вы можете использовать их напрямую
если захотите.
.. image:: ../img/deps.png
Главные зависимости:
* `Scala `_:
Xitrum написан на языке программирования Scala.
* `Netty `_:
В качестве асинхронного HTTP(S) сервера.
Многие возможности Xitrum используют Netty,
например WebSocket и zero copy.
* `Akka `_:
Для SockJS. Akka зависит от `Typesafe Config `_,
который так же используется в Xitrum.
Другие зависимости:
* `Commons Lang `_:
Для экранирования JSON данных.
* `Glokka `_:
Для кластеризация акторов SockJS.
* `JSON4S `_:
Для разбора и генерации JSON данных. JSON4S зависит от
`Paranamer `_.
* `Rhino `_:
В Scalate для компиляции CoffeeScript в JavaScript.
* `Sclasner `_:
Для поиска HTTP маршрутов в контроллерах, .class и .jar файлах.
* `Scaposer `_:
Для интернационализации.
* `Twitter Chill `_:
Для сериализации и десериализации куки и сессий.
Chill базируется на `Kryo `_.
* `SLF4S `_, `Logback `_:
Для логирования.
`Шаблон пустого проекта Xitrum `_
включает утилиты:
* `scala-xgettext `_:
:doc:`Извелечение сообщений ` из .scala файлов во время компиляции.
* `xitrum-package `_:
Для :doc:`подготовки проекта к развертыванию ` на сервере.
* `Scalive `_:
Для подключения Scala консоли к JVM процессу для живой отладки.
Связанные проекты
-----------------
Демо проекты:
* `xitrum-new `_:
Шаблон пустого проекта Xitrum.
* `xitrum-demos `_:
Демонстрационный проект возможностей Xitrum.
* `xitrum-placeholder `_:
Демонстрационный проекта RESTful API который возвращает изображения.
* `comy `_:
Демонстрационный проект: короткие ссылки.
* `xitrum-multimodule-demo `_:
Пример мульти модульного `SBT `_ проекта.
Проекты:
* `xitrum-scalate `_:
Стандартный шаблонизатор для Xitrum, подключенный в
`шаблонном проекте `_.
Вы можете заменить его другим шаблонизатором, или вообще убрать если вам
не нужен шаблонизатор. Он зависит от
`Scalate `_ и
`Scalamd `_.
* `xitrum-hazelcast `_:
Для кластеризации кэша и сессии на стороне сервера.
* `xitrum-ko `_:
Предоставляет дополнительные возможности для `Knockoutjs `_.
Другие проекты:
* `xitrum-doc `_:
Исходный код `учебника Xitrum `_.
* `xitrum-hp `_:
Исходный код `домашней страниц Xitrum `_.