网络应用程序经历了从胖客户端到瘦客户端的发展历程,胖客户端是相对于传统的C/S结构的网络应用程序来说的,而瘦客户端一般都是相对于B/S结构的Web应用来说的。
胖客户端应用程序。胖客户端是相对于瘦客户端而言的,它将应用程序的处理过程分为两个部分:客户端部分用户桌面计算机。
执行的处理和服务器部分的一些集中处理。胖客户端应用程序的客户端部分除了负责将程序的UI界面显示给用户进行交互外,还负责进行大部分的业务逻辑处理。这种类型的应用程序需要客户端部分具有执行任务的。
能力,对客户端机器的要求比较高,但是可以减轻服务器很发一部分的压力,降低对服务器性能的要求。典型的胖客户端应用程序都包含一个或多个在服务器和客户PC上运行的应用程序,客户PC上安装功能丰富的交互式的用户界面。
用户通过这个交互界面可以进行查看和 *** 作数据,处理业务事务等,分担服务器的一部分或者全部业务逻辑的处理(这样胖客户端就显得很"臃肿",所以叫胖客户端,也叫富客户端)。
服务器部分一般集中处理数据的访问 *** 作,同时也负责处理一部分或全部的业务逻辑。
瘦客户端应用程序。瘦客户端应用程序主要是指B/S结构的Web应用程序,他实际上是C/S结构的一种变种。它将C/S结构中的客户端程序统一为浏览器(Broswer),浏览器中只解析标准的HTML来显示用户交互界面。
这样,服务器端负责处理业务逻辑和数据存取,然后将处理完的结果以HTML的形式发送给客户端,客户端负责将结果显示给用户,客户端除了负责一些数据的验证和组织之外,基本上不处理任何的业务逻辑,只专注于用户交互界面显示。(这样瘦客户端就显得很瘦小,所以叫瘦客户端)
而如今,随着技术的发展,ajax技术的出现,B/S结构的web应用程序也逐渐向胖客户端发展,在加上后起之秀flex的出现,更加快了B/S结构的web应用程序向胖客户端发展。
富因特网应用程序(Rich Internet Applications,RIA)利用具有很强交互性的富客户端技术来为用户提供一个更高和更全方位的网络体验。“富客户端”(Rich Client)简介富因特网应用程序(Rich Internet Applications,RIA)利用具有很强交互性的富客户端技术来为用户提供一个更高和更全方位的网络体验。RIA集成了桌面应用的交互性和传统 Web应用的部署灵活性与成本分析,以创建单一而完整的用户体验。富客户端技术使创建RIA成为可能,它提供一个运行时的环境以承载被编译的客户端应用程序,该客户端应用程序是一个使用HTTP协议发布的文件。客户端应用程序使用异步的C/S结构连接到现有的应用服务器,这是一种安全的、可升级的、具有良好适应性的面向服务模型,这种模型由当前所采用的Web服务驱动。
富客户端技术正在不断地完善中,但并不意味着会取代HTML。相反它将进一步扩展浏览器功能,使之提供更加高效和友好的用户接口。许多RIA都在浏览器中运行,甚至它本身就是HTML的一部分,所以HTML将继续保持其原有的角色。另外,由于富客户端技术可以支持运动的图象、视频、音频、双向的数据通信和创建复杂的窗体,它为创建应用程序用户接口提供了一个高效而完善的开发环境.
RIA开发必须具备三个要素:富客户端技术、服务器技术和开发工具。富客户端技术充分利用本地机器的处理能力来处理数据,而不需要把某些数据发送到服务器处理,充分利用了本地机器的资源。服务器技术提供了一种与富客户端的连接机制,作为RIA的服务器技术必须从现有的服务器技术继承,可以提供一个快速的脚本环境,支持数据库应用开发、双向数据通信、实时数据通信,甚至采用一种新的服务器,例如:ColdFusion Server和Flash Communication Server等。RIA实现必须有一组简单而高效的开发工具,如果没有一组简单而高效的开发工具,那么富客户端技术与服务器技术是毫无意义的。正是由于 RIA的C/S结构,它需要一组开发工具协同工作才可以完成。
尽管目前有许多富客户端技术,但是Macromedia Flash Player却被广泛采用,它已经逐渐成为富客户端技术的网络标准。Flash Player 已经是一个无处不在的富媒体客户端,它可以在不同的浏览器和 *** 作系统上运行,所以它是一个跨平台、跨 *** 作系统的网络客户端。
“富”的概念包含两方面,分别是指它具备丰富的用户界面和丰富的数据模型。
典型的富客户端模型
富客户模型将界面分解成许多的既可以和用户直接交互又可以和服务器进行通信的小单元模块。
这种将应用程序的设计从以一个个相对独立的页面为中心转移到以组件为中心的转变将会使客户层的设计提升到一个新的层次,并且会使客户层变得更加灵活。富客户层不再成为服务器响应的最终端,这同时也使程序的性能得以提高,用户使用的感觉就好像程序不需要和服务器进行通信或者只是偶尔才需要进行通信。
不像传统的模型那样,服务器收到请求后由上至下的创建客户端界面,你不用预测事件的顺序。既然每个组件都是独立的,就没有必要因为一个请求而做出影响整个视图的反应。要使每个组件都具有向服务器传送信息的能力需要每个组建知道如何处理服务器传递回来的信息。在RIA中,客户端和服务器端交互数据是不同步的,这样你就可以控制组件创建信息发送给服务器和处理服务器的响应,可以为更零散的控制去耦和分离程序功能并且组建面向服务的程序结构。
HTML5不能独立做网站哈,它的作用是丰富网页端的功能,提升客户体验(富客户端的思想,可以不需要任何插件(flash等)进行看视频,做网页游戏,绘图....),它只是一门网页(浏览)端技术,他的动态数据来源还是需要后台系统进行提供(如PHP,ASP.NET,Java)欢迎分享,转载请注明来源:内存溢出
评论列表(0条)