通过前面对Flash Web结构的简单介绍,相信大家对MBDD式的每层都应该有个大致的了解了。就像我前面说过的,MBDD式是对所有Flash web的概括,并不是每个Flash web都必须有四层结构的,很多Flash web由于其作用不同,很可能确实某些层。比如像我的个人门户V3,就没有过渡动画层;而这个酷站收藏站,可以说是既没有过渡动画层又没有背景层;还有些Flash web是纯粹的商品展示,比如现在比较流行的房地产网站,他们大都倾向于直接通过动画来展示他们的商品,数据层和数据显示层则比较薄弱。
前面说了那么多,MBDD式的真正意义是到底是什么呢?主要有以下两点:
模式化:对于各种类型的Flash web,我们必须给出一套对应的通用开发模式,就像世界上的人形形色色,但大家的骨架都是一样的。我们有了结实强健的骨架,再往上添砖加瓦就比较容易了,而且效率也会非常的高。
独立性和模块化开发:其实“MBDD式”是我自己在漫长实战路程中的血泪史,从接触Flash到现在,自己也做个十几个Flash web了吧,虽然数量不算多,但每次做我都是自己一个人从界面设计一路杀到后台。刚开始的时候,由于我还不能在一开始就准确把握整个网站的架构,所以只能逐功能去完成,比如先设计导航部分的界面,然后在Flash中完成导航部分的前台功能,最后写后台并再回到Flash中完成整个导航部分,如此循环往复直至完成整个网站。采用这种方式还能按预期完成一个功能复杂的Flash web,此人的意志力和随机应变的能力一定不能弱。因为一个人的思维如果频繁的在设计、前台、后台之间跳转的话,真的很容易精神崩溃。再加上前期没有很好的规划,很可能出现后来的部分和已经完成的部分冲突,造成前面的劳动全部付诸东流,甚至不得不重新来过,这时候还有多少人能坚持下来呢?后来我觉得长此以往确实不是办法,就开始考虑如何才能在一开始就对整个Flash web有个大概的把握,并能长时间的把精力集中在一件事情上呢?于是MBDD式就应运而生了!在MBDD式下,我完全可以遵循这样的开发流程:→选择架构模式→界面设计(网站主体框架及背景层)→后台(Flash中数据层需要的数据显示格式和写入格式)→Flash前台合成(动画层以及数据显示与交换)。在流程的每一步中,我都会最大限度的把所有精力都集中在这步上,直到开始下一步的制作。而且如果在制作的过程中发现有架构不对的地方,我也可以有能力从宏观上去把握,做出最合理的调整。但是很可惜的是,通过笔者对一些Flash web的分析,我发现现在还有很多人,包括有过Flash web开发经验的人,还是不能很好的认识Flash web的结构,他们做Flash web随意性还是很大,背景层与动画层不分、数据表现层与数据层暧昧,甚至是想到那里做到那里,各层混合在一起,最后自己终于把自己搞迷糊了。
关于Flash web设计开发团队协作的简单思考
笔者现在可以说没有任何团队开发经验,在这里谈团队协作是典型的纸上谈兵,但我在开发自己的网站时是严格的给自己分角色的,也有几分团队的意味,很多想法在这里不吐不快。
比如我一开始做架构分析的时候,除了简单的书写文档,是绝对不会开工的,此时我扮演的是一个架构师的角色;而在PS中绘制界面的时候,我会尽量不去想后台,此时我又在扮演一个PS设计师的角色;在写后台的时候,我只是机械的按架构时的要求完成数据显示和写入格式,一般来说数都是固定格式的XML,此时我根本不会去考虑什么Flash和PS,完全在扮演一个后台工程师的角色;最后在Flash中合成的时候,我则又扮演着Flash设计师和AS工程师。尤其是在开发我自己的个人门户V3的时候,我更是“严于律己”,在开发流程的每个阶段,尽量让自己少管“闲事”,看到最后能否按预期目标完成任务,结果还是比较满意的。
我的想法是:在MBDD式下,一个Flash web开发团队应该至少有以下五个人:架构师、PS设计师、Flash动效设计师、AS工程师、后台工程师。
架构师负责对整个网站的把握,他必须了解Flash web开发的每个环节,丰富的开发经验使其在接到一个项目的时候可以根据需求很快的决定采用那种开发模式,并把这个项目支解为若干功能模块,然后为PS设计师提供内容框架草图,并指定后台数据格式。而且在开发的整个过程中,他要负责其他人的调节和沟通。所以如果说架构师是这个团队的灵魂人物,一点都不为过。
PS设计师则需要根据框架草图设计网站界面,他最好懂得一点Flash基础操作,知道那些部分是在Flash中可以很方便的直接绘制的,而那些部分必须由PS完成。当然,如果他还能把动画因素也考虑进去,并在PS中部分完成效果图,那就更好了。
Flash动效设计师主要是完成Flash中的动画和特效,他最好懂得一点AS,这样他在做动画的时候,就会把编程的因素考虑进去,使他的动画尽量便于程序控制,特效也不至于太吃CPU,如果他的AS能力足够强,我们还要让他根据架构师划分的模块在Flash中完成网站主界面的布置,当然这时候架构师最好从旁协助。
AS工程师主要是根据架构师的要求完成特定功能模块,同时完成前后台的数据交换,他最好懂得一点后台知识,至少要知道Flash如何通过后台程序写数据,另外他的XML解析一定要精通。
最后是后台工程师,他只需要根据架构师的要求写入读出特定格式的数据就行了,当然,如果他学一点AS的话,将更有利于他理解他为什么要那么做,另外他的存在还有更大的意义,那就是完成网站数据结构分析以及负责数据库管理。
个人觉得,除了SEO的处理现在还不够完美外,如果我们深入理解了Flash web的结构,建立起一套完善的开发模式,再加上平时积累的代码库、元件库、特效库、资料库等,Flash web开发快速化、高效化将不再只是梦,Flash web完全可以达到HTML网站的开发效率,而且有着比HTML网站更好的视觉和交互效果。