Tag Archive: Flash


Workflow Refactoring

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

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

经验表示:

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

应用程序域

Application Domains 应用程序域

和安全域一样,不同安全沙箱下的SWF有着自己独立的类定义。这种在安全域下面进行划分和管理类定义(函数、接口和命名空间的定义也类似)的子域就是应用程序域。应用程序域只存在于安全域内,并且只能属于唯一的一个安全域。但是安全域可以包含多个应用程序域。

Application Domains in Security Domains
安全域内的应用程序域

虽然安全域沙箱用于保护数据安全,应用程序沙箱域用于划分定义。但是他们都用于解决定义的冲突和判断代码的继承关系。

安全域彼此之间是相互独立的,相比之下,应用程序域之间的关系则较为复杂。应用程序域通过类似于Flash中的显示列表那样的层级关系链接在一起。应用程序域可以包含任意的子域,而子域只能有一个父域。子域继承了来自父域中的定义,就像是显示列表中父对象的位置和缩放属性被子对象继承一样。

应用程序域的根节点是一个系统域,这个域包含了Flash Player API的原生定义(Array,XML,flash.display.Sprite等等)。系统域与安全域是一一对应的关系,当安全域初始化的时候这个唯一的系统域也被建立。 View full article »

今天终于有时间把senocular上关于安全域和应用程序域的教程好好看了一遍。觉得人家老外就是专业:内容非常有条理且完整,图文并茂,举例也非常实用,真是教程中的精品。刚好我最近也在整理这方面的知识,于是决定把这篇翻译出来,方便国内的读者。对想要进阶理解Flash的运行机制的朋友,本文是不可多得的好材料。

原文地址:http://www.senocular.com/flash/tutorials/contentdomains/

简介

如果你还没有与复杂的的安全域(security domain)和应用程序域(application domain)问题打过交道,那么你真是个幸运的家伙。当你在加载外部内容(然后他们开始播放)的时候,默认的设置工作的很好,你甚至不知道他们的存在。
但是某些时候你可能需要控制默认设置以外的更多行为和功能,这样你就会遇到前面所说的问题。你也许会困扰于Security.allowDomain和crossdomain.xml文件的区别,又或者你想要深究关于安全性的最佳实践。如果是这样,那么这篇文章就是你所需要的了。
以下的教程将会讨论什么是安全域和应用程序域,以及他们在Flash Player中应该如何使用。

安全域

Sandboxing 沙箱

沙箱是用于区分不同的数据和程序执行。沙箱对于安全性尤其重要。如果没有恰当的信任授权,两个位于不同沙箱内的内容应该没有任何交互。Flash Player的安全模型使用称为安全域的沙箱来分离内容。
虽然安全性是沙箱的主要用途,但这并不是唯一使用沙箱的原因。另外一种可能的情形是使用沙箱来避免命名冲突,这种区分代码的沙箱方式在Flash Player中被称为应用域

View full article »

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