Ответ 1
Как насчет Play Framework?
Конвенция по конфигурации
В Play только несколько конфигурационных файлов. Большая часть его структуры по соглашению. Например, базовая структура выглядит следующим образом:
|
+---/app - All executable artifacts go here (java files, conf files and view templates).
| |
| +---/model - Your model Java classes.
| |
| +---/view - Your view templates.
| |
| +---/controller - Your controller classes
|
|---/conf - Contains all configuration files for the application. Initially contains application configuration and routing table.
|
|---/lib - Libraries your appliaction needs. Added automatically to classpath.
|
|---/log
|
|---/public - Public stuff are your static assets that your server gives directly
|
|---/test
|
|---/tmp - All your temporarily compiled .class files are here
Нет конфигурации XML, кроме web.xml
В Play нет конфигурации XML, в том числе нет web.xml. Вместо этого он имеет файл маршрутизации. См. Пример ниже, что он использует для маршрутизации.
Чистая Java (нет Scala, no Groovy,...)
Это чистая Java, но вы можете использовать Scala или Groovy через плагин.
- естественные URL-адреса стиля REST, такие как /news/ 2011/july (нет .do, no.jsp,...)
- REST-Aware
На сайте: Play is a real "Share nothing" system. Ready for REST, it is easily scaled by running multiple instances of the same application on several servers.
На самом деле маршрутизация в режиме "Отдых" довольно проста:
# Play 'routes' configuration file…
# Method URL path Controller
GET / Application.index
GET /about Application.about
POST /item Item.addItem
GET /item/{id} Item.getItem
GET /item/{id}.pdf Item.getItemPdf
Не сложно догадаться, что происходит, когда вы привыкли немного играть.
- он не должен заставлять меня развертывать на сервере приложений (например, EJB должен быть необязательным)
Это не так. Фактически вы развертываете, сохраняя свои файлы. EJB полностью необязательны, а также .war
, .ear
и другие формы развертывания.
генерация кода, как в Rails, была бы удивительной, но не обязательной.
Я не думаю, что он генерирует много кода, но я не на это 100%. Он автоматически создает все необходимые папки и создает экземпляр базовой страницы примера. Я не знаю, генерирует ли Rails что-то еще...
MVC будет приятным, но
- Я хотел бы иметь возможность выбрать часть M, самостоятельно выбирать библиотеки сохранения (без комплектации).
- Нет автоматически созданного кода для представления, ни HTML, Javascript, ни CSS
- Интегрированный язык шаблонов был бы приятным, но он должен быть минималистичным (простой поток управления,
Смотрите MVC в игре
- Подумайте, что это небольшая контрольная точка. Игровые модели должны использовать JPA или расширить определенный класс модели, который поставляется с Play. Подробнее см. Воспроизвести фрейм-модель.
- Он не генерирует HTML, хотя вы можете использовать свой язык шаблонов в своих
.html
,.css
,.js
и других файлах для создания динамических страниц. -
У меня есть встроенный язык шаблонов на основе шаблона Groovy, например.
You have ${emails.unread ?: 'no'} ${emails.unread?.pluralize('email')} !
Другие профи:
- Это довольно забавно для программы.
- Я упоминал горячую папку, которая позволяет вам повторно развертывать ваше приложение, сохраняя исходные файлы?
- Отличные журналы ошибок.
Минусы:
- 51MB не уверен, что это может быть легким:/