Tag Archive: ActionScript


Workflow – Further Thought

授人以渔,而不是授人以鱼。如果你能坚持看完前面三篇(123)还没有晕菜,或者甚至还有些疑问想要深究一下的,那么这篇文章就是为你而写的——关于这个工作流程和开发框架的来龙去脉。

这个开发框架的建立来源于Jesse Warden这篇文章。通过它让我看到了GaiaRobotlegs相结合的可能性。一般的Agency/Studio网站用Gaia框架已经足够了。但是引入MVC模式能够让开发架构更为清晰,方便进行更复杂的大型团队开发。随后再引入AS3 Signals基本是必然的,因为这个信号机制比Flash自带的Event好得多,就算不用这套框架你也应该尝试一下。

问题主要集中在于Gaia Page的职责划分问题:Page应该是MVC中的那个角色?或者Page甚至应该是一个完整的MVC模块?

如果说按模块化开发的结构来考虑,每一个Page可以看作一个独立的模块。也就是说每一个Page都应该有一个独立的Module Context。但是很多情况下我们所做的网站开发没有那么大的复杂度。如果遵照这种划分思想,只会造成无谓的类增加,凭空增加了维护的难度。所以权衡之下,我不推荐这种做法。有兴趣的朋友可以看一下Robotlegs模块化开发的扩展

于是我们回到只有一个Main Context的情况下来考虑。在这里,Page可以是一个View(视图),也可以是一个Mediator(中介)。

View full article »

Workflow – Patterns

本文是Flash网站工作流讨论的模式篇,没看过前两篇的朋友先要去补一下课:)

Design Patterns(设计模式),对从事Flash开发的人员相对而言是比较难的知识点。从早期的ActionScript脚本一路走过来的Flash工作者很少有系统地学过成熟的OOP开发思想。包括我自己在内也一直都是半知半解,所以太专业的理论我也说不上,就尽可能的挑些容易理解的来说明一下,希望能够对进阶的开发者有所帮助。

通过RobotGaiaAnt快速构建出的网站结构已经包含了基本的网站开发模板(src目录下),在进行开发之前你需要了解以下几点:

  1. 这个结构是基于Gaia+Robotlegs+AS3 Signals(lib目录下)建立的,你需要熟悉这些API。
  2. 代码按照MVCS模式来进行组织。如果你还不是很理解这种设计模式,可以翻看我之前写的这篇这篇。对Robotlegs的机制还不是很了解的,推荐看看eidiot的这个文档,还有他翻译的中文最佳实践
  3. 然后你需要了解的是每个部分的职责分别是什么,不同的代码应该写在什么模块中。具体的指导做法就下载我这份文档学习一下吧。

pattern

Workflow – RobotGaiaAnt!

明确基本流程以后,我们再来看看开发框架。网站这档事不像正规的软件项目,需求有可能千奇百怪,不同网站之间的差别非常大。要在这样的问题上抽象出一个合理的开发框架是非常有水平的工作。相信每个成熟的程序员都有自己习惯的基础框架。就开源范围来说,目前我所知道的针对网站开发需求而建立的Flash框架只有GaiaProgressionSoma

日本人开发的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 download
PDF教程下载

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

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

SWC from Flash to FDT
视频教程3:SWC from Flash to FDT

vimeo link:123

大家有什么问题或者需求建议欢迎与我共同探讨。直接来ES找我也行,我们在找有想法的Flash创意开发人员加入哦:)

Powered by KevinCao.com ©2010 | Platform: WordPress | Theme: Motion
kevincao.com