富客户端开发技术选型

    先梳理了下WEB的发展,大致有三大阶段,首先是web1.0,  以企事业单位的网站为主,其特征就是信息共享,用户只是单方面的获取信息;再者就是web2.0,以博客、流行一时的社区网站为主, 其主要特征就是信息的共建,未来的第三个阶段,也就是google大力倡导的web3.0,主要是个性化和人脉的管理,是不是像faceBook这样?呵呵。总而言之,每个阶段的发展,都是思想的创新,进而指导技术的发展和应用。

     那么,什么又是富客户端呢?我们先了解下胖客端(也叫富客户端)与瘦客户端的区别,网络应用程序经历了从胖客户端到瘦客户端的发展,胖客户端是相对于传统的C/S结构的网络应用程序来说的,其应用的客户端程序不仅提供交互界面,还需要负责大部分的业务逻辑处理,而瘦客户端一般都是相对于B/S结构的Web应用来说的,其应用的客户端程序统一为浏览器,浏览器中只解析标准的HTML来显示用户交互界面,这样,服务器需要负责处理业务逻辑和数据持久化,然后将处理的结果以HTML的语言发送给客户端,客户端除负责一些数据验证外,基本上不需关注业务逻辑,只专注于用户交互界面的显示。而如今,随着用户体验越来越被关注,新技术的不断涌现,B/S结构的web应用程序也逐渐向胖客户端发展,尤其是在web2.0的出现,更加快了这种发展的趋势。

    当前富客户端开发技术主要分为: ActiveX、Flash、silverlight,个人结合产品研发的需要以及实际的项目开发,总结如下:  

1ActiveX控件:其优势主要在能较好地实现客户端复杂的运算,但在应用过程中局限性也越来越大:

a) 客户端安装使用问题:ActiveX控件需要用户显示地将程序完全下载到用户本地后才能执行,既不方便又不安全;

b)  浏览器安全问题:ActiveX控件必须要付费得到微软的签名认证,否则IE可能会根据安全性自动拒绝下载安全;

c) 浏览器兼容性问题:仅IE浏览器采用ActiveX技术,而FirefoxsafariChromeopera采用的是NPAPI的插件技术;

d) 可持续性问题:微软已经将web前端应用开发解决方案转向silverlight(针对flash的,但比flash技术上要落后几个版本),ActiveX技术的支持力度及发展前景已不乐观;

 

2Flash技术:原先不能实现客户端复杂运算的劣势已基本解决,在应用过程中优势越来越明显:

 

在平台级的优势方面,其采用“应用+插件”的设计思想,造就了以下诸多的优势:

a) 可以跨所有主要操作系统和浏览器。Flash插件解决各平台的展现一致性、安全性、兼容性的问题;

b)  Flash Player 10.1以后,adobe对开发者开放了用户语音数据的控制,已经可以在客户端进行语音数据处理;

c) Flash底层通过RTMPAMF协议,Speex编码等,极好地解决了流媒体数据的实时传输的问题;

d) Adobe推出试验性Alchemy项目,能将C/C++项目转化为可为Flash调用的库,性能损失较小;

 

         尤其在用户体验方面,其优势非常明显:

a) Flash PlayerAdobe公司战略级产品,是其主推项目,版本更新频繁,运行稳定。装机率高达94%

b)  拥有不断更新的专业设计、开发软件FlashPhotoShopFlex等,可设计开发更绚丽的交互效果;

posted on 2012-02-23 19:47  ceecy  阅读(3396)  评论(5编辑  收藏  举报