【问题标题】:SmartClient or SmartGWT?SmartClient 还是 SmartGWT?
【发布时间】:2011-02-10 17:16:33
【问题描述】:

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

【问题讨论】:

    标签: smartgwt smartclient


    【解决方案1】:

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

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

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

    【讨论】:

    • 让我这样说吧:如果 SmartGWT 只是一个包装器,那么您认为使用它而不是直接使用 SmartClient 有什么意义吗?除了 Java 的静态类型特性,SmartGWT 还带来了什么?
    • 除了使用java的静态优势之外,没有,我想不到。最后我想这取决于你正在运行什么样的项目,以及你拥有什么样的技能。
    • 请注意,您所指的特定问题(无法到达身体)很久以前已通过此 API 和其他 API 解决:smartclient.com/smartgwtee/javadoc/com/smartgwt/client/widgets/…
    • 这里没有提到的一个重要区别是Deferred Binding。 SmartGWT 不是更快,因为它使用它是基于 gwt 的吗?您可以为不同的浏览器获得不同的 html 页面版本,这些版本都经过优化,速度更快。
    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

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

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

      您手头有 eclipse/netbeans 的所有自动完成功能。当开始使用 SmartClient/Gwt 时,它可以帮助您找到您正在寻找的东西,因为编辑器可以列出您的类或可用方法以及一些基本文档,这些类/方法实际上是做什么的。为您节省大量浏览文档的时间

      【讨论】:

      • dube,这些是在任何 Java 与 JavaScript 技术中发现的差异。它们并不特定于 SmartGWT 和 SmartClient。
      • 只是想提一下,因为我不知道你有什么背景,对我自己来说,首先使用 smartclient/gwt 让 大不同。这也是您第一次真正可以比较这两种语言,因为它们确实给出了相同的结果。在使用 gwt 之后,我不打算再次直接接触 javascript :)
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        我们选择使用 Javascript(没有 SmartGWT)......我更喜欢这种方式,尽管我们的一些团队成员(Javascript 新手)更喜欢 SmartGWT 方式。两者各有优缺点:

        使用 SmartGWT 的一个优点是,您会遇到编译时错误,因为所有内容首先由 Java 编译器编译,然后才呈现为 Javascript。

        SmartGWT 的一个缺点是它没有公开完整的底层 Javascript Smartclient API。这意味着,如果你想做更高级的事情,你可能最终还是需要用 Javascript 来做。

        SmartGWT 的另一个缺点,即生产力方面,是您所做和想要测试的每一个更改都需要通过痛苦的 Java EE 编译/部署过程,而如果您使用 Javascript 进行,您可以更改客户端代码通过直接更改 .js 文件来加快速度,而无需整个编译/部署过程。

        【讨论】:

          【解决方案6】:

          SmartGWT 基于 java 代码,编译后将其转换为 java 脚本,是一个 很重,因为它将java代码转换为js

          SmartClient是一个基于js的框架,你可以在一个xml页面中使用它的组件,你可以在js中操作它们,它很轻

          le showcase de smartclient 我推荐 smartClient

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-05-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-11-16
            • 2016-03-20
            • 1970-01-01
            相关资源
            最近更新 更多