【发布时间】:2011-02-10 17:16:33
【问题描述】:
除了 JavaScript 和 Java 之间的明显差异之外,使用 SmartClient 或 SmartGWT 的相关差异是什么?
【问题讨论】:
标签: smartgwt smartclient
除了 JavaScript 和 Java 之间的明显差异之外,使用 SmartClient 或 SmartGWT 的相关差异是什么?
【问题讨论】:
标签: smartgwt smartclient
SmartGWT 是 SmartClient 的 GWT 包装器,正如您所说,这意味着您可以使用 java 编写 SmartGWT 应用程序。
根据我的经验,在您进行编程时唯一重要的区别是 GWT 包装器比直接使用 js 组件的限制要多一些。例如,以编程方式从 java 中滚动 TreeGrid 是地狱,因为底层表的主体(为了滚动爆炸的东西,您需要得到它)不会通过 SmartGWT 公开,而它当然可以从 js 轻松访问。
总的来说,我不会根据这些差异在 js 组件和 gwt 包装器之间进行选择,但我会考虑您项目中的其他因素。您最熟悉哪种技术?你打算做多少定制?
【讨论】:
就我而言,代码可维护性。
我们是 Python 之家。但对于客户端代码,我们选择 GWT,最初使用 GXT,但现在使用 SmartGWT。
我们不喜欢 Java,但我们更不喜欢 JS,订购、维护多个小部件的库、扩展对象以提供自定义功能等。在 JS 或 Java 中执行此操作之间,选项很明显, Java 方面。我们在这里编写可重用的组件,现在我们为客户端编写非常少的代码,只重用组件并使用 REST 与我们的 Python 后端通信。
我们知道 SmartGWT 比 SmartClient 更冗长,但是,通过 Netbeans 自动完成(这里的一些同事使用 Eclipse),我们可以直接访问记录的每个方法,而不是每次需要测试时都去展示柜或谷歌并尝试新功能。
【讨论】:
SmartGWT 为您提供了可以使用功能强大的编辑器的优势。
您可以轻松地调试自己的代码(但是这对于深入了解 smartclient 代码本身并不是很有帮助)。
您手头有 eclipse/netbeans 的所有自动完成功能。当开始使用 SmartClient/Gwt 时,它可以帮助您找到您正在寻找的东西,因为编辑器可以列出您的类或可用方法以及一些基本文档,这些类/方法实际上是做什么的。为您节省大量浏览文档的时间
【讨论】:
Banang:访问 ListGrid / TreeGrid 主体的 API 现在在 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
【讨论】: