为好的UI选择合适的工具

2008-04-09 04:03:48来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

好的UI是应用程序成功的重要因素。选择一个能为用户提供高效应用程序的框架。


转载自发赛特技术网

UI是一个应用程序很重要的一面——它直接影响程序的使用价值。对于大多数用户来说,UI就是他们对一个产品的全部的了解。所以对他们来说,一个内部设计良好但UI不好的应用程序就是一个不好的程序。一个.NET应用程序的UI框架是决定它的商业价值的重要因素。Windows Forms所适用的场合为,用户要求定制或者有一些特别的需求并在一定的范围内使用;ASP.NET应用程序更适合操作简单明了,使用范围广的应用程序。使用Windows Forms和ASP.NET的原因并不是互斥的,你所要关心的是哪一个UI框架能更加高效地解决你的问题。

因为UI是最终产品成败的一个很重要的原因之一,也是软件框架中的一个重要的元素。根据一个通常的定义,软件框架是一些重要决策的集合,这些决策包括组织、结构和UI。因为UI是如此的重要,所有它有资格成为框架组成的一部分。

定义一个使用各种框架决策的架构是很困难的,所以本文将把重点放在软件框架的一小部分:从技术角度来选择.NET企业应用程序的UI。生成好的UI的重要因素之一是选择合适的技术。对于大多数.NET开发者来说是Windows Forms和ASP.NET 之间的选择,但这并不是说你要选择其中之一,如果可能,你应在特定的情况下尽量使用两种技术。

在讲述如何在两者之间做出选择以及何时使用两者之前,我先大致讲一下.NET中的基本的UI技术。然后我会描绘出一个架构,你可通过它并根据你的应用程序的需求来在Windows Forms和ASP.NET之间作出选择。我假设你的应用程序是基于.NET的,所以我将不会讲到Microsoft以前的UI技术, 如Visual Basic 6.0 或Microsoft Foundation Classes(MFC)。

考虑使用Windows Forms
因为人们现在常强调创建Web应用程序,这会使我们产生一种Windows应用程序将会被淘汰的错觉,然而对于许多.NET应用程序,Windows界面也许更适合,而且他们更容易被用户接受,开发量也比Web界面少。Microsoft已经认识到了这一点,.NET框架中专门有一个类库是为开发Windows UI设计的,它就是Windows Forms。

Windows Forms 一是个基于封装了底层Windows API的.NET对象编程模型,像别的核心类一样,Windows Forms类也包括在System名字空间中。你可以用任何支持.NET平台的语言来开发Windows Forms应用程序。这样可以保护你的开发人员在现有语言上的投入,使那些在使用VB或MFC上有经验的人很快地转入.NET的开发。

开发Windows Forms应用程序同开发基于Form的VB程序很类似,Windows Form应用程序可以充分利用管制执行环境带来的好处,集成的安全,简单的访问数据方法(包括XML Web service和ADO.NET)。这些元素在典型的企业应用程序中会起到很重要的作用。现在就为Windows Form的高效性下结论不免有些为时过早,不过通过它类似VB,可以看出它高效的一面。

我相信从一个Form到另一个Form的这种可视化继承是一种很有用的创新,它提高了开发效率以及Windows Form程序的可用性。在大多数情况下,Form都直接从System.Winforms.Form类中派生出来,但也可从用户自己设计的Form中派生出来。通过继承一个用户定义Form,子Form不光可以继承父Form的样子也可继承它的代码和逻辑。这样可以保证Form的一致性。如果你的公司有界面设计的标准,并且创建了一个Form来封装了这些标准,那么所有的Form都从它派生将是一件容易的事。

相对于剪贴,继承使得维护使用标准更加简单高效,它使你创建内部和外部都一致的企业应用程序。尽管Ralph Waldo Emerson的“愚蠢的一致性是 头脑简单的怪物”这种说法是对的,但这句话并不适用这种情况。应用程序的一致性会使用户把注意力放在业务上,而不会因为程序的不一致性使用户限于困境。

除了Windows Form给应用程序带来的好处外,Microsoft已经考虑到了一个Windows应用程序在企业级环境中的一个很大的缺点——整体拥有成本(TCO)。在不久以前,实施和维护基于COM的Windows应用程序意味着要同“DLL Hell”做斗争。.NET消除了分别安装和配置的麻烦。实际上,Microsoft的目标是为.NET程序提供XCOPY式的安装。这样的话,在安装程序时,开发人员只需把程序拷贝到用户的机器。他们可以在Web server上生成一个开发包,并在客户端通过URL来访问这个包。当然,Windows Form并不是唯一的方法——你也可以考虑新版本的 Active Server Pages (ASP)。

评估你的ASP.NET选项
ASP.NET是开发动态、高效Web应用程序的下一代技术,ASP是Microsoft为提供Web应用程序开发技术的第一次尝试。因为ASP比它以前的技术简单得多,所以很快成为一种受欢迎的Web应用程序开发方式。不过这种简单性是有代价的,ASP也有很多不足。首先把UI和应用程序逻辑混在一起的方式使得程序没有框架性,且难于维护。其次,因为ASP应用程序由脚本语言写成,所以执行速度慢。最后,开发ASP的工具没有像Visual Basic那样高效。Microsoft想通过Visual InterDev提供一种可视化的开发环境,但是它的功能有限。尤其是它生成的网页缺少所见即所得的功能,许多开发者选择文本编辑器来开发ASP应用程序。

不过Microsoft通过ASP和.NET Framework的集成消除了这些限制。首先,在Framework 中,Web Form被分成代码模块和一个ASPX布局文件。代码模块包括managed common language runtime (CLR)类,ASPX页面看起来类似ASP页面。模块被ASP.NET runtime 执行并且作为包含在代码模块中的逻辑结果的模板 。相对于以前的ASP,现在的这种把布局同逻辑分开的方法可使我们很容易地把精力集中到逻辑上。像别的CLR应用程序一样,ASP.NET应用程序是编译的,并不依赖于解释脚本。编译的结果将会在性能上大大优于ASP。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:新型加密压缩软件的实现

下一篇:胡牌判断函数