Tag Archive: workflow


Workflow Refactoring

21号受邀到Razorfish上海公司做了一场主题为Workflow Refactoring分享会。主要内容是我之前总结的Workflow系列,并通过一个具体实例来演示整个过程。之所以用了重构这个字眼来引起程序员的注意,是因为很多情况下人们并不觉得要对自己既有的工作流程或者习惯做出改变。而重构的目的就是在保持结果一致的前提下,内部用更优雅更合理的方式来实现。

基本内容与旧版没有太大的改变。这大半年来用这套流程做了不少实践,做了一些规范上的调整。期间Flash和FDT都经历大的版本升级,相关的一些细节也要有所调整。所以重新更新了一下资料。此外在团队的实际推行中,针对设计师和程序员合作之间遇到得最多的问题也提出了更有针对性的解决方案。也明白了再优秀的流程也比不上前期规划+持续沟通的道理。

经验表示:

  • 多数Agency或Studio的团队已经开始用更专业的编辑器来开发代码,但是还没有遇到太多协作上的问题,或者说是没有对这些问题做出系统性的思考。这正是大家现有的工作流需要重构的地方。
  • 对于Flash网站,大多数情况下,用Gaia框架提供的功能就已经足够。Robotlegs带来的好处并不明显。
  • 使用JSFL和Ant进行自动化处理能够极大的提高工作效率,是这套方法的亮点,也是最受使用者欢迎的功能。

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

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