Вопрос ко всем гуру GWT - какая из лучших библиотек GWT виджетов существует? И почему?
Список на основе ответов:
- По умолчанию
- Сенча GXT
- Smart GWT
- Vaadin
- GWT-Bootstrap
- GwtBootstrap3
- Ракета GWT (неактивная)
- Татами (неактивный)
- ErraiFramework
- GWTMaterialDesign
И наконец- новое поколение основанное на JsInterop :
Ответы:
Не связывай себя ни с одной из этих библиотек. Используйте Vanilla GWT для создания структуры вашего проекта. В частности, используйте шаблон MVP и шину событий. Пожалуйста, обратитесь к статье Google, чтобы узнать, как лучше спроектировать ваше клиентское приложение с помощью GWT: Создание приложений MVP
После этого вы можете использовать любой виджет этих библиотек (например, таблицу или комбинированный список, средство выбора даты и т. Д.) И включить его в свой проект. Попробуйте использовать ТОЛЬКО расширенные компоненты, если вы не видите способа сделать это с помощью vanilla GWT. Таким образом, вы не привязываете себя к этим библиотекам, которые ВСЕГДА испытывают боль, когда вы пытаетесь сделать что-то, что не появляется в демонстрационном приложении, содержит много ошибок и их поддержка в лучшем случае плохая.
Как искать виджеты следует в следующем порядке:
Осторожнее с другими библиотеками, я работал с ними (и до сих пор ночные кошмары).
источник
Зависит от того, что вы подразумеваете под «лучшим». Лучший вид? Лучший API? Лучше всего для расширения ваших собственных потребностей?
Например, я просто оценивал классы таблиц для использования в нашем приложении. Мы использовали GWT-Ext, но у нас много проблем с производительностью, и очень трудно подобрать таблицы по размеру так, как они нам нужны. Я подошел очень близко к GWT-Mosaic , но решил вместо этого создать виджеты в инкубаторе GWT .
Итак, почему я сделал этот выбор? Похоже, что слишком многие библиотеки там имеют свой собственный, из-за отсутствия лучшего слова, багаж. Либо вам придется полностью погрузиться в какую-то инфраструктуру MVC (которая может быть не полностью совместима с остальной частью вашей кодовой базы), либо вы должны принять новую чью-то запутанную систему компоновки, либо вам придется смириться с тем, что вы не можете действительно отладить код (потому что это просто оболочки JSNI).
Не поймите меня неправильно, инкубатор GWT не совершенен ... виджеты в некотором количестве изменяются. В моем случае это был лучший выбор. Это дает мне хорошее (но определенно не идеальное):
Итак ... ответ (для меня) это сочетание:
(Я должен добавить: «багаж», о котором я говорю, не обязательно плохая вещь. Но, если вам нужен только один или два виджета, это может поднять планку того, что нужно, чтобы просто выполнить свою работу и как хорошо выглядит приложение.
источник
Посмотрите эту библиотеку компонентов GWT Bootstrap, это реализация в gwt Twitter Bootstrap.
источник
GWT одна довольно хорошая библиотека.
Я не использовал все перечисленные, но могу рекомендовать Ext GWT .
источник
Я предпочитаю ванильный GWT. Некоторые из других API выглядят симпатично, и их витрины действительно демонстрируют виджеты, но я всегда нахожу, что производительность не самая лучшая .... когда я говорю производительность, я имею в виду скорее время отклика. Я ненавижу, когда приложение чувствует себя вялым.
источник
Большинство упомянутых библиотек не имеют открытого исходного кода и, что еще хуже, являются просто обертками над библиотекой JavaScript. Сила GWT заключается в том, что приложение работает в разных браузерах (в частности, из-за генерации кода для «больших» браузеров). Эти базовые библиотеки JavaScript могут вызвать много проблем.
Я согласен с JGDIN GWT Incubator и GWT Mosaic пока что являются лучшими.
источник
Не сказать, что это «лучший», но я в последнее время использую GWT-Ext на работе. У него есть плюсы и минусы:
Плюсы:
Минусы:
источник
НЕ используйте ни один из них! Если вы планируете разрабатывать крупномасштабное приложение, вам следует рассмотреть возможность использования шаблона MVP. Лучшая реализация вокруг - это фреймворк MVP4G , он поддерживает разделение кода GWT из коробки. Есть много отличных примеров, с которых можно начать. Самый ценный из них - Mvp4GModules.
источник
Добавьте новый: GWT-Bootstrap :)
Сейчас нет стабильной версии, но скоро будет.
источник
Мой опыт показывает, что со сторонними библиотеками всегда много проблем. Лучший способ - это использовать известные и хорошо продуманные технологии, а также собственные компоненты. Для их написания и обслуживания может потребоваться больше времени, но TCO всегда находится на более низком уровне.
Сторонние библиотеки часто могут неожиданно нарушить ваши планы. И трудно найти и исправить источник проблемы.
Поэтому я бы предложил использовать обычный GWT.
источник
Я думаю, что SmartGWT - это хорошо, если вы просто хотите использовать виджеты как они есть, но если вы хотите расширить или изменить виджеты, как я это делаю в планировщике Gxt, я думаю, что Ext-GWT - лучший выбор.
источник
для меня EXT-GWT (он же GXT) - лучшая библиотека, доступная в настоящее время, я использую ее в 6-месячном проекте, и она очень помогает со многими предопределенными компонентами, такими как сетки, деревья ... Это также прекрасно
источник
SmartGWT - это хорошая библиотека, в которой есть много примеров, но пользовательский интерфейс не такой элегантный. Для пользовательского интерфейса Ext GWT это хорошо.
источник
Группа пользователей gwt-mosaic выглядит не очень активной, и я не смог найти руководство пользователя, кроме фрагментов вики. gwt-mosaic познакомила меня с двумя интересными инструментами.
1) gwt-mosaic включает в себя оболочку для PageBus Tibco, который является инструментом публикации / подписки для JS-частей вашего приложения (обработчики RPC, обратные вызовы виджетов, установщики виджетов). Это альтернатива шине событий GWT.
2) gwt-mosaic поощряет использование Beans Binding (http://code.google.com/p/gwt-beans-binding/) для привязки данных к виджетам и проверки виджетов.
SmartGWT не дешево для полного набора функций и поддержки. Баночка слишком велика для appengine, если вы не удалите файлы тем, которые вы не используете. Они также вкладывают средства в разработку на стороне сервера.
Я слышал, что ext-gwt вялый, а файлы JS большие.
Инкубатор виджетов gwt выглядит устаревшим. Я верю, что роскошная сетка будет выпущена с новым gwt.
Отсутствие стандартов внешнего вида, связывания и валидации затрудняет взаимодействие библиотек виджетов.
источник
Определенно не SmartGWT. Их структура раздутая и имеет очень полусыренную природу. У них есть миллион виджетов, но попытка заставить их работать на ваш проект не легка. Источники данных очень сильно усложняют процесс управления вашими данными, например, чтобы получить доступ к данным в вашем источнике данных, вы должны часто использовать fecth и проверять. Хотя вы можете кэшировать результаты, их не всегда легко опрашивать.
RPC - еще одна слабая и запутанная область. В документации и на форумах противоречивая информация. Хотя в документации будет сказано, что вам редко следует использовать пользовательские операции как часть ds, на форуме вам сообщат, что это совершенно нормально. Научиться эффективно использовать эти инструменты - трудный подъем в лучшие дни.
Они будут перепродавать продукт. Например, пакет карт / аналитики содержит графики ... Но эти графики не будут отображать отрицательные значения или позволят вам манипулировать метками осей любым осмысленным способом. И они открыто отвечают на вопросы об этом на форуме с отношением «да и что». «Мы не планируем добавлять это в 3.0x, хотя это один из наших пунктов продажи, это на нашей дорожной карте». Когда они продавали мне пакет, они никогда не упоминали, что я не могу отображать отрицательные значения. В самом деле? Какой график не должен быть в состоянии показать отрицательные значения? Я могу думать только об одном - о том, что изображает количество несчастных изоморфных клиентов.
Держитесь подальше от этих парней и зайдите на сайт любого конкурента, например ExtJS, JQuery, черт возьми, даже quxdoo. Есть несколько проектов, которые действительно набирают силу и действительно предлагают хорошее решение.
Будьте очень осторожны, если вы когда-либо оцениваете этот продукт. Это выглядит красиво, но примерно через две недели в проекте с его использованием вы начнете понимать, что я имею в виду. Виджеты наполовину испечены, источники данных чрезвычайно сложны, и только потому, что вы заплатили за поддержку форума, не означает, что вы на самом деле получите что-то иное, нежели снисходительные, снисходительные ответы, которые поначалу заставят вас думать, что вы что-то упустили. Вы не они, как правило, очень высокомерны.
Желаем удачи, и держитесь подальше от этого продукта, если вы цените время разработки и ремонтопригодность. Ох, и последнее. Посмотрите на пример MVC на их веб-сайте. Он буквально не имеет ничего общего с MVC, кроме метки с надписью «MVC». Они попытаются убедить вас в том, что такие фреймворки предназначены для неопытных разработчиков, и что такой концепции нет места в реальном программировании ... Вроде как те, которые пытаются блокировать ловушку.
источник
Библиотека Google по умолчанию является самой мощной библиотекой.
Ext GWT добавляет навороты, но кроме этого он похож на Google.
источник
В настоящее время нам нравятся виджеты GWT Mosaic . Мы работали с ext-JS, и мы катали свои собственные виджеты в прошлом. Лицензирование ext-JS и массовая работа были для нас проблемой. Роллинг наш не то, что мы хотим сделать. Мозаика дает нам счастливую золотую середину, которая, как нам нравится думать, станет еще более счастливой золотой серединой по мере развития проекта.
источник
Я бы сказал, если вам нужно всего несколько виджетов, то создайте свой собственный. Вы можете скопировать и вставить некоторые концепции из упомянутых библиотек. Но им всем не хватает того или другого. Я играл с большинством из них и отказался от всех.
источник
Следует помнить, что на форумах GWT-Ext выглядит так, как будто его больше не будут разрабатывать / поддерживать (может быть, совсем нет). На своем сайте они рекомендуют перейти на SmartGWT .
источник
Я не упомянул об этом, Ваадин (ранее известный как IT Mill Toolkit), но, возможно, это потому, что это технически не совсем GWT; поскольку их FAQ говорит:
источник
SmartGWT работает медленно, примеров нет, и очень сложно найти ответы даже на основные вопросы, то есть посмотреть все мои неотвеченные вопросы на этом форуме. Я сбрасываю smartgwt.
источник
Сравнение двух EXT здесь с плюсами и минусами.
источник
Мы создали большой HR-портал и несколько небольших приложений, использующих портлеты GWT . В центре внимания проекта не столько создание коллекции виджетов, сколько создание простой модели программирования.
С веб-сайта:
GWT Portlets - это бесплатная веб-платформа с открытым исходным кодом для создания приложений GWT (Google Web Toolkit). Он определяет очень простую и продуктивную, но мощную модель программирования для создания привлекательных модульных приложений GWT.
Модель программирования чем-то похожа на написание портлетов JSR168 для сервера портала (Liferay, JBoss Portal и т. Д.). «Портал» - это ваше приложение, созданное с использованием инфраструктуры портлетов GWT в качестве библиотеки. Функциональные возможности приложения разрабатываются в виде слабо связанных портлетов, каждый из которых имеет дополнительный сервер DataProvider.
источник
Я использую GWT в течение года. После долгих исследований я решил, что GWT Mosaic - это библиотека виджетов. Mosaic использует некоторые компоненты инкубатора GWT, такие как PagingScrollTable. расширили эти компоненты, чтобы добавить необходимую функциональность.
источник
Проверьте SpiffyUI: www.spiffyui.org
Это не просто библиотека виджетов, а сложная структура UI / UX GWT.
источник
Две важные вещи - и то, что пропускает большинство библиотек - это модульное тестирование и отладка. Это где GWT сияет. Если вы используете библиотеку, основанную на vanilla js, вы отказываетесь от возможности модульного тестирования и отладки своего проекта. Как разработчик GWT, вы должны учитывать эти моменты и использовать библиотеку без или с минимальной зависимостью от js.
источник
Мы занимаемся проектами gwt более 2 лет и придерживаемся виджетов по умолчанию. Мы сделали нашу собственную библиотеку с открытым исходным кодом, чтобы автоматически заполнить стандартные или наши собственные расширения виджетов. Пожалуйста, проверьте это, это называется gwt-jet . Он очень хорошо протестирован, поскольку мы используем его в больших производственных средах, и мы надеемся, что он будет расти с течением времени.
источник