从Flash 5开始支持的loadVariables和loadVarias可以将外部文本导如到场景中,这样的话在使用Flash制作网页的时候更新内容非常方便,不用将整个Flash从新更新上传,上面两个命令也支持从动态页面中加载文本,比如ASP中用response.write将文本写出来,或者JSP中用ducument将文本写出来,都可以在Flash中直接被加载。
在用户访问动态页面的时候过程是这样的:Flash对动态页面发出请求,中间程序(ASP、PHP等)从数据库中取出数据,再传递给Flash,这样的话对服务器来说有一定的压力,数据的存取还需要多花一定的时间。
使用了动态页面的话整个网站的更新和维护就更方便了,但是也带来了一个问题:程序的可扩展性。大家知道,不同的动态页面技术要求的运行环境是不同的,如果想要将网站移植到另一个平台的话,数据库、程序都得重新写,光是数据库的移植就得费很大的工夫。虽然Flash Remoting的出现在解决了数据存取时间的问题,但是对于跨平台的操作平不理想,因为Flash Remoting针对不同的平台有不同的版本,可移植性差,并且,Flash Remoting只支持.net、PHP、JSP和自己的ColdFusion,对于中国国内普遍的ASP主机使用者来说,这并不是个好消息。
既然这样,那有没有一种执行效率高,跨平台兼容性好的Flash后台管理/操作方式呢?答案是肯定的,Flash+XML就是最合适的解决方案。大家知道XML当初就是为不同平台间的数据交换设计的,在各种不同的环境中都能稳定的运行,并且执行效率高。那么就可以设计这样的模型:Flash直接从XML中加载数据使用,对与不同的平台和使用环境,用相关的服务器脚本对XML做数据操作,将XML当做数据库使用。这样的好处有两个:一是直接读取XML时不用进行中间环节的数据存取过程(相对于Flash读取服务器脚本再读取数据库),况且Flash读取XML效率本来就很高,用户在访问网页的时候速度就会很快;二是XML是为跨平台使用设计的,程序可移植性好,在不同的平台间使用,只需要更换相关的服务器脚本程序就可以了。
但是Flash+XML有一个弱点:如果数据量过大的话,在Flash中进行数据分析会花很长时间,读取效率会大大降低,所以这种方式不太适合数据量过大的地方使用。
所以,在中小规模的Flash后台技术使用时,Flash+XML将是最适合的解决方案。