Различия между GWT и Ваадином - PullRequest
51 голосов
/ 11 ноября 2010

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

Ответы [ 8 ]

57 голосов
/ 11 ноября 2010

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

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

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

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

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

32 голосов
/ 09 января 2012

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

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

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

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

  • Расширить GWT с помощью сторонних виджетов очень просто,или сверните свое собственное.Создание новых виджетов Vaadin более сложное.

16 голосов
/ 12 ноября 2010

Еще одно преимущество Vaadin: вам не нужно проектировать или реализовывать взаимодействие клиент-сервер, это встроено.

8 голосов
/ 07 января 2012

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

7 голосов
/ 31 марта 2016

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

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

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

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

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

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

Vaadin vs GWT

4 голосов
/ 08 октября 2015

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

3 голосов
/ 11 ноября 2010

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

2 голосов
/ 21 июня 2012

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

...