本文和大家重点讨论一下新一代Flex富客户端技术特点,首先我们来看一下Flex富客户端技术的概念,Adobe的Flex富客户端技术为AIR和Flex,其核心以ActionScript语言为基础,运用XML来描述界面。
Flex富客户端技术简介
Flex及AIR是Adobe公司推出的基于开源、免费、跨平台的新一代Flex富客户端平台。这种新型的Flex富客户端能够提供和早期C/S技术一样出色的UI,但又和B/S一样不需要在用户的机器上进行任何部署,也不需要手动对应用程序进行版本更新。Adobe的Flex富客户端技术为AIR和Flex,其核心以ActionScript语言为基础,运用XML来描述界面。
新一代Flex富客户端技术特点
1.可操作性方面:
Flex富客户端的界面和操作性将能够和传统的C/S相媲美,提供更丰富、更友善、易用性更强的界面给用户,同时互动性更好,而开发效率却大为提高;特别是Flex内建对音频和视频(包括H.264技术)的支持,给用户提供更好的操作体验。之所以Ajax会大行其道,就是因为Ajax的出现可以弥补传统B/S在界面友善方面的不足,例如Web2.0中普遍提供了一个页面中可以多个Tab的切换,给用户带来更多的方便,但对于更复杂的操作模式则无能为力。而新一代的Flex富客户端如同传统C/S应用一样,可以提供更为复杂的界面,同时其数据持有能力也更强。
2.架构方面:
用XML来描述GUI的外观,GUI和逻辑相分离,真正意义上的MVC,使得应用开发的结构更为清晰。前端界面使用XML来描述,界面的控制由ActionScript来负责,后端的应用逻辑则封装在后端中间件中,与Flex前端界面相分离。
3.可拓展性方面:
Flex做为前端的客户组件,非常容易与各类后端技术相结合,例如AMF、PHP、Java、.Net、ColdFusion等,这样后端应用服务可以规划为类似的“中间件”组件,将业务逻辑封装其中,中间应用服务组件的选择预留给用户极大的选择空间,方便而灵活。
4.从运行的环境方面:
程序可以在浏览器中,也可以运行在浏览器外,极大拓展了应用的使用场合。新一代Flex富客户端可以根据需求更加灵活的部署。
5.在性能方面:
传统的B/S有各种方式来提高应用服务器的效率,但Flex框架的解决方案与此不同,能够在性能方面有更大的提升。众所周知,传统Web应用客户端每次刷新页面都会对服务器产生请求,服务器要将新的HTML和HTML中包含的图片传递给Client,当请求数量较大时,动态生成HTML及下载图片的过程都会严重地消耗着服务器的资源(CPU、IO、Memory、Network)。而新一代富客户应用是通过第一次运行时将应用一次性下载到本地,所有的GUI都在本地运行,运行过程中只产生少量的数据更新请求,而不需要服务器端实时地产生刷新的页面,也就不存在服务器对HTML等内容的动态构造,这样后端服务器将完全专注于数据逻辑的处理,这样充分利用客户端本地机器的CPU,并最大限度的减少网络带宽。
6.在开发效率方面:
Flex的界面编程技术更类似于VB或是Delphi,开发中所见即所得,比起修改ASP、JSP、PHP和Javascript所表现的界面有极高的开发效能,而Flex采用ActionScript是面向对象的语言,是一种和Java、.NET相其类似的语言,对于Java或.NET程序员来说Flex技术很容易上手,学习和整体维护成本很低。
7.能够与视频、音频等多媒体完美结合。
Flex内建视频、音频等多媒体原生组件,因此为程序员提供了方便、易用的API。特别是最新的更新中已经包含了对H.264编码协议的支持。
8.和B/S相比,Flex能够更方便的实现全双工的消息通信。
对于某些特定的应用,需要实时从服务器Push消息给Client,Flex提供了方便的解决方案,突破了传统的HTTP消息基于Get/Post被动请求的模式。
【编辑推荐】