[前言:] Java软件设计师和管理人员经常会面临这样的难题:在开发应用软件的客户端时,应该在Swing、HTML、XML三种技术中选择谁。在这篇文章中,我将把自己在这三种技术方面的经验与广大读者共享,并对在Java应用软件开发中选择哪一种技术提出一些标准和技巧。在文章的最后,还会介绍一种整合Java Swing和HTML的新方法。
与现有的技术相比,Java有明显的优点,因此它已经在服务器端应用软件的开发中确立了主导地位。然而,由于每一个应用程序都有几种形式的用户界面和前端的表达形式,我们中的许多人都对在客户端采用Java技术有不好的印象,因此在客户端的开发中采用HTML似乎已经成为唯一的选择了。
实际情况是,在客户端应用程序的开发中不止只有HTML一种选择,我们将在本文讨论基于Java的应用软件开发中三种用户界面的解决方案。我将首先讨论HTML与JSP和servlet联合使用的优点和缺点,然后讨论Java最初的目标之一:通过GUI Applet实现交互式互联网。最后,我们将讨论XML以及由它所衍生出来的其他技术。
JSP/Servlets环境下的HTML客户端
大多数读者都曾编写过servlet、开发过JSP应用,清楚基于HTML的用户界面的优点和缺点。选择HTML的最大的理由仍然是其广泛的平台适应性,基本HTML的标准性很好,虽然比较枯燥,但它可以很好地完成工作。
由于HTTP/HTTPS协议非常简单,可以使开发的应用程序很好地适应各种网络配置和防火墻。但这是有代价的,HTML缺乏与用户的交互性,而且对用户每个行为的响应都需要与服务器进行连接。作为一名编程人员,我们一直在追求简单性,并使开发的软件可以适合所有的浏览器?然而简单性并不总是好的,简单地说,与静态HTML相比,JavaScript可以较好地实现不太复杂的交互性,但对于开发复杂的用户界面而言,它还是不能胜任的。
除非拥有高速的互联网连接,否则你一定有过焦急的等待加载一个网页的经历。尽管瘦客户端提供了一些很好的非交互性的用户界面,但传统的胖客户终端一般情况下都比它们更聪明。例如,Netscape Communicator和MS Outlook等电子邮件的前端就比基于互联网的电子邮件工具具有更好的用户亲和性。
用Java开发一个HTML前端应用是一个很好的选择,因为HTML提供了跨平台的内容传输能力。编程人员可以使用Java Servlets和JSP开发在任何操作系统平台上运行的服务器端应用程序。同时考虑到众多的Java API和它得到的广泛的服务器开发商的支持,对于开发可伸缩互联网站而言,Java是一种理想的选择。
总而言之,配合使用Servlets和JSP的HTML前端开发工具是开发静态界面的很好的方式,但当需要对用户的行为作出快速反应和需要对数据进行高速处理的复杂应用时,这种方式则不大理想。