Adobe Flash Builder 和 Catalyst中的开发技巧

这是一篇讲述在Flash Builder和Flash Catalyst中的开发技巧和需要注意的一些方面的文章,原文地址在:
http://www.themorphicgroup.com/blog/2009/06/23/adobe-flash-builder-and-catalyst-tips-tricks-and-hacks/

Adobe Catalyst在6月份发布了Alpha版本,并且已经推出了很多的视频教程让开发者了解如何使用Flash Catalyst快速开发出一个RIA应用,以及如何将一个Flash Catalyst的项目变成一个Flash Builder的项目。不过还没有太多的教程涉及到如何将一个项目从Flash Builder中返回到Flash Catalyst中操作,以及在它们之间进行反复的协作。这是因为“来回反复协作”这个功能并不是官方宣布的正式的功能(目前)。现在当一个开发者去修改Catalyst生成的代码,为按钮增加事件回调方法,或者将一个Data List绑定到数据服务,他们不能使用Flash Catalyst来做这件事,并且,Catalyst不能读取由Flash Builder生成的项目文件(fxp文件),开发者也不能只是简单的重新导入他们的项目,这样可能导致代码被覆盖。

出于这种限制,看起来Catalyst只是一个用来制作原型的工具,而随后的重任(将一个设计方案转换为具备功能的应用,并实现设计图)就交给开发人员来完成了(编者注:实际上Adobe推出Flash Catalyst,对它的定位就是一个交互设计工具,就是说它的使命是完成项目中的交互设计(界面,操作行为,特效等等),而具体的逻辑功能上的实现,则是要依靠Flash Builder等专业的开发工具来解决的,从这个角度讲,这也算是各有分工,否则如果Flash Catalyst也可以做开发,那么和Flash Builder的功能会有重叠)。

在作者使用Catalyst和Flash Builder的一段时间里,他认为他通过一些方式将Catalyst引入到了整个的开发过程,通过这些提示和开发技巧,你就可以频繁的从Catalyst中重新导入项目,并且更新你的Flash Builder项目,而不用担心前面提到的你的代码会丢失或被覆盖的问题。

保持你的项目横向扩展(Keep your Catalyst project flat)

"Flat"的含义是什么呢?当作者第一次尝试使用Flash Catalyst,他创建了很复杂的组件结构,比如说,他先创建了一个屏幕组件,然后在组件中创建了一个“Panel”组件,在这个Panel组件中他又创建了一个按钮组件(Button)。这是一种非常常规的组织UI元素的方式,但是因为现在还不能明确的给予Flash Catalyst中一个组件赋予“ID”属性,这样你也就无法做一些工作比如,很轻松的给予组件内的按钮指定一个回调方法。那么如何做到这一点呢?

  1. 保持你的项目中的所有组件都在根节点的图层上
  2. 避免在组件内嵌入别的组件

    当你这样做了,你就可以把Catalyst项目导入到Flash Builder,并从中选择你需要的组件,并且知道你希望在什么位置使用这个组件。

  3. 关注皮肤而不是组件

    作者这里说的“Skin”,并非指严格的Spark皮肤。这是因为Catalyst只能定义一些类似Button,TextInput,DataList,或者自定义的组件。当然未来很有可能Adobe会添加这个特性(使用Flash Catalyst制作Spark Skin)。

  4. 确保给予组件一个好的命名

    当你创建了自定义组件,请到Library面板中更改组件的名称为比“CustomComponent1”更有意义的名称。

  5. 当把组件从Catalyst中导入到Flash Builder中之后就不要再动它们
  6. 使用“skins.”实现Catalyst自定义组件
  7. 使用mxmlContent让皮肤可以自动缩放
  8. 绑定你的Catalyst组件的状态到你的Flash Builder组件的状态上

点击这里查看作者对这些技巧的详细注解:
http://www.themorphicgroup.com/blog/2009/06/23/adobe-flash-builder-and-catalyst-tips-tricks-and-hacks/

riadevID: 
您给予的分值: None 平均分: 8 ( 2 票)

发表新评论

  • 网页地址和电子邮件地址将会被自动转换为链接。
  • 行和段被自动切分。
  • 您可以使用下面的标签来高亮显示您的评论内容: <code>, <blockcode>. 可以使用"[foo]".旁边显示标签样式 "<foo>" PHP代码可以用这样的区块来包含<?php ... ?> or <% ... %>

更多格式化选项信息

验证区域
系统验证:请回答下面的问题