- PVSM.RU - https://www.pvsm.ru -
В данной статье мне хотелось бы рассказать о новом программном продукте, который на днях стал доступным конечным пользователям. Автором этого программного продукта являюсь я, и поэтому мне вдвойне приятно поделиться с читателями информацией, которая наверняка кому-нибудь покажется интересной и полезной. Я работал над этим проектом 4 года (а то и больше, смотря от какого момента считать).
Итак, что же такое LilacServer?
Это веб-сервер, написанный на Java с использованием технологии Java NIO [1]. Главным отличием его от прочих веб-серверов, созданных на Java (например, Tomcat или Resin), состоит в том, что это не только веб-сервер…
LilacServer – это веб-сервер, шаблонизатор и фреймворк в одном программном продукте.
Как и было сказано выше, написан на Java с использованием Java NIO, и оттого обладает высокой производительностью и стрессоустойчивостью. Каких-то специальных аппаратных требований не предъявляет. Может быть установлен как под Linux (в комплекте есть скрипты под CentOS и Debian), так и под Windows (в комплекте есть враппер для установки в качестве сервиса). На shared-хостинге, скорее всего, установить не получится. Необходим, как минимум,
Инсталлятор оформлен в виде jar-архива, поддерживающего как графический, так и текстовый режимы установки.
Особенностью настройки веб-сервера является полное отсутствие каких-либо конфигурационных файлов. Все управление осуществляется с помощью специального веб-интерфейса. Помимо обычного функционала по настройке параметров веб-сайтов, в веб-интерфейсе есть встроенный менеджер файлов и он-лайн редактор.
В LilacServer есть встроенный шаблонизатор. Правильнее даже сказать так: шаблонизатор – это основа всего программного продукта.
Для построения шаблонов страниц используется язык Lilac. Это декларативный язык, сходный с Prolog-ом и Erlang-ом. Данные представляются в виде списков. Единственная доступная операция над списками – это «взятие головы». Для непосвященных звучит пугающе, но в конечном итоге это означает, что для проектирования шаблонов не используются ни циклы, ни условные переходы (в языке их просто нет).
Все операции языка оформляются в виде директив. Всего директив 7 (точнее, 6 + 1). Директивы хранятся в файлах с расширением .lilac. Шаблон страницы собирается по частям, в зависимости от пути к странице. Существуют специальные файлы с директивами – это config.lilac и index.lilac.
Для создания программных модулей используется язык Java и собственный LilacServer API. Данный API несовместим со стандартным Java Servlet API, однако набор объектов и названия методов во многом совпадают.
LilacServer – это шаблонно-ориентированный программный продукт. Это значит, что нужные программные компоненты вызваются из шаблонов (а не наоборот: когда вызывается программа, загружающая требуемые шаблоны). На практике это означает, что возможно создание шаблонизированного сайта без написания какого-либо кода на Java. То есть, если какому-нибудь веб-сайту не требуется программная составляющая, то LilacServer API можно не использовать.
Классы LilacServer API включены в программный комплекс LilacServer и не требуют отдельной установки. Для разработки программ требуется Java SE JDK. При необходимости можно использовать любые сторонние библиотеки, сервер их автоматически подгрузит.
Помимо вышеперечисленных, есть еще много интересных особенностей и функций.
Официальный веб-сайт: LilacServer.com [3]
(прямая ссылка на русскоязычную версию сайта: lilacserver.com/ru/ [4] )
Данный ресурс создан на самом LilacServer и вполне демонстрирует возможности как программного продукта, так и LilacServer API.
Вот что можно найти на данном сайте:
а также многое другое, не менее полезное.
Уверен, мое информационное сообщение будет полезным для веб-разработчиков, а особенно тем, кто активно использует в работе язык Java. Более подробные сведения по возможностям программного продукта LilacServer можно узнать здесь [5].
Благодарю всех за внимание!
Автор: nechiporenko
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/14571
Ссылки в тексте:
[1] Java NIO: http://ru.wikipedia.org/wiki/New_I/O
[2] VPS: https://www.reg.ru/?rlink=reflink-717
[3] LilacServer.com: http://lilacserver.com/
[4] lilacserver.com/ru/: http://lilacserver.com/ru/
[5] здесь: http://lilacserver.com/ru/home/about/
Нажмите здесь для печати.