Grails с плагином Vaadin, это правильный выбор?

Для моей организации я оцениваю технологии RICH для наших следующих проектов. В настоящее время мы используем Grails 2.1.0 и очень довольны этим, особенно с groovy и gorm, и мы хотели бы остаться с этим. Идея состоит в том, чтобы расширить grails с некоторой структурой/библиотекой RICH. В настоящее время я оцениваю: плагин Grails для ZK, плагин Grails для Vaadin, knockoutjs, angular.js, ember.js.

Я уже получал отзывы от своих коллег, которые работали с ZK (без grails), и их заключение было: классно, но забывайте выступления, ZK отправляется на сервер каждый раз, когда вы что-то делаете на стороне клиента.

Мой вопрос: это также верно с Ваадином (плагин для Grails)? Как он реагирует на тяжелые одностраничные приложения? и как насчет Бамби? это может быть вариант?

На бумаге grails + Vaadin - это то, что нам нужно: мы хотим написать groovy/java, а не xml и, конечно же, не javascript. Правильно ли это?

Я знаю, что мой вопрос очень общий, но я только в начале оценки... Спасибо за внимание!

Ответ 1

  • Ваадин отлично работает с Groovy и Grails. Вы можете получить услуги (на самом деле spring beans) с помощью метода Grails.get() и выполнить локализацию с помощью метода Grails.i18n(). Поскольку весь код будет написан в Groovy, а не в Java, он станет менее тяжелым (меньше строк кода и т.д.).
  • Vaadin не выполняет никаких действий пользователя на сервере. Вы можете повлиять на это, установив setImmediate (false) на любой компонент.
  • Когда вы делаете сложное приложение в Ваадине, вам нужно быть осторожным, сколько компонентов вы кладете на страницу. Если вы ожидаете, что на одной странице будет тысячи компонентов, тогда у браузера будет проблемы с производительностью при обработке (конечно, скорость рендеринга зависит от вашего компьютерного оборудования). Дополнительные советы здесь.
  • Я рекомендую - попытайтесь создать пользовательский интерфейс в Vaadin и поддельную базу данных. Затем просмотрите производительность, а затем переключитесь на реальную базу данных. Обычно люди обвиняют Ваадина, но проблема в другом месте, например. в базе данных, индексирование, загрузка ко многим элементам сразу...
  • Если вы не хотите играть с JavaScript, я полагаю, что knockoutjs, angular.js, ember.js вышли из игры.
  • Вам нужно выяснить, нужны ли компоненты Vaadin. Я действительно предлагаю попробовать и сделать Доказательство Концепции в Ваадине. Если нет, Vaadin 7 упрощает интеграцию с JavaScript! Таким образом, вы можете легко интегрировать код сервера Vaadin с любой библиотекой JavaScript (например, с помощью графических карт и т.д.).
  • Вам нужно будет загружать ваши контейнеры лениво (проверить это)
  • Я думаю, вы должны начать с Vaadin 7 (здесь учебник)
  • В Vaadin 7 (в версиях 7.0.1 или 7.0.2) будет больше оптимизаций производительности.