Лучшая библиотека виджета GWT?

Вопрос для всех гуру GWT - там, где есть лучшая библиотека виджета GWT? И почему?

Список, основанный на ответах:

И наконец- новое поколение основанное на JsInterop:

Ответ 1

Не привязывайте себя к ЛЮБОЙ из этих библиотек. Используйте Vanilla GWT для создания структуры вашего проекта. В частности, используйте шаблон MVP и шину событий. Пожалуйста, просмотрите статью google, чтобы узнать, как наилучшим образом спроектировать клиентское приложение с помощью GWT: Создание приложений MVP

После этого вы можете использовать любой виджет этих библиотек (скажем, таблицу или выпадающий список, датпикер и т.д.) и включить его в свой проект. Попробуйте использовать расширенные компоненты ТОЛЬКО, если вы не видите способ сделать это с помощью ванильного GWT. Таким образом, вы не привязываетесь к этим библиотекам, которые ВСЕГДА боятся, когда вы пытаетесь сделать что-то, что не появляется в демонстрационном приложении, содержат много ошибок, и их поддержка в лучшем случае невелика.

Как искать виджеты должны следовать этот порядок:

Осторожно с другими библиотеками, я работал с ними (и все еще имею кошмары).

Ответ 2

Зависит от того, что вы подразумеваете под "лучшим". Лучший вид? Лучший API? Лучше всего для удовлетворения ваших собственных потребностей?

Например, я просто оценивал классы таблиц для использования в нашем приложении. Мы использовали GWT-Ext, но у нас есть много проблем с производительностью для нас, и очень сложно получить таблицы размером, как они нам нужны. Я пришел очень близко к GWT-Mosaic, но решил вместо этого построить виджеты в Инкубатор GWT.

Итак, почему я сделал этот выбор? Кажется, что слишком много библиотек там приходят со своими, из-за отсутствия лучшего слова, багажа. Либо вы должны погрузиться целиком в какую-то среду MVC (которая может быть не полностью совместима с остальной частью вашей базы кода), либо вам нужно принять кого-то новую систему фальсифицированных макетов, или вам нужно жить с тем, что вы не можете действительно отлаживать код (потому что его просто обертки JSNI).

Не поймите меня неправильно, GWT Incubator не идеален... виджетов есть в каком-то количестве потока. В моем случае это был лучший выбор. Это дает мне хорошую (но определенно не идеальную):

  • API
  • расширяемость
  • Посмотрите и почувствуйте (ну, это немного слабо, но для чего нужен CSS).

Итак... ответ (для меня) - это комбинация:

  • Виджеты Stock GWT (с большим количеством пользовательских стилей)
  • Таблицы инкубаторов GWT
  • Несколько домашних виджетов

(Я должен добавить: "багаж", который я имею в виду, не обязательно является плохим. Но если вы просто хотите виджет или два, он может поднять планку на то, что нужно, чтобы просто получить вашу работу и как хорошо выглядит ваше приложение.)

Ответ 3

Смотрите эту библиотеку компонентов GWT Bootstrap это реализация в gwt Twitter Bootstrap.

Ответ 4

Только GWT - довольно хорошая библиотека.

Я не использовал все упомянутые, но могу рекомендовать Ext GWT.

Ответ 5

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

Ответ 6

Большинство упомянутых библиотек не являются открытым исходным кодом и даже хуже: это просто обертки поверх библиотеки JavaScript. Сила GWT заключается в том, что приложение работает в разных браузерах (из-за генерации кода для "больших" браузеров). Эти базовые библиотеки JavaScript могут вызвать множество проблем.

Я согласен с jgindin GWT Incubator и GWT Mosaic являются лучшими до сих пор.

Ответ 7

Не сказать "лучший", но я использовал GWT-Ext на работе в последнее время. Он получил некоторые плюсы и минусы:

Плюсы:

  • Относительно легко настроить и использовать
  • Достойный размер сообщества за ним
  • Несколько примеров онлайн, все из которых имеют сопроводительный код
  • Хороший выбор виджетов, которые охватывают широкий спектр функций

Минусы:

  • Делает предположения о вашем формате и структуре данных, которые вы не сможете разместить
  • Библиотека - это просто оболочка JSNI, что затрудняет отладку и расширение
  • Будущая поддержка и развитие в библиотеке неопределенно.
  • Некоторые раздражающие проблемы между браузерами все еще существуют (особенно с макетами).
  • Функция поиска на своих форумах практически бесполезна. (Это становится большой пиздой моего любимого > _ <)

Ответ 8

НЕ используйте ни одно из них! Если вы планируете разрабатывать широкомасштабное приложение, вам следует рассмотреть возможность использования шаблона MVP. Лучшая реализация вокруг MVP4G framework, она поддерживает разворот кода GWT из коробки. Есть много отличных примеров, с которых вы можете начать. Наиболее ценным является Mvp4GModules.

Ответ 9

Добавьте новый: GWT-Bootstrap:)

Сейчас нет стабильного выпуска, но скоро будет.

Ответ 10

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

Сторонние библиотеки часто могут неожиданно нарушить ваши планы. И трудно найти и исправить источник проблемы.

Поэтому я предлагаю использовать простой GWT.

Ответ 11

Я думаю, что SmartGWT в порядке, если вы просто хотите использовать Виджеты такими, какие они есть, но если вы хотите расширить или изменить виджеты, как я делаю в Gxt Scheduler Я думаю, что Ext-GWT - лучший выбор.

Ответ 12

для меня EXT-GWT (aka GXT) - лучшая библиотека, доступная в настоящее время, я использую ее за 6 месяцев проекта, и она помогает много со многими предопределенными компонентами, такими как сетки, деревья.... Это красиво, а также

Ответ 13

SmartGWT - хорошая библиотека, и в ней много примеров, но пользовательский интерфейс не настолько гладкий. Для пользовательского интерфейса Ext GWT хорошо.

Ответ 14

Группа пользователей gwt-mosaic не выглядит очень активной, и я не мог найти руководство пользователя, кроме фрагментов вики. gwt-мозаика познакомила меня с двумя интересными инструментами.

1) gwt-mosaic включает в себя обертку для Tibco PageBus, которая является инструментом публикации/подписки для частей JS вашего приложения (обработчики RPC, обратные вызовы виджетов, установщики виджета). Это альтернатива шине событий gwt.

2) gwt-mosaic поощряет использование Beans Binding (http://code.google.com/p/gwt-beans-binding/) для привязки данных к виджетам и проверки виджета.

smartgwt не является дешевым для полного набора функций и поддержки. Флажок слишком большой для appengine, если вы не удалите файлы тем, которые вы не используете. Они инвестируют инжиниринг на серверной стороне.

Я слышал, что ext-gwt вялый и JS файлы большие.

Инкубатор виджета gwt выглядит устаревшим. Я считаю, что делюкс-сетка будет выпущена с новым gwt.

Отсутствие стандартов look-and-feel, binding и validation препятствует взаимодействию библиотек виджетов.

Ответ 15

Определенно не SmartGWT. Их рамки раздуты и имеют очень наполовину испеченный характер. У них миллион виджетов, но попытка заставить их работать для вашего проекта непросто. Источники данных усложняют процесс управления вашими данными очень большим образом, например, чтобы получить данные в вашем источнике данных, вы должны часто использовать fecth и проверять. Хотя вы можете кэшировать результаты, их не всегда легко допросить.

RPC - еще одна слабая и запутанная область. В документации и на форумах есть противоречивая информация. Хотя в документации будет сказано, что вы редко должны использовать пользовательскую операцию как часть ds, они сообщают вам, что это прекрасно. Научиться эффективно использовать эти инструменты - это подъем в лучшие дни.

Они будут перепродавать продукт. Например, пакет charting/analytics содержит графики... Но эти графики не будут отображать отрицательные значения или позволяют манипулировать метками оси любым значимым образом. И они открыто отвечают на вопросы об этом на форуме с отношением "да, какой". "Мы не планируем добавлять это к 3.0x, хотя это один из наших пунктов продажи, это на нашей дорожной карте". Когда они продали мне пакет, они никогда не упоминали, что я не могу отображать отрицательные значения. В самом деле? Какой график не должен показывать отрицательные значения? Я могу думать только об одном - о том, что изображено количество несчастных Изоморфных клиентов.

Держитесь подальше от этих ребят и отправляйтесь на любой сайт конкурентов, например ExtJS, JQuery, даже quxdoo. Есть несколько проектов, которые действительно набирают силу и действительно предлагают хорошее решение.

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

Желаем удачи и оставайтесь в стороне от этого продукта, если вы цените время разработки и ремонтопригодность. О, и последнее. Посмотрите пример MVC на своем веб-сайте. Это буквально не имеет никакого отношения к MVC, кроме метки, которая читает "MVC". Они попытаются убедить вас в том, что такие рамки для неопытных разработчиков и что такая концепция не имеет места в реальном программировании... Кажется, что те пытаются поймать блоки.

Ответ 16

Библиотека Google по умолчанию - самая мощная библиотека.

Ext GWT добавляет колокола и свистки, но помимо этого он похож на Google.

Ответ 17

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

Ответ 18

В настоящее время мы любим виджеты GWT Mosaic. Мы работали с ext-JS, и в прошлом мы использовали собственные виджеты. ext-JS лицензирование и объемные были проблемой для нас. Роллинг - это не то, что мы хотим сделать. Мозаика дает нам счастливую середину, которую мы хотели бы думать, будет еще более счастливой средой, поскольку проект созреет.

Ответ 19

Одна вещь, о которой нужно знать, это то, что с форумов GWT-Ext похоже, что она больше не будет развиваться/поддерживаться (возможно, не за что?). На своем веб-сайте они рекомендуют перейти на SmartGWT.

Ответ 20

Не видел этого упомянутого, Vaadin (ранее известный был IT Mill Toolkit), но может быть, потому что это не технически точно GWT; как их FAQ говорит:

Как это отличается от GWT?

Приложения GWT запускаются в браузере, в то время как приложения Vaadin работают на сервер. Мы действительно используем GWT как "движок рендеринга" в браузере так что вы можете комбинировать Vaadin и GWT.

Ответ 21

smartGWT медленный, и примеров не хватает, и очень сложно найти ответы даже на основные вопросы, т.е. увидеть все мои нерешенные вопросы на этом форуме. Я демпинг smartgwt.

Ответ 22

Сравнение двух EXT здесь с плюсами и минусами.

Ответ 23

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

С веб-сайта:

Портлеты GWT - это бесплатная веб-среда с открытым исходным кодом для создания приложений GWT (Google Web Toolkit). Он определяет очень простую и продуктивную, но мощную модель программирования для создания хорошо выглядящих модульных приложений GWT.

Модель программирования несколько похожа на запись портлетов JSR168 для портала портала (Liferay, JBoss Portal и т.д.). "Портал" - это ваше приложение, построенное с использованием инфраструктуры почтовых портов GWT в качестве библиотеки. Функциональность приложения разрабатывается как слабо связанные портлеты, каждая из которых имеет дополнительный сервер DataProvider на стороне сервера.

Ответ 24

Я использую GWT в течение года. После многих исследований я решил, что GWT Mosaic является библиотекой виджета. Мозаика использует некоторые из компонентов инкубатора GWT, такие как PagingScrollTable. Но возможностей со списком и таблицы для нас недостаточно. Вот почему у нас есть расширили эти компоненты, чтобы добавить необходимую функциональность.

Ответ 25

Проверьте SpiffyUI: www.spiffyui.org

Это не просто библиотека виджетов, а сложная структура UI/UX GWT.

Ответ 26

Две важные вещи - и то, что большинство библиотек пропускают, - это модульное тестирование и отладка. Именно там сияет GWT. Если вы используете библиотеку, основанную на vanilla js, вы отдаете возможность unit test и отлаживаете свой проект. В качестве разработчика GWT вы должны учитывать эти моменты и использовать библиотеку без или минимальной зависимости js.

Ответ 27

Мы выполняем проекты gwt более двух лет, и мы придерживаемся виджета по умолчанию. Мы создали нашу собственную библиотеку с открытым исходным кодом, чтобы автопопуляцией стандартных или собственных расширений виджета. Пожалуйста, проверьте его, он называется gwt-jet. Он очень хорошо протестирован, так как мы используем его в больших производственных средах, и мы надеемся, что он будет расти безопасно через время.