Помимо очевидных различий между JavaScript и Java, каковы существенные различия в использовании SmartClient или SmartGWT?
SmartClient или SmartGWT?
Ответы (6)
SmartGWT - это оболочка GWT для SmartClient, что, как вы говорите, означает, что вы можете написать свое приложение SmartGWT, используя java.
По моему опыту, единственная разница, которая имеет значение при программировании, заключается в том, что оболочка GWT немного более ограничительна, чем использование компонентов js напрямую. Например, программная прокрутка TreeGrid из java - это ад, поскольку тело базовой таблицы (которое вам нужно получить, чтобы прокрутить взорванную вещь) не отображается через SmartGWT, хотя, конечно, легко доступно из js.
В целом, я бы не стал основывать выбор между js-компонентами и оболочкой gwt исключительно на этих различиях, но я бы посмотрел на другие факторы в вашем проекте. Какие техники вам наиболее удобны? Какую настройку вы планируете делать?
В моем случае ремонтопригодность кода.
Мы дом Python. Но для клиентского кода мы выбираем GWT, сначала с GXT, но теперь с SmartGWT.
Нам не нравится Java, но нам не нравится JS намного больше, Заказ, поддержка библиотек для нескольких виджетов, расширение объектов для предоставления пользовательской функциональности и т. Д. Между тем, как делать это на JS или Java, вариант был очевиден, на стороне Java. Мы пишем здесь повторно используемые компоненты, и теперь мы пишем очень минимальный код для клиентской стороны, только повторно используем компоненты и используем REST для связи с нашими бэкэндами Python.
Мы знаем, что SmartGWT более подробный, чем SmartClient, но с автозаполнением Netbeans (некоторые коллеги здесь используют Eclipse) у нас есть прямой доступ к каждому документированному методу, вместо того, чтобы переходить к витрине или Google каждый раз, когда нам нужно протестировать и попробовать новый функциональность.
SmartGWT дает вам то преимущество, что вы можете использовать мощные редакторы.
Вы можете легко отлаживать свой собственный код (однако это не очень полезно для погружения в сам код smartclient).
У вас есть все необходимое для автозаполнения eclipse / netbeans. Когда вы начинаете работать со SmartClient / Gwt, он помогает вам найти то, что вы ищете, потому что редактор может перечислить вам классы или доступные методы и некоторую базовую документацию, что на самом деле делает класс / метод. Экономит время на сканирование документов
Бананг: API для доступа к телу ListGrid / TreeGrid теперь доступны в Smart GWT.
Мы решили использовать Javascript (без SmartGWT) ... Я предпочитаю так, хотя некоторые из членов нашей команды (новички в Javascript) предпочли бы способ SmartGWT. У обоих есть свои плюсы и минусы:
Одним из преимуществ использования SmartGWT является то, что вы получаете ошибки времени компиляции, поскольку все сначала компилируется компилятором Java, прежде чем оно будет отрисовано в Javascript.
Одним из недостатков SmartGWT является то, что он не предоставляет полный базовый Javascript Smartclient API. Это означает, что если вы хотите делать более сложные вещи, вам в любом случае может потребоваться сделать это в Javascript.
Еще один недостаток SmartGWT с точки зрения производительности заключается в том, что каждое изменение, которое вы делаете и хотите протестировать, должно проходить через болезненный процесс компиляции / развертывания Java EE, тогда как если вы делаете это в Javascript, вы можете быстрее изменить код на стороне клиента, изменив .js файлы напрямую, без необходимости во всем процессе компиляции / развертывания.
SmartGWT основан на java-коде, и при компиляции он преобразует его в java-скрипт, является тяжелым, поскольку преобразует java-код в js.
SmartClient - это фреймворк, основанный на js, вы можете использовать его компоненты на xml-странице и манипулировать ими в Js, и это легко
le Showcase de smartclient Я рекомендую smartClient