В первый раз, когда я столкнулся, например, Ruby Sinatra framework или PHP Zend Framework, я задавался вопросом, есть ли что-то адекватное в Java, все это кажется таким раздутым здесь. Хотя вокруг меня есть множество рамок, я пока не нашел ничего, что я считал идеальным для архитектуры, которую я хотел бы реализовать.
Я хотел бы создать веб-приложение, которое было бы тяжело в Javascript с большей частью логики приложения, реализованной на клиенте, back-end Java более или менее просто служил хранилищем данных или выполнял сложные вычисления.
Я просмотрел связанные вопросы здесь, но я не мог найти идеальный ответ, каждый из предлагаемых решений имел причуду, которая не соответствовала бы требованиям.
Итак, это то, что я ищу, с открытым исходным кодом со следующими функциями:
- Контекстная настройка
- Конфигурация XML, кроме web.xml
- Чистая Java (no Scala, no Groovy,...)
- естественные URL-адреса стиля REST, такие как /news/ 2011/july (нет .do, no.jsp,...)
- REST-Aware
- он не должен заставлять меня развертывать на сервере приложений (например, EJB должен быть необязательным)
- поддержка сеанса будет приятной, но не обязательной.
- генерация кода, как в Rails, была бы удивительной, но не обязательной.
- минимум зависимостей, малый размер в целом
- MVC будет приятным, но
- Я хотел бы иметь возможность выбрать часть M, самостоятельно выбирать библиотеки сохранения (без комплектации).
- Нет автоматически созданного кода для представления, ни HTML, ни Javascript, ни CSS
- Интегрированный язык шаблонов будет приятным, но он должен быть минималистичным (простой поток управления, доступ к переменным шаблона).
- Поддержка макета (т.е. вы можете указать общий шаблон для похожих представлений).
- Свободный выбор структуры Javascript для просмотров
В основном это означало бы структуру MVC, которая выполняет маршрутизацию для меня, и предлагает поддержку шаблонов для просмотров, но остальное полностью модульное, без магии. Есть ли минималистская структура, которая обеспечивала бы это (или, по крайней мере, достаточно модульную, чтобы быть настроенной таким образом)?