Минусы и плюсы SmartGWT - PullRequest
       15

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

27 голосов
/ 18 мая 2009

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

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

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

Ответы [ 7 ]

21 голосов
/ 25 мая 2009

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

Плюсы:

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

Минусы:

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

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

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

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

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

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

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

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

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

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

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

http://www.kai -waehner.de / блог / 2010/12/11 / извлеченные уроки-SmartGWT-2-3-компонентная библиотека-для-Google-веб-инструментарий-GWT /

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

8 голосов
/ 18 мая 2009

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

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

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

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

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

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

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

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

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

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

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

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

4 голосов
/ 28 декабря 2009

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

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

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

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

2 голосов
/ 11 июня 2009

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

...