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

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

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

Не стесняйтесь добавлять все, что вы чувствуете, это стоит отметить.

7 ответов


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

плюсы:

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

плюсы:

  • помимо витрины, я иногда чувствую, что единственный способ выяснить, как что-то работает, спрашивая на форумах. Это ведет к распространению базы знаний. Сообщество основано Вики будет предпочтительнее.
  • большое количество статических файлов, которые вы должны использовать с вашим приложением (знаменитый каталог "sc"), что может привести к проблемам, если ваш сервер находится в GAE (из-за предела 1000 файлов).

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

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

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

Одни Минусы:

  • вам нужно изучить совершенно новый 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/

с наилучшими пожеланиями, Kai Wähner


считаете ли вы, что предоставленные виджеты хорошо интегрированы? Есть ли виджет вы пропустите в частности?

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

интеграция данных, как полезной, так как команда smartClient претензии?

данные (JSON / XML) могут быть предоставлены сервлет-службами, и они понято штучки.

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

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


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

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

интеграция данных, как полезной, так как команда smartClient претензии?

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

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

Hibernate работает из коробки с версией SmartGWT EE. С версией LGPL с использованием Glead works wells


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


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

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

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


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