SmartClient还是SmartGWT?

时间:2010-04-21 17:16:39

标签: smartgwt smartclient

除了JavaScript和Java之间存在明显差异外,使用SmartClient或SmartGWT的相关区别是什么?

6 个答案:

答案 0 :(得分:8)

SmartGWT是SmartClient的GWT包装器,正如您所说,这意味着您可以使用java编写SmartGWT应用程序。

根据我的经验,编程时唯一重要的区别是GWT包装器比直接使用js组件更具限制性。例如,以编程方式从Java滚动TreeGrid是地狱,因为底层表的主体(你需要得到以滚动爆破的东西)不是通过SmartGWT公开的,而它当然可以从js轻松访问。

总的来说,我不会根据这些差异在js组件和gwt包装器之间进行选择,但我会考虑项目中的其他因素。您最熟悉哪种技术?你打算做多少custimization?

答案 1 :(得分:5)

就我而言,代码可维护性。

我们是一个Python家。但对于客户端代码,我们选择GWT,最初使用GXT,但现在使用SmartGWT。

我们不喜欢Java,但我们不再喜欢JS,订购,维护几个小部件的库,扩展对象以提供自定义功能等,在JS或Java之间做这个,选项显而易见, Java方面。我们在这里编写可重用的组件,现在我们为客户端编写非常少的代码,只重用组件并使用REST与我们的Python后端进行通信。

我们知道SmartGWT比SmartClient更冗长,但是,通过Netbeans自动完成(这里有一些同事使用Eclipse),我们可以直接访问每个记录的方法,而不是每次我们需要测试时都去展示或google并尝试新的功能。

答案 2 :(得分:2)

SmartGWT为您提供了使用强大编辑器的优势。

您可以轻松调试自己的代码(但这对于深入了解智能客户端代码本身并不是很有帮助。)

你手头有eclipse / netbeans的所有自动完成功能。当开始使用SmartClient / Gwt时,它可以帮助您找到所需的内容,因为编辑器可以列出类或可用的方法以及类/方法实际执行的一些基本文档。为您节省大量时间浏览文档

答案 3 :(得分:1)

Banang:访问ListGrid / TreeGrid主体的API现在在Smart GWT中公开。

答案 4 :(得分:1)

我们选择使用Javascript(没有SmartGWT)......我更喜欢这种方式,虽然我们的一些团队成员(Javascript更新)会更喜欢SmartGWT方式。两者都有其优点和缺点:

使用SmartGWT的一个优点是,您可能会遇到编译时错误,因为在Java编译器呈现为Javascript之前,所有内容都会先由Java编译器编译。

SmartGWT的一个缺点是它没有公开完整的底层Javascript Smartclient API。这意味着,如果你想做更多高级的东西,你最终可能需要在Javascript中完成它。

SmartGWT的另一个缺点,即生产率方面的好处是,您执行和想要测试的每一个更改都需要通过痛苦的Java EE编译/部署过程,而如果您在Javascript中执行此操作,则可以更改客户端代码通过直接更改.js文件而不需要整个编译/部署过程来加快速度。

答案 5 :(得分:0)

SmartGWT基于Java代码,在编译时会将其转换为Java脚本, 繁重,因为它将Java代码转换为js

SmartClient是基于js的框架,您可以在xml页面中使用其组件,然后在Js中对其进行操作,这很简单

le showcase de smartclient 我推荐smartClient