Смарт GWT или Ext GWT или Vaadin для Google App Engine? - PullRequest
3 голосов
/ 10 сентября 2010

У меня есть серверная часть на движке приложений Google. Теперь мне нужно RIA поверх этого. Какой должен быть мой вариант? Смарт GWT? Ext GWT? или Ваадин?

или если кто-либо из вас знает какую-либо другую технологию пользовательского интерфейса RIA, кроме JSF и Flex, просьба сообщить мне.

Ответы [ 4 ]

1 голос
/ 25 апреля 2013

Вы пометили этот вопрос с помощью GAE (Google App Engine).Там у Vaadin есть ужасный недостаток: ему нужны липкие сессии для адекватной производительности, вот фон:

http://dev.vaadin.com/ticket/6349

.. но GAE не поддерживает липкие сессии и никогда не будет.Ошибка закрыта WontFix здесь:

https://code.google.com/p/googleappengine/issues/detail?id=1320

Ни GXT, ни SmartGWT не требуют липких сессий и не страдают от проблемы, обсуждаемой на Vaadin.com.Полное раскрытие: я технический директор компании, которая делает SmartGWT.

1 голос
/ 28 сентября 2011

У меня такая же потребность: оценка SmartGWT и Vaadin для приложения RIA, размещенного на GAE.

Сравнивая их до сих пор, я думаю, SmartGWT действительно быстрее и богаче, потому что вся логика графического интерфейса пользователя скомпилирована в javascript и очень лениво запрашивает на стороне сервера, только если клиенту нужны новые данные, которые былине загружается в браузер раньше + некоторые гибкие вещи для кеширования и так далее.И богаче, поскольку SmartGWT поставляет больше виджетов.

Но вы должны реализовать все компоненты на стороне сервера самостоятельно (или купить лицензию), это является основным недостатком, поскольку вам необходимо переопределить их проприетарные протоколы DataSource, на которых основано большинство графических элементов привязки данных.

Еще один недостаток - загрузка первой страницы занимает много времени, так как есть много статических ресурсов и скомпилированного JavaScript-материала.

Vaadin использует совершенно противоположный способ - вы пишете все своибизнес-код на стороне сервера с полнофункциональной java и составление вашего GUI из предопределенных элементов (с уже скомпилированным для них javascript).

Основное отличие состоит в том, что он генерирует GUI и обрабатывает большинство событий браузера на стороне сервера.!Таким образом, любое действие в браузере, которое изменяет состояние графического интерфейса, например нажатие на ячейку сетки, кнопку или вкладку, генерирует специальный запрос на стороне сервера и получает такой ответ:

for(;;);[{"changes":[["change",{"format": "uidl","pid": "PID168"},["14",{"id": "PID168","width": "100.0%"},"Selected: [AS]"]]], "meta" : {}, "resources" : {}, "locales":[]}]

, который указывает, каким должен быть графический интерфейсобновлено.Таким образом, Vaadin предоставляет вам полную поддержку Java для вашей логики графического интерфейса, но вы платите за это, обрабатывая все события графического интерфейса на стороне сервера.

Таким образом, я думаю, Vaadin больше подходит для интранета и требует меньше времени для разработки вашего приложения, тогда как SmartGWT лучше для более сложных графических интерфейсов или нестабильных соединений, где дополнительные обходы имеют значение .

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

0 голосов
/ 12 сентября 2010

Я использую обычный GWT, и мне очень нравится гибкость и производительность.С другой стороны, я немного скучаю по организации информации.Большая часть тем освещена в отдельных сообщениях на нескольких форумах, и требуется много взлома.ИМХО, нет четкого представления о том, куда и за что идет этот фреймворк.

С другой стороны, Vaadin, который я протестировал, имеет очень интересные функции, работает очень хорошо прямо из коробкии является бесплатным, но сообщество поддержки гораздо меньше.

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

0 голосов
/ 11 сентября 2010

Или, может быть, просто GWT. Или, может быть, просто HTML ;-) Каковы ваши потребности? Что делает ваше приложение?

...