Ну, не все лето, конечно, а отпуск. В отпуске мне удалось посвятить много времени любимым занятиям: изучению новых технологий и программированию. Наибольшее количество времени я посвятил ClojureScript, а результатом его изучения стало небольшое приложение учета посещений в танцевальном клубе (или фитнесс-клубе).
Вот как выглядит интерфейс этого приложения:
Вот как выглядит интерфейс этого приложения:
Рис.1 Список абонементов
Рис. 2 Детали абонемента
Рис. 3 Выбран абонемент Чебурашки
Рис. 4 Отчет по оплатам за месяц
На данный момент приложение задеплоено по адресу: http://clubmanager1.com:8080/login . Логин и пароль такие: demo, demo123. (Оперу и IE ниже 9 не подериживаю)
Как видите, приложение -- достаточно простое, чтобы его можно было не сильно напрягаясь написать за отпуск. Но и достаточно большое, чтобы опробовать ClojureScript на деле.
Я использовал следующие библиотеки:
[org.clojure/clojure "1.4.0"]
[noir "1.3.0-beta10"]
[com.mysql/connectorj "5.1.12"]
[korma "0.3.0-beta11"]
[cheshire "4.0.1"]
[enlive "1.0.1"]
[enfocus "0.9.1-SNAPSHOT"]
[noir "1.3.0-beta10"]
[com.mysql/connectorj "5.1.12"]
[korma "0.3.0-beta11"]
[cheshire "4.0.1"]
[enlive "1.0.1"]
[enfocus "0.9.1-SNAPSHOT"]
Изначально, для передачи данных из броузера на сервер я использовал JSON, вот почему здесь есть cheshire. Но через некоторое время (и после мощнейшего фейс-палма) обнаружил работающий ридер в ClojureScript, так что оставшиеся данные я передавал уже безо всякого json-а, прямо в виде списков, векторов и мапов Clojure.
Для отрисовки шаблонов изначально использовал Enlive. На клиентской стороне -- порт Enlive-а на ClojureScript, который называется Enfocus.
В общем и целом -- впечатления очень положительные. Серьезных технологических затыков или багов нигде не обнаружил. Правда Enfocus сейчас активно обновляется до версии 1.0.0-SNAPSHOT, но этот снапшот глючный. Автор enfocus-а срочно правит баги, так что скоро увидим и стабильную версию. Версия Enfocus 0.9.1 -- достаточно стабильна и очень похожа на Enlive.
Круто! Поздравляю, отличное начинание, отличная технология
ОтветитьУдалитьСпасибо! :-)
ОтветитьУдалитьА сырцы-то будут?
ОтветитьУдалитьВ ближайшие месяцы -- нет. Вот когда продукт заработает, и будут люди, которые им пользуются -- тогда открою.
ОтветитьУдалитьОткройте, если не жалко. Я крайне мало работал с вебом, а посмотреть готовый исходник подобного проекта не прочь бы, для общего образования.
УдалитьЯ еще не созрел для открытия исходника. Хочу вначале запустить проект, чтобы он заработал, и были бы люди, которые им пользуются. Тогда и открою.
ОтветитьУдалить