除了JavaScript和Java之间存在明显差异外,使用SmartClient或SmartGWT的相关区别是什么?
答案 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