- Диспетчеризация на основе системы маршрутов, аналогичных системе маршрутов Ruby On Rails, но без привязки к модели MVC.
- Механизме повторного использования кода - системе плагинов. По задумке, она должна позволить разрабатывать веб-приложения, такие как форум, вики и т.п. и в последующем легко встраивать их в сайты на базе RESTAS. Проблема достаточно сложная, но сейчас я вижу хорошие перспективы для её приемлемого и довольно простого решения.
- Интерактивной разработке и горячей замене кода. Любой код, относящийся к RESTAS (такой, как определение маршрута или плагина) может быть в любой момент "перекомпилирован" (например, с помощью C-M-x в SLIME) и внесённые изменения можно немедленно увидеть в браузере. Никаких перезагрузок веб-сервера и т.п. сложных действий.
В данный момент проект имеет следующие зависимости:
- asdf-system-connections
- hunchentoot
- cl-routes (версии 0.2) (зависит от iterate и puri)
- garbage-pools
Я приглашаю всех интересующихся веб-разработкой на языке Common Lisp принять участие в развитии этого проекта. Специально для обсуждения связанных с этим вопросов создал отдельный форум.
Ссылки:
Страница проекта: http://code.google.com/p/restas/ (пока там ничего нет)
Обсуждение: http://lisper.ru/forum/restas
Исходный код: http://github.com/archimag/restas
Скачать архив: http://restas.googlecode.com/files/restas-0.0.1.tar.bz2
Очень интересный проект
ОтветитьУдалитья начинающий лиспер, поэтому могу пока лишь только высказать пожелание: хотелось бы увидеть веб-сервисы на lisp (xmlrpc или wsdl)
кстати, это именно из-за лиспа такая чувмовая скорость загрузки страниц?)
ОтветитьУдалить> хотелось бы увидеть веб-сервисы на lisp
ОтветитьУдалить> (xmlrpc или wsdl)
Э... название RESTAS изначально означало "REST Application Server". Т.е. я предпочитаю стиль REST, и не люблю различные формы rpc, и особенно SOAP.
> это именно из-за лиспа такая чувмовая скорость
> загрузки страниц?
Ну не знаю, что у вас за скорость такая :) некоторая информация о производительности системы есть здесь: http://lisper.ru/forum/thread/6
Очень, очень настойчиво требую документации.
ОтветитьУдалитьВ посте также не указано, почему существующие фреймворки для CL не устраивают автора. (Я в лиспе не разбираюсь, поэтому это мне не очевидно.)
И еще хотелось бы увидеть сравнение с фреймворками Схемы (PLT).
Надеюсь, я не сильно много требую? :)
> Очень, очень настойчиво требую документации.
ОтветитьУдалитьУгу, было бы неплохо, но есть проблемы со временем и мотивацией :)
> почему существующие фреймворки для CL
Это наверное тема для отдельной статьи, но мне, по крайней мере, нужны были routes, а этого нигде нет.
> И еще хотелось бы увидеть сравнение
> с фреймворками Схемы (PLT).
Зачем? Я не пишу на схеме :)
На аглицком надо вести блог, на аглицком... Желающих присоединиться к разработке или даже просто заюзать и репортить баги будет на порядок больше.
ОтветитьУдалить> На аглицком надо вести блог, на аглицком...
ОтветитьУдалитьВо-первых, мой английский не насколько хорошо, что бы я мог на нём писать. С чтением проблем обычно нет, но вот писать...
:(
Во-вторых, будь у меня даже необходимые навыки, я бы всё равно вряд ли бы стал так делать. Я почему то считаю важным прикладывать усилия для создания именно русскоязычного lisp-сообщества, а для этого нужно, в том числе, побольше блогов на русском языке. Многие русскоязычные lisp-программисты не пишут на русском (по принципиальным соображениям, или ещё каким), мне это не понятно.
К сожалению, русского лисп-сообщества, как такового, не существует.
ОтветитьУдалить> К сожалению, русского лисп-сообщества,
ОтветитьУдалить> как такового, не существует.
Угу, но ведь оно не может появиться само по себе? Кто-то (и хорошо бы не он один) ведь должен что-то для этого делать?
P.S. Ну, мировго сообщества как бы тоже нет ;)