Недостатки и плюсы smartGWT
Через несколько дней я начинаю работу над проектом smartGWT, и я хотел бы знать, какие у вас были впечатления. Чтобы избежать этого избиения smartGWT или GWT или обсуждения вольным стилем, я собираюсь дать некоторые рекомендации для обсуждения:
- Считаете ли вы, что предоставленные виджеты хорошо интегрированы? Есть ли какой-либо виджет, который вы пропускаете в частности?
- У вас возникли проблемы при разработке приложения, вызванного каркасом?
- Является ли интеграция с источником данных полезной, как утверждает команда smartClient?
- Какие методы вы используете для постоянного использования приложения smartGWT? например Насколько хорошо Hibernate и smartGWT играют друг с другом?
Не стесняйтесь добавлять все, что вы считаете нужным указать.
Ответы
Ответ 1
Я думаю, у вас уже есть ваши ответы, но я хотел бы добавить еще несколько комментариев, которые могут повлиять на ваше решение:
Плюсы:
- SmartGWT - это наиболее подходящая библиотека LGG GWT на основе, которую вы можете найти. Поэтому, если вы заботитесь о боли в GPL, это ваша вещь.
- Комплексная витрина.
- Действительно хорошая производительность (просто проверьте витрину).
- Очень активное сообщество на форумах.
- Расширения SmartGWT - еще один важный проект. Например, он поддерживает связь на основе GWT-RPC, что невозможно только при использовании SmartGWT (если вы не реализуете собственную интеграцию).
- Быстрые темпы развития от парней SmartGWT. Просто подсчитайте количество выпусков с момента появления проекта SmartGWT.
Минусы:
- Помимо витрины, я иногда чувствую единственный способ понять, как что-то работает, задавая вопросы на форумах. Это приводит к распространению базы знаний. Предпочтительной будет вики-публикация на уровне сообщества.
- Большое количество статических файлов, которые вы должны использовать с вашим приложением (знаменитый каталог "sc" ), который может привести к проблемам, если ваш внутренний сервер находится в GAE (из-за ограничения 1000 файлов).
Ответ 2
Мы использовали 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/
С уважением,
Кай Вахнер
Ответ 3
Считаете ли вы, что предоставленные виджеты хорошо интегрированы? Есть ли виджет, который вы пропускаете в частности?
Вы можете создать любые пропущенные виджеты, нет единой структуры, которая может обеспечить все, что вы хотите. Виджеты довольно расширяемы.
Является ли интеграция с источником данных полезной, как утверждает команда smartClient?
Данные (JSON/XML) могут предоставляться службами сервлетов, и они понимаются
виджеты.
Какие методы вы используете, чтобы сделать ваше приложение smartGWT постоянным? например Как хорошо Hibernate и smartGWT играют друг с другом?
В службах сервлетов бэкэнд-сервера GWT вы можете сохранить свои данные в хранилище, используя любой постоянный уровень в Java. Hibernate можно просто использовать так же, как и обычное java-приложение.
Ответ 4
Считаете ли вы, что предоставленные виджеты хорошо интегрированы? Есть ли какой-нибудь виджет, который вы пропускаете, в частности?
Да. Виджеты имеют согласованный API и хорошо работают вместе.
Является ли интеграция с источником данных полезной, как утверждает команда smartClient?
Эта ИМО является одной из их самых сильных сторон. После того, как вы начнете использовать свой API-интерфейс Datasource, вы поймете, как мало кода требуется для получения полнофункционального экрана CRUD.
Какие методы вы используете, чтобы сделать ваше приложение smartGWT постоянным? например Насколько хорошо Hibernate и smartGWT играют друг с другом?
Hibernate работает из коробки с версией SmartGWT EE. С версией LGPL с использованием колодцев Glead
Ответ 5
Я думаю, что у SmartGWT есть тонна больших виджетов, но, но есть ОГРОМНАЯ цена.
Создайте простой проект на основе SmartGWT и посмотрите, сколько файлов загружается вашей страницей.
Это, я думаю, полностью противоречит идеалам чего-то вроде GWT. Хотя SmartGWT может быть довольно хорошим вариантом для людей в крайний срок, если вы хотите сырой производительности, держитесь подальше от него.
Количество HTTP-запросов просто убьет ваше приложение.
Ответ 6
- У вас возникли проблемы при разработке приложения, вызванного каркасом?
Да. Когда я объединил плагин Google Eclipse, SmartGWT, GWT 1.6.4 и Wicket, компилятор gwt испустил бы плохой javascript. Плохой javascript, я имею в виду javascrip, который не работает в webkit, или firefox. Мне не удалось получить хороший javascript, пока я полностью не удалю его из проекта Eclipse и не перезапустил Eclipse. Таким образом, эта комбинация не сработает, и я закончил создание SmartGWT отдельно в другом проекте. Другая проблема заключается в том, что Smart-клиент, похоже, хочет контролировать всю страницу в смысле css. Таким образом, встроенный модуль SmartGWT был испорчен, потому что стили не были изолированы должным образом. Ваш пробег может отличаться.
Лично, если вы используете только SmartGWT и для всего, тогда все, скорее всего, будут в порядке, но если вы попытаетесь его смешивать, то мои результаты были катастрофическими. Поэтому я больше не использую его.
Ответ 7
Так же, как контрапункт к плакату выше, который упоминал о проблемах с Wicket, на форумах SmartClient (forums.smartclient.com) есть сообщения об успехе интеграции SmartGWT с широким спектром других технологий. Эти проблемы с плакатом звучат как 1) ошибка GWT, вызывающая плохой JavaScript, и 2) конфликты с именами CSS между SmartGWT и Wicket, возможно, не повреждение структуры. Все имена стиля SmartGWT можно переименовать через систему скинов для разрешения любого такого конфликта.