“Flash全站”应该彻底的组件化
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-13
“Flash全站”好象很早就开始了,因为界面很帅气备受推崇。似乎每一个接触Flash设计或编程的人,都希望做一个自己的。我也是。 但是我很困惑。因为据说“Flash全站”开始运行后,就不再请求或者很少请求URL了,换页是通过换祯完成的。我开始无法理解,从网上下载了几个成品的源文件。 可是非常抱歉,所有的源文件都是巨型的,极其复杂的。action分布到各个frame和剪辑实例里,而实例都是托放的,你无法知道到底有多少个实例,主时间线有几十层.......。这样的东西既不是动画也不是代码。结果就是无法调试,无法升级和修改。 不知道大家是怎么做的。 推荐的是,像Flex或Laszlo那样做,或者干脆选择它们的一个,虽然我还不知道什么是Flex还有Laszlo。 不选择它们的理由是: 1,我没有空间,几乎没有虚拟空间对它们提供支持。 2,我没有学Java,而是PHP或者.net什么的,而那两个技术还不很支持其他技术。 即使是这样,也应该使用XML来描述你的程序,把代码和资源尽可能彻底的分开。如果你熟悉ASP.net,就是的形式。用这种语法定义任何诸如label的组件(我认为这是最困难的组件了)。 然后,为程序写一个XML解释器,按照你写的some-page.xml文件,create,loadMovie,attach,duplicate一通,把它显示出来。换页就是请求新的xml文件,再解释。 对拉!这听起来比在时间线上“盖高楼”更困难和复杂。但是我觉得至少这样做有三个好处: 1,我喜欢程序胜过画画,我完成这样一个站点等于实现了一个framework,会超有成就感。(光说不练啊,这孩子) 2,这个站点变得可扩展(flexible,MM的产品寓意于此吧?),尽管仅仅对于它的开发者来说(要是有一套标准及不一样了,MM就不学学sun呢?)。 3,对用户来说,因为组件个数有限,即使大量重复也是flyweight的(享元模式),能很大的提高访问速度。 上述第3个优势意义不仅仅如此。 HTML只是表达,Asp,JSP,php这些东西最终也是生成Html。用户只有一点点通过form参与互动的机会,所以叫传统的browser是瘦client。而Actionscript尽管效率低下,却有了较强的client端计算能力。最后可能强大到C/S的client一样的程度。那么就厉害了。 可是,要是把和Server交互的代码都堆在frame里......所以如果你的程序最重要不是动画,而是要和用户交互的所谓RIA,必须选择组件化。 这里要提一下“偷偷下载”的问题了。现在的用户,比如我,才不会老老实实的看你的东西,这个页面出来了,看不上两秒就要点点什么按钮啦。那就是换到别的页了,你正在“偷偷下载”的东西自然是被抛弃了。不幸的,没有下载完的swf好象不会存到本地缓存。那么一个100多k甚至几百多k的页面就没有缓存的价值。 相反的,我要“偷偷下载”一些供显示的组件,它们通常不应该超过30k。尽管数量可能较大(其实不会,你有耐心做50个花色的button?),但是等用到时,它们大都在缓存里,会非常快速。 组件化的代价是,用户的CPU要大转了,也更消耗内存,因为加载组件是在运行时。但是我觉得,比起网络带宽,CPU算什么资源?这正符合调剂高速CPU和低速IO的逻辑嘛。 以上内容和Flash课件,Flash动画里的action没有任何关系啊。 关键词:组件 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 飞机游戏(彩京类型《飞天站记》)下一篇: 闪光影子的制作
关于“Flash全站”应该彻底的组件化的所有评论