SmartClient или SmartGWT?

Помимо очевидных различий между JavaScript и Java, каковы существенные различия в использовании SmartClient или SmartGWT?


person ivo    schedule 21.04.2010    source источник


Ответы (6)


SmartGWT - это оболочка GWT для SmartClient, что, как вы говорите, означает, что вы можете написать свое приложение SmartGWT, используя java.

По моему опыту, единственная разница, которая имеет значение при программировании, заключается в том, что оболочка GWT немного более ограничительна, чем использование компонентов js напрямую. Например, программная прокрутка TreeGrid из java - это ад, поскольку тело базовой таблицы (которое вам нужно получить, чтобы прокрутить взорванную вещь) не отображается через SmartGWT, хотя, конечно, легко доступно из js.

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

person Mia Clarke    schedule 22.04.2010
comment
Позвольте мне сказать так: если SmartGWT - это просто оболочка, видите ли вы какой-либо смысл в ее использовании вместо прямого использования SmartClient? Что дает SmartGWT, помимо статической типизации Java? - person ivo; 22.04.2010
comment
Кроме статических преимуществ использования java, нет, я ничего не могу придумать. В конце концов, я полагаю, это зависит от того, какой проект вы выполняете и какие у вас навыки. - person Mia Clarke; 23.04.2010
comment
Обратите внимание, что конкретная проблема, о которой вы говорите (невозможность добраться до тела), была решена давно с помощью этого и других API: smartclient.com/smartgwtee/javadoc/com/smartgwt/client/widgets/ - person Charles Kendrick; 08.06.2010
comment
Одно существенное отличие, о котором здесь не упоминалось, - это отложенное связывание. Разве SmartGWT не быстрее, потому что он использует его как основанный на gwt? Вы получаете разные версии html-страницы для разных браузеров, которые оптимизируются быстрее для каждого из них. - person yetanothercoder; 29.11.2011

В моем случае ремонтопригодность кода.

Мы дом Python. Но для клиентского кода мы выбираем GWT, сначала с GXT, но теперь с SmartGWT.

Нам не нравится Java, но нам не нравится JS намного больше, Заказ, поддержка библиотек для нескольких виджетов, расширение объектов для предоставления пользовательской функциональности и т. Д. Между тем, как делать это на JS или Java, вариант был очевиден, на стороне Java. Мы пишем здесь повторно используемые компоненты, и теперь мы пишем очень минимальный код для клиентской стороны, только повторно используем компоненты и используем REST для связи с нашими бэкэндами Python.

Мы знаем, что SmartGWT более подробный, чем SmartClient, но с автозаполнением Netbeans (некоторые коллеги здесь используют Eclipse) у нас есть прямой доступ к каждому документированному методу, вместо того, чтобы переходить к витрине или Google каждый раз, когда нам нужно протестировать и попробовать новый функциональность.

person Black Hand    schedule 28.01.2011

SmartGWT дает вам то преимущество, что вы можете использовать мощные редакторы.

Вы можете легко отлаживать свой собственный код (однако это не очень полезно для погружения в сам код smartclient).

У вас есть все необходимое для автозаполнения eclipse / netbeans. Когда вы начинаете работать со SmartClient / Gwt, он помогает вам найти то, что вы ищете, потому что редактор может перечислить вам классы или доступные методы и некоторую базовую документацию, что на самом деле делает класс / метод. Экономит время на сканирование документов

person dube    schedule 22.04.2010
comment
dube, это различия, которые можно найти в любой технологии Java и JavaScript. Они не относятся к SmartGWT и SmartClient. - person ivo; 23.04.2010
comment
Просто хотел упомянуть об этом, так как я не могу знать, какой у вас опыт, и для себя, это дает большую разницу, когда нужно использовать smartclient / gwt в первую очередь. Кроме того, это первый раз, когда вы действительно можете сравнить эти два языка, потому что они действительно дают одинаковый результат. Я не собираюсь больше когда-либо трогать javascript напрямую после работы с gwt :) - person dube; 23.04.2010

Бананг: API для доступа к телу ListGrid / TreeGrid теперь доступны в Smart GWT.

person Sanjiv Jivan    schedule 03.05.2010

Мы решили использовать Javascript (без SmartGWT) ... Я предпочитаю так, хотя некоторые из членов нашей команды (новички в Javascript) предпочли бы способ SmartGWT. У обоих есть свои плюсы и минусы:

Одним из преимуществ использования SmartGWT является то, что вы получаете ошибки времени компиляции, поскольку все сначала компилируется компилятором Java, прежде чем оно будет отрисовано в Javascript.

Одним из недостатков SmartGWT является то, что он не предоставляет полный базовый Javascript Smartclient API. Это означает, что если вы хотите делать более сложные вещи, вам в любом случае может потребоваться сделать это в Javascript.

Еще один недостаток SmartGWT с точки зрения производительности заключается в том, что каждое изменение, которое вы делаете и хотите протестировать, должно проходить через болезненный процесс компиляции / развертывания Java EE, тогда как если вы делаете это в Javascript, вы можете быстрее изменить код на стороне клиента, изменив .js файлы напрямую, без необходимости во всем процессе компиляции / развертывания.

person Yan Avery    schedule 17.05.2011

SmartGWT основан на java-коде, и при компиляции он преобразует его в java-скрипт, является тяжелым, поскольку преобразует java-код в js.

SmartClient - это фреймворк, основанный на js, вы можете использовать его компоненты на xml-странице и манипулировать ими в Js, и это легко

le Showcase de smartclient Я рекомендую smartClient

person Walid Haridi    schedule 17.01.2020