2024年5月9日发(作者:)

FLEX优缺点分析.txt两人之间的感情就像织毛衣,建立的时候一针一线,小心而漫长,拆除

的时候只要轻轻一拉。。。。用了一年多Flex,感触多多。偶尔有同行的朋友问我啥是Flex,

说实话,一时半会儿我还真说不清楚。尤其是对于一个从未接触过Flex的朋友,想要由浅入

深地只用嘴巴不用电脑给他讲明白,这确实难为一个整天只跟机器打交道的程序员了。后来

我想了一个办法,我说你知道开心农场吧,那就是拿Flex做的。这下子很多人有兴趣了,呵

呵,如果你也有兴趣,请继续往下看。失言未察之处,欢迎拍砖。

一般来说,一项技术的产生都是为了解决业界的重大难题而出现的。那么说到Flex我们就不

得不先说一下RIA。RIA这个概念其实早就出现了,我最初是07年在《程序员》杂志上关于

Ajax技术的介绍时看到的。到了08年,伴随着网络视频的飞速发展,RIA应用已经搞得有声

有色热火朝天了,其实翻译过来就是个富客户端(Rich Internet Application),相较于BS

的瘦客户端,也可以称之为胖客户端。当然如果你已经被这些名词概念熏得焦头烂额,请连

跳四段(小黑好心提示,本部分仅余四段。。。)。

RIA简单的说,就是CS+BS的开发部署模式。CS和BS大家都很熟悉,CS的全拼是

Client/Server,它的优点在于借助局域网的信息安全和带宽优势,充分利用客户机器的运算

能力从而降低服务器压力,缺点就是安装部署更新麻烦,比如老板让我跑到一千公里外的客

户那安装一千台机器的客户端,过几天我回来了,老板说那边有几台机器运行有问题,你去

维护一下~!过几个月,老板说你去把那一千台机器全部升级一遍,他们自己不会装。。。呵呵,

这些痛苦我当然不曾经历,我杜撰的。

那么在1998年,互联网风起云涌的时候,BS,Browser/Server,逢时而生。BS充分利用互

联网的优势,解决了CS安装部署更新的一大难题。通过把业务逻辑处理放在服务器端,然后

解析为HTML,利用HTTP协议传输到客户的浏览器上就万事大吉。看起来很美,其实干过就

知道也很痛苦。哪儿痛呢,痛的当然是我们这些开发者。安装部署更新倒是省事儿了,装个

IE,给个网址就能让客户登录了。但是,基于HTML+JavaScript的技术让人很崩溃。JavaScript

我好久不用了,在以前毕业实习的时候,感觉开发和调试都不方便,而且还面临着不同浏览

器不兼容的噩梦(据说现在上述问题随着Ajax的风行有所改善,我不太了解)。另外,BS还

有一些潜在的缺点。比如,客户端体验简单,不易开发丰富的效果来展示数据(这和当时的

网络带宽也有关系);必须联网才能运行,信息安全无法保障;应用程序需要通过其他技术辅

助才能操作客户端资源;服务器负载过高而客户机运算能力未充分使用等。

综合来讲,BS仍然是一个不错的解决方案,它的Web应用程序和CS的桌面应用程序曾一度

二分天下,各领风骚数十年。从解耦角度来看,CS以数据库的方式把数据从程序中分离,BS

以浏览器页面的方式把界面和逻辑再次分离,然而第二次分离是不彻底的。表面上只是代码

结构的分离,从实质上看表现层仍然是逻辑层的附庸,前台UI完全和后台实现技术绑死(把

已有项目后台从C#换成JAVA是不可能的。。。)为了解决这个问题,RIA出现了(顺便搞定了

一些其他问题,比如页面异步刷新,前台UI不够丰富等等),RIA基本实现了不依赖于特定

后台技术,能与多种服务端搭配使用。

在2002年,MacroMedia公司(简称MM,05年被Adobe收购)首先在Flash Player6中引入

了RIA概念。2004年,MM正式发布Flex1.0(汗,终于说到Flex了),随着Ajax的火爆,

RIA开始受到广泛关注。RIA主要有两个方面的含义,一是用户界面的丰富即富客户端,二是

数据模型的智能,服务器已经变成了支持客户端正常运行的数据服务,并提供了异步数据传

输和脱机缓存机制等复杂的数据处理能力。前面提到,RIA本质上就是CS+BS,它想集大成,

想搞总结,想终结CS和BS二分天下的局面。说浅显点就是,如果以前的CS程序现在能在网

络上运行,并且保持了原来的功能和特征,那么这就是一个RIA。关于RIA的详细介绍GOOGLE

上一搜一大把,在此就不继续作详细展开。回到当下,RIA各种技术一番拼杀,现在广为人

知的只剩下四个NB小伙:Ajax、Flex、SilverLight、JavaFx。在本文第二部分中,我将简

要介绍一下Flex(貌似进度有点儿慢,多谢支持。。。)

Flex是咋回事之二 前世今生 收藏

转眼已是岁末,让我们回顾一下历史,展望一番未来。啥,没有未来?那就不展望了,回顾

一下历史吧。扯得有点远,其实本部分主要是写些过去的事情,顺便理清些概念,不喜欢的

朋友请跳过,再跳过,再跳,然后就刘翔了。。。

先说一下Flash Player(简称FP)。经常上网的朋友一定遇到过Flash Player版本升级的提

示吧,这东西其实就是浏览器插件,据说已经有了98%的安装普及率,没办法,谁让咱们这

么爱看视频呢(FP具体介绍请见/view/)。Flex生成

的页面主要是通过Html包装一下生成的swf文件,和Flash生成的swf一样,它也靠FP才

能完美运行,这有点类似JVM虚拟机和.NET FRAMEWORK(FP里内嵌了AVM虚拟机)。FP又分

调试版和产品版,总体来讲,咱们只管用FP提供的API,以及及时关注最新版本的功能,其

余不会过多接触(我对FP10关于3D方面的支持很感兴趣,不过貌似其支持效果不太理想)。

再说一下Flash的历史。在1996年,小软件公司FutureWave Software为了给Netscape开发

一个全新的网页浏览插件,创建了名为Future Splash Animator的动态小程序,该产品基于

Java,是由一个称为SmartSketch的产品演化而来,这就是Flash的老祖了。具有讽刺意味

的是,这家FutureWave的公司本来是打算把这项技术卖给Adobe的,但在那个时候Adobe

根本不睬它。而Macromedia(简称MM)却很有兴趣,就这样在1996年11月,MM在拥有了