4

我正在开始一个新的 Java 项目,在我看来,最流行的 UI 技术是 jQuery UI 与 Vaadin(或 GWT)。

是否有关于如何选择最合适的 UI 框架的指南,可以在此处指出的任何优点和优点。

例如,使用 Vaadin 就像开发一个桌面应用程序,类似于开发 Java Swing 应用程序,这与使用 jQuery 不同。

但我将不胜感激有关此的任何其他想法。

谢谢。

4

5 回答 5

5

我喜欢 Vaadin 的地方在于它处理整个客户端的内容以及客户端和服务器之间的通信(保持 UI 刷新等等)。正如您已经提到的,这就像编写 Swing 应用程序一样。Vaadin 为您提供了一堆组件,并且可以使用 GWT 小部件进行扩展。它仍然可以适应。

您不必关心使用 Vaadin 的 HTML 和 JavaScript,因此您可以完全专注于开发您的应用程序。

我希望我的观点能对你有所帮助。

于 2012-08-05T17:37:12.277 回答
4

我不知道 Vaadin,我知道 Java,在 GWT 中编程过一点,我非常了解 jQuery。所以这是我的 2 美分:

底线是 - 我发现使用纯 HTML/jQuery 开发客户端 GUI 要容易得多。

  1. GWT 承诺支持所有浏览器,jQuery 也支持。
  2. GWT 使您能够使用熟悉的语言(java)而不是学习新的语言(jQuery) - 在这里我们可以讨论,但如果您也熟悉 jQuery,那么这并不是真正的优势,如果不是,那么我认为学习 jQuery 是比学习 GWT 框架要容易得多。
  3. 我认为 GWT 给项目增加了很多不必要的复杂性(新的编译器、新的 SDK 集、新的错误、新的调试方式)。
  4. 有很多用于调试 javascript/ajax 的工具,当使用 GWT 时,您大多无法使用它们。您将不得不使用可能有点麻烦的 Eclipse 调试机制。
  5. 在 GWT 中部署更改需要比常规 HTML/javascript 项目更多的时间,这意味着更长的开发时间。
  6. 如果您在应用程序中使用另一个 FW(如 Spring、Hibernate),将它们与 GWT FW 混合可能会造成编码/维护地狱(我说的是经验)。

就像我说的,我不知道 Vaadin,所以我不能对此发表评论,但我强烈建议你至少给 jQuery 一个机会。

于 2012-08-05T09:54:46.503 回答
1

如果您比 Java 更了解 JavaScript 和 jQuery(很多),我建议您使用 jQuery UI。否则,我建议您使用 vaadin。两种框架都有其优点和缺点,并且您是否喜欢其中的一种而不是另一种(例如,对类型化/非类型化语言的偏好)在很大程度上取决于个人喜好。

首先,我认为这两个框架都有一个大社区和很多插件。到目前为止,我总能找到我工作所需的附加组件。

vaadin 的一些优点:

  • 您可以为您的 RIA 使用一种语言 (Java)
  • 开发是类型安全的 -> 减少错误的主要来源
  • 您可以像桌面应用程序一样开发您的应用程序
    • 不必处理客户端代码(JavaScript、jQuery)
    • 不必处理客户端-服务器通信 (AJAX)
  • 更容易编写安全的应用程序,因为整个 webapp 状态都存储在服务器上(客户端操作是无用的)
  • 您可以直接在 IDE 中调试整个代码
  • 使用 Java Persistence API(hibernate 和 co.)以面向对象的方式访问您的数据库

vaadin 的一些缺点:

  • 项目的初始设置(使用 webapp 重新加载脚本、调试器设置)比简单的 php/javascript 项目花费更多时间
  • 部署时间稍长(重新加载 webapp 大约 5 秒)
  • 要使用外部 JS 组件,您需要先编写 Java 包装器;但这并不难(参见https://vaadin.com/blog/-/blogs/vaadin-7-loves-javascript-components
  • Vaadin 是一个在后台使用 GWT 的高级框架。因此,在 vaadin 的组件中调整特定细节并不像在基于 JavaScript 的 UI 框架中那样容易
于 2015-03-30T10:48:26.880 回答
1

jQuery UI 级别太低,不能单独使用(我不会那样做,它不会解决你的 UI 问题),你看到 twitter bootstrap 可以做什么吗?它拥有 jQuery UI 基本上拥有的所有东西和许多常用的插件/组件 - 它是构建的实际框架,并且只有 UI 框架,如果我在 Web 上开发一些东西,至少几年后我将使用它。(响应式设计的可能性等;) - 只是指出这个观点,即使你没有将它包括在你的问题中:http: //twitter.github.com/bootstrap/

关于 vaadin 和 GWT,我作为一个已经有经验的网络程序员并不觉得需要“桌面应用程序类型的网络编程”,它只会让我更加困惑,所以我不会使用它们,直到我制作某种“桌面软件外观” a-like”页面到网络。(顺便说一句。如果它们与摇摆类似,它们将是一场噩梦,但就像说的那样 - 没有使用过,因为我不需要它们。)。

于 2012-08-05T10:20:07.900 回答
0

在 Vaadin 中创建 UI 似乎比在 javascript + HTML 中创建 UI 简单得多——无论框架如何。

于 2018-07-24T00:28:04.250 回答