明确基本流程以后,我们再来看看开发框架。网站这档事不像正规的软件项目,需求有可能千奇百怪,不同网站之间的差别非常大。要在这样的问题上抽象出一个合理的开发框架是非常有水平的工作。相信每个成熟的程序员都有自己习惯的基础框架。就开源范围来说,目前我所知道的针对网站开发需求而建立的Flash框架只有Gaia、Progression和Soma。
日本人开发的Progression功能虽然强大,但是其代码的书写方式不太适合我的习惯。而且有很多是日文注释,很难看懂,于是放弃。Gaia是我去年推荐过的框架,也用它作过一些网站。在功能上和Progression相差无几。好处是文档非常完整,看完就能上手。问题是Gaia的自动化建站(Scaffolding)功能是通过Flash的面板来实现的,而且使用了文档类的编译方式。依赖于Flash IDE这点和我理想中的软件分离的流程有冲突。所以后来我又比较了一下Soma。Soma基于AIR和Java的发布机制非常棒,但是用的人比较少,更新也比较缓慢。
正当我还在做比较和选择的时候,在Gaia的论坛上发现了有老外开发了用于Gaia框架建站的Ant脚本。经过几天尝试和修改,包括与作者之间的直接沟通,最终确定了我想要的解决方案:用Ant来发布Gaia。
基于这套机制,我在Github上建立了一个RobotGaiaAnt项目:Robotlegs+Gaia优秀的框架结构+Flex快速的编译能力+Ant批处理,基本上可以实现10分钟完成一个网站原型的宏伟目标。有兴趣的开发者可以下载下来做一下尝试,参考下面提供的教程应该能够快速上手。
(运行环境需求:Flex SDK + Eclipse + FDT)

PDF教程下载

视频教程1:如何使用RobotGaiaAnt搭建网站架构

视频教程2:如何测试单个文件

视频教程3:SWC from Flash to FDT
vimeo link:1,2,3
大家有什么问题或者需求建议欢迎与我共同探讨。直接来ES找我也行,我们在找有想法的Flash创意开发人员加入哦:)