如何在我的Java应用程序的用户前端使用Swing GUI或轻量级Web客户端之间做出决定?

vic*_*tcu 6 java ajax user-interface swing

在用户界面方面,我似乎总是有这种内部斗争.我构建了一个应用程序"引擎",并且在我的算法工作之后倾向于推迟用户界面.然后我来回试图决定如何让用户与我的程序进行交互.就个人而言,我是命令行的粉丝,但我不能指望我的用户.

我非常喜欢在web 2.0和ajax时代的浏览器中可能实现的功能.另一方面,制作Swing前端也不是那么难,而且你通常可以依赖于更一致的用户呈现(尽管使用像YUI或jQuery这样的好的javascript框架对于规范浏览器有很长的路要走).

显然,这两种方法都有其优点和缺点.那么,什么标准/参数/情况应该让我使用轻量级(例如基于Web的)GUI?什么标准/参数/情况应该让我使用更重(例如基于Swing)的GUI?

我不打算开始一场火焰战,只是对社区的建设性/客观意见感兴趣.

编辑#1 鉴于前几个回复,我想澄清一下,我想部署我的应用程序,而不是必须在某些互联网服务器上托管它.所以我必须部署一个轻量级的Web服务器基础设施,一个Jetty/Tomcat或类似的.

Dan*_*iel 2

这取决于应用程序,这本质上是一个可用性驱动的问题(尽管存在数据存储和平台要求等考虑因素)。想想优点和缺点。

轻量级 Web UI 的优点:

  • 易于分发
  • 平台无关
  • 易于维护

轻量级 Web UI 的缺点:

  • 环境控制较少
  • 浏览器之间的标记标准有所不同
  • 需要一个网络服务器以及与之相关的一切

可执行 UI 的优点

  • 更多环境控制(即:全屏应用程序等)
  • 不一定会出现延迟和中断

可执行 UI 的缺点

  • 推送更新可能会更困难
  • 需要安装
  • 潜在的平台要求(框架、包等)
  • 可能需要高级网络主题(Web 服务等)的知识