Минусы и плюсы smartGWT

Я начинаю работу над проектом smartGWT через несколько дней, и мне хотелось бы знать, какой у вас был опыт. Чтобы избежать критики smartGWT или GWT или обсуждения вольного стиля, я собираюсь дать несколько указателей для обсуждения:

  • Считаете ли вы, что предоставленные виджеты хорошо интегрированы? Есть ли какой-нибудь виджет, который вам особенно не хватает?
  • Сталкивались ли вы с какими-либо проблемами при разработке приложения, вызванными фреймворком?
  • Насколько полезна интеграция источников данных, как утверждает команда smartClient?
  • Какие методы вы используете, чтобы сделать ваше приложение smartGWT постоянным? например Насколько хорошо Hibernate и smartGWT взаимодействуют друг с другом?

Не стесняйтесь добавлять все, что, по вашему мнению, заслуживает внимания.


person pmr    schedule 18.05.2009    source источник


Ответы (7)


Думаю, у вас уже есть ответы, но я хотел бы добавить еще несколько комментариев, которые могут повлиять на ваше решение:

Плюсы:

  • SmartGWT - это самая емкая библиотека виджетов на основе LGPL GWT, которую вы можете найти. Так что, если вам небезразлична боль GPL, это ваше дело
  • Комплексная витрина.
  • Действительно хорошая производительность (просто проверьте витрину).
  • Очень активное сообщество на форумах.
  • Расширения SmartGWT - еще один важный проект. Например, он поддерживает связь на основе GWT-RPC, что невозможно только с SmartGWT (если вы не реализуете свою собственную интеграцию).
  • Быстрые темпы развития от ребят из SmartGWT. Просто посчитайте количество релизов с момента появления проекта SmartGWT.

Минусы:

  • Иногда мне кажется, что единственный способ узнать, как что-то работает, помимо витрины, - это задать вопрос на форумах. Это приводит к расширению базы знаний. Было бы предпочтительнее использовать вики на основе сообщества.
  • Большое количество статических файлов, которые вы должны использовать с вашим приложением (знаменитый каталог sc), что может привести к проблемам, если ваша серверная часть находится в GAE (из-за ограничения в 1000 файлов).
person ivo    schedule 25.05.2009
comment
Добавьте недостающую документацию (хотя она улучшается) и слабую поддержку на форумах в список минусов. - person Mark Stahler; 21.06.2010
comment
Большое количество статических файлов, которые вы должны использовать с вашим приложением, что может привести к проблемам, если ваша серверная часть находится в GAE есть ли какое-либо обходное решение для этого, если вы используете GAE? например использовать более чистые темы с меньшим количеством изображений и т. д. - person yetanothercoder; 27.09.2011
comment
@yetanothercoderu: В тот день, когда я использовал GWT, мне удалось решить проблему, используя один заархивированный файл папки sc и сервлет для разархивирования ресурсов на лету. Я разместил это хакерское решение здесь: forum.smartclient.com/showthread.php?t = 5258 Обратите внимание, что не хватает производительности. - person ivo; 27.09.2011
comment
Некоторые обновления этого старого, но хорошего ответа: 1. GAE больше не имеет этого ограничения. 2. Значительно улучшена документация, начните с docs.smartclient.com и прочтите новое руководство по быстрому запуску. 3. Загляните на форумы (forum.smartclient.com) - там огромное количество активности, много участия от Isomorphic с около 15 сообщений в день, и когда люди сообщают о реальных ошибках, они часто исправляются в мгновение ока. - person Charles Kendrick; 16.02.2012
comment
Спустя почти 10 лет поддержка стала скорее хуже, чем лучше. Вопросы SmartGWT практически никогда не получают ответов (проверьте тег). - person Tomáš Zato - Reinstate Monica; 19.11.2018

Мы использовали SmartGWT в нашем последнем проекте (продолжительность: 6 месяцев). Следующее мое личное мнение:

Виджеты действительно отличные! Документация и API подробны. Мы снова будем использовать клиентскую часть.

Серверная интеграция работает, но не экономит время на разработку. Вместо этого у нас было много проблем, и нам пришлось искать обходные пути. Кроме того, из-за нового API ни один другой разработчик не может поддерживать проект, вкладывая много времени в изучение API SmartGWT.

Некоторые минусы:

  • Вам нужно изучить совершенно новый API вместо использования Hibernate и GWT-RPC или REST.

  • Это правда, что интеграция данных происходит автоматически. Но если вам нужны некоторые (также небольшие) изменения, вы должны написать файлы сопоставления XML, как в Hibernate или JDO. Так что пользы больше нет.

  • Поддержка на форуме плохая: вы получаете ответ почти на каждый заданный вопрос. Но этот ответ часто не помогает. Они спрашивают вас о таких вещах, как «почему вы хотите это сделать». Или они говорят: «Используйте наш инструмент и сделайте с ним XYZ» три раза, хотя я снова и снова говорил им, что это предложение не работает. После нескольких ответов на вопрос окончательный ответ: «Вам нужно обучение, купите нашу поддержку».

  • Коммерческая поддержка очень дорога (стоит примерно столько же, сколько лицензия SmartGWT).

Вероятно, мы больше не будем использовать серверную интеграцию SmartGWT.

Вы можете прочитать все мои «извлеченные уроки» с плюсами и минусами в моем блоге:

http://www.kai-waehner.de/blog/2010/12/11/lessons-learned-smartgwt-2-3-component-library-for-google-web-toolkit-gwt/

С уважением, Кай Венер

person Kai Wähner    schedule 11.12.2010
comment
+1 в раздел поддержки форума. Поддержка на форуме действительно плохая. Спасибо за сообщение в блоге - я кое-что узнал из него :) - person Kimi; 12.07.2011

Считаете ли вы, что предоставленные виджеты хорошо интегрированы? Есть ли какой-нибудь виджет, который вам особенно не хватает?

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

Насколько полезна интеграция источников данных, как утверждает команда smartClient?

Данные (JSON / XML) могут предоставляться сервисами сервлетов, и они понимаются виджетами.

Какие методы вы используете, чтобы сделать ваше приложение smartGWT постоянным? например Насколько хорошо Hibernate и smartGWT взаимодействуют друг с другом?

В сервисах серверных сервлетов GWT вы можете сохранять свои данные в хранилище, используя любой постоянный уровень в Java. Hibernate можно использовать так же, как и обычное Java-приложение.

person Ray Lu    schedule 18.05.2009

Do you feel that the provided widgets are integrated well? Is there any widget you miss in particular?

да. Виджеты имеют единый API и хорошо работают вместе.

Is the datasource integration as usefull as the smartClient team claims?

Эта IMO - одна из их самых сильных сторон. Как только вы начнете использовать их Datasource API, вы поймете, как мало кода требуется для получения полнофункционального экрана CRUD.

What methods do you use to make your smartGWT application persistent? e.g. How well do Hibernate and smartGWT play with each other?

Hibernate сразу работает с версией SmartGWT EE. С версией LGPL использование Glead работает неплохо

person Community    schedule 19.05.2009

Я думаю, что в SmartGWT есть масса отличных виджетов, но за ОГРОМНУЮ цену. Создайте простой проект на основе SmartGWT и посмотрите, сколько файлов загружает ваша страница. Я думаю, что это полностью противоречит идеалам чего-то вроде GWT. Хотя SmartGWT может быть довольно хорошим вариантом для людей, работающих в крайний срок, если вам нужна чистая производительность, держитесь от него подальше. Количество HTTP-запросов просто убьет ваше приложение.

person yesudeep    schedule 28.12.2009
comment
Неправильно. SmartGWT предназначен для веб-приложений, которые люди используют для расширенного сеанса и / или на постоянной основе. В этом контексте HTTP-запросы для кэшируемых ресурсов выполняются один раз, а динамические запросы данных - это то, на чем должна сосредоточиться настройка производительности. И здесь SmartGWT является гигантским лидером благодаря таким функциям, как адаптивная фильтрация: smartclient.com/index.jsp #adaptiveFilter Благодаря таким функциям для приложений, которые соответствуют описанному выше профилю использования, SmartGWT является самым быстрым доступным решением. - person Charles Kendrick; 31.07.2010

  • Сталкивались ли вы с какими-либо проблемами при разработке приложения, вызванными фреймворком?

да. Когда я объединил плагин Google Eclipse, SmartGWT, GWT 1.6.4 и Wicket, компилятор gwt выдал плохой javascript. Под плохим javascript я подразумеваю javascrip, который не работает в webkit или firefox. Мне не удалось получить хороший javascript, пока я полностью не удалил его из проекта Eclipse и не перезапустил Eclipse. Таким образом, эта комбинация не сработала, и в итоге я создал часть SmartGWT отдельно в другом проекте. Другая проблема заключается в том, что смарт-клиент, похоже, хочет контролировать всю страницу в смысле CSS. Итак, встроенный модуль SmartGWT был испорчен, потому что стили не были изолированы должным образом. Ваш пробег может отличаться.

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

person Community    schedule 19.05.2009
comment
Это звучит как 1) ошибка GWT, вызывающая плохой JavaScript, который, вероятно, уже исправлен, и 2) конфликты именования CSS между SmartGWT и Wicket, вероятно, ни одна из них не является ошибкой фреймворка, поэтому не уверен, почему в этом обвиняют SmartGWT. SmartGWT может хорошо работать с CSS любой библиотеки - все имена стилей SmartGWT могут быть переименованы через систему скинов для разрешения любого такого конфликта. - person Charles Kendrick; 12.03.2010

Точно так же, как контрапункт вышеупомянутому плакату, который упомянул проблемы с Wicket, форумы SmartClient (forum.smartclient.com) сообщают об успешной интеграции SmartGWT с широким спектром других технологий. Проблемы этого плаката звучат как 1) ошибка GWT, вызывающая плохой JavaScript и 2) конфликты именования CSS между SmartGWT и Wicket, вероятно, ни одна из них не является ошибкой фреймворка. Все имена стилей SmartGWT можно переименовать с помощью системы скиннинга, чтобы разрешить любой такой конфликт.

person Community    schedule 10.06.2009