English 中文(简体)
我如何决定在我 Java诉案的用户前端使用Swing GUI或轻重网络客户?
原标题:How do I decide between a using a Swing GUI or a light-weight web client for the user front end of my Java application?

在用户接口方面,我似乎总是有这种内部斗争。 我建立了一种应用“选择”,在我算法发挥作用之后,往往推迟用户接口。 然后,我回头并试图决定如何让用户与我的方案互动。 个人而言,我是指挥线的狂热分子,但我可以指望我的使用者一般会这样做。

我真的喜欢2岁和1岁时浏览器中能够做些什么。 而另一方面,要么在前端,要么如此艰难,而且大家一般可以比较一致地向用户介绍(尽管采用“YUI”或“j Query”等良好的javascript框架,大大促进了浏览器的正常化)。

显然,这两种办法都有其优点和缺点。 因此,什么标准/参数/情况应导致我使用轻重(如基于网络的)全球倡议? 什么标准/参数/情况应导致我使用更重(例如基于Sing的)全球倡议?

我无意开始一场火焰战争,仅仅关心社区的建设性/客观意见。

Edit #1 In light of the first few responses, I would like to clarify that I would like to deploy my application regardless, not host it on some internet server necessarily. So I would have to deploy with a light-weight web-server infrastructure a la Jetty/Tomcat or similar.

最佳回答

它取决于申请,这基本上是一个可操作的问题(尽管有数据储存和平台要求等考虑)。 思考利弊。

www.un.org/Depts/DGACM/index_spanish.htm 轻度权 Web UI:

  • Ease of distribution
  • Platform independent
  • Ease of maintenance

www.un.org/Depts/DGACM/index_spanish.htm 轻重 Web UI:

  • Less environmental control
  • Markup standards vary between browsers
  • Requires a web server and everything that goes with it

www.un.org/Depts/DGACM/index_spanish.htm 证明书

  • More environmental control (i.e.: full screen applications, etc)
  • Not necessarily subject to latency and outages

www.un.org/Depts/DGACM/index_spanish.htm 1. 可执行标准的内容

  • Pushing updates may be more difficult
  • Requires installation
  • Potential platform requirements (frameworks, packages, etc)
  • Potentially requires knowledge of advanced networking topics (web services, etc)
问题回答

您可能想考虑的一个小因素是,如果你分发周转申请,用户会经过某种类型的安装(尽管最小)。

网上申请还将使你能够准确跟踪您申请的使用情况(通过权宜分析或类似分析)。 不能确定这种关切是否令人关切,但将来可能对你有用。

如果是客户服务公司的申请,我通常会到网上申请。

你们将避免与安装的“JRE”版本、分发升级、申请许可、失踪的捷径等事项有关的无数问题。

你们需要打破申请的要求,以决定这一点......

  1. Do the users have Java of sufficient version installed? It will need to be, to run a Swing GUI.
  2. Do you have a web server?
  3. Do you need the flexibility of a Swing GUI or the accessibility of the web interface?
  4. Is Java Webstart and option, if so, you can distribute a Swing GUI via the web.
  5. Does your application perform extensive calculations or processing? If so, a client app may be the answer.

这些问题有100万个。 我建议举行一次大脑风暴会议,并跟踪每一方的利弊,增加一个分点,而不是将其全部抛在一边,并带着你们的感觉:

If you anticipate there being frequent updates to the app then web based may be better since the user would not have to update the client or install a new client containing the updates. If you think that the user may need the ability to use the app while not conencted to the internet then swing would be better.

我的头上只剩下两件事。

关于用户和使用项目案例的思考

当用户与互联网(例如,在飞机上或在没有互联网接入的咖啡店)重新脱钩时,是否希望能够上网? 使用。

你们是否希望用户能够从不同的计算机(例如,在工作场所和家中)获得同样的工具? 采用网络倡议。

还考虑用户是否需要节约和装货数据,以及该工具是否生成一些可能认为敏感的数据文档(如果是的话,网上储存可能是一个问题)。

Do make a quick guess I often try to ask myself/customers if the application has a high "write" demand. For a mostly read-only application a thin-client solution is perfectly well suited. But if a lot write actions are needed then a swing desktop application has more flexibility.

我本人总是在桌面应用之前先提出申请。 它可以方便地利用Java Webstart进行部署。

我不知道你的申请,但无法提出最佳建议。 然而,从个人/专业经验来看,在客户机器上安装申请比表面上更加痛苦。

确实,与日本宇宙航空研究开发机构/网络,你不得不担心像三个浏览器一样提供支持。 只有当你将产品部署到网络服务器时,才会感觉到安装线索/更新日期。

就像一长的航道一样,你可以处理在身份不明的系统中安装应用的实实在在的大型信片。 这些东西非常糟糕,像美国宇宙航空研究开发机构这样的东西实际上被推向来,使网络能够像真正的本地人那样运作。





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签