Различия между GWT и Vaadin

Может ли кто-нибудь предположить, являются ли "GWT" или "Vaadin" лучшим выбором для разработки приложения? Также: каковы различия в стиле кодирования?

Ответ 1

В логике приложения GWT обычно выполняется на стороне клиента. Он только вызывает сервер, когда ему нужно читать/сохранять некоторые данные.

В Vaadin логика приложения находится на стороне сервера. Клиентская сторона обычно должна вызывать сервер после каждого взаимодействия с пользователем.

Преимущество GWT:
Логика приложения (ответы на взаимодействие с пользователем) выполняется быстрее, поскольку она выполняется локально в браузере. Он также относительно нечувствителен к плохим сетевым условиям. Сеть используется только в случае необходимости (для чтения/сохранения новых данных), что экономит чистый трафик (важно для сайтов с высоким трафиком).

В этом отношении Ваадин медленнее и вводит задержку в взаимодействии с пользовательским интерфейсом, что раздражает пользователя. Если сеть плохая, это будет отображаться в пользовательском интерфейсе.

Преимущество Ваадина:
Логика приложения запускается на сервере, поэтому пользователь не может его проверять. Возможно, (утверждает Ваадин), что делает его более безопасным.

Ответ 2

Еще несколько пунктов:

  • Фундаментальное различие заключается в том, что в GWT вам нужно отделить свое приложение от кода клиента и сервера, такого различия в Vaadin нет. Это повлияет на архитектуру вашего приложения.

  • В коде клиента GWT вы должны закодировать на Java и иметь ограниченное подмножество доступных языковых функций (что компилятор GWT может перевести в Javascript). В Vaadin вы можете закодировать на любом языке JVM, поскольку все работает на сервере (я использую Vaadin с Scala). Это может быть или не быть релевантным для вас.

  • Компиляция GWT очень медленная, хотя в режиме разработки у вас есть эмулятор. Это приводит к болезненным изменениям в производственной среде (приложение GWT, которое я разработал, стало довольно большим и в настоящее время занимает около 15 минут для компиляции).

  • Очень просто расширить GWT с сторонними виджетами или свернуть свои собственные. Создание новых виджетов Vaadin является более сложным.

Ответ 3

Другое преимущество Vaadin: вам не нужно разрабатывать или реализовывать коммуникацию клиент-сервер, которая встроена.

Ответ 4

С помощью Vaadin вы также можете использовать встроенный GWT, если хотите что-то сделать на стороне клиента. Это дает вам как простоту модели программирования на стороне сервера (без связи, без необходимости программирования браузера) с полным контролем того, что происходит в браузере.

Ответ 5

Различия между Vaadin и GWT:

A) Vaadin включает в себя модель разработки на стороне сервера, которая:

  • Сокращает количество строк кода до половины за счет уменьшения уровней, на которые приходится реализовать для пользовательского интерфейса.
  • Позволяет использовать любой язык на основе JVM для пользовательского интерфейса - Scala, Groovy
  • Повышает уровень безопасности, сохраняя логику пользовательского интерфейса на сервере.
  • Позволяет синхронные вызовы на любой серверный API с веб-сервера.
  • Позволяет использовать любые стандартные Java-библиотеки и инструменты для пользовательского интерфейса серверная архитектура приложений
  • Не требуется Java-код компиляции JavaScript, который часто принимает времени или затрудняет внедрение инструментов в проекты GWT - вместо этого у вас есть клиентский движок Vaadin
  • Предоставляет доступ к серверу из коробки без дополнительного кода.

B) Vaadin предоставляет большой набор компонентов пользовательского интерфейса высокого уровня. Для GWT необходимо использовать коммерческий Sencha GXT для сопоставимого набора компонентов.

C) Vaadin включает в себя основанный на SASS движок темы Valo, который упрощает создание привлекательных пользовательских тем из вашего приложения. Вало - последняя тема для Ваадина.

D) Связывание данных: Vaadin включил возможность связать любой виджет непосредственно с источником данных, таким как база данных, файл или что-либо еще на стороне сервера. Это позволяет определить поведение по умолчанию виджетами для работы с источниками данных.

Vaadin vs GWT

Ответ 6

Я не пробовал Ваадина. Я поклонник GWT, но могу сказать, что меня немного разочаровал набор виджета по умолчанию, предоставляемый GWT. Вам действительно нужно что-то вроде SmartGWT, чтобы заполнить фреймворк.

Ответ 7

Я верю, что Vaadin - это гораздо более продвинутая структура, чем GWT НО Когда дело доходит до оптимизации производительности на стороне клиента, вы ничего не можете сделать, если не создаете свои собственные компоненты (и то, где прекращается красота Ваадина) В проекте, над которым я работаю, сейчас 90% сотрудников, которые я делал, работали как обаяние И тогда мне пришлось использовать временную шкалу событий рядом с несколькими таблицами. Когда я загрузил более 400 экземпляров на временной шкале, моя веб-страница была почти непригодна, чтобы не упоминать о страшной медленности при инициализации. Я пытался оптимизировать код за последние два месяца. В конце я использовал компонент GWT.

Ответ 8

Поскольку любое приложение должно показывать отображаемую информацию, поступающую с сервера, основным требованием для простого кодирования является автоматическое связывание данных с вашими формами и таблицами. С Ваадином это так же просто, как несколько строк кода. В GWT сначала у вас нет сопоставления таблиц. Что касается форм, вы можете сопоставить объект с формой, но для этого вам нужно реализовать так называемый редактор GWT для вашего объекта (и один для каждого объекта внутри него). Редактор - это не что иное, как определение формы, используемой для отображения/изменения объекта. Итак, в целом автоматизация здесь отсутствует.