RichBox
郭少瑞博客

活动主题

2011年末Adobe做出战略转型, Flash将重心转移到游戏开发与Air,特别是专注于游戏领域,stage3d更是给Flash游戏品质与性能带来质的飞越。Flash 平台在PC上的高占有量,高兼容性,优越的性能表现,成熟的开发环境,庞大的开发者群体,这些都是成熟的商业项目所必需考虑的因素。相信随着 Stage3d技术的成熟,2012年,将掀起Flash3d游戏的淘金潮。

另一方面RIA领域的技术发展也从来没有停止脚步,后起之秀Html5无疑是正式加入了这场技术争夺战的“战火”。在这些大背景之下,作为开发者, 我们需要看到目前Flash技术的领先,也需要努力寻求它的最新发展与突破,更需要以包容的心态去面对整个RIA领域的各种技术变革。

活动报名

官网报名页面:

http://www.wefdc.com/join.php

抢座网报名页面:

北京场:http://fdc9bj.51qiangzuo.com

广州场:http://fdc9gz.51qiangzuo.com

上海场:http://fdc9sh.51qiangzuo.com

活动安排

主题:Flash 3D游戏元年与RIA技术变革

形式:主题讲座  专家访谈

时间:2012年3月11日 周日 下午 12 :30 — 18 :00

地点:北京,上海,广州

大会流程

1.  会议开幕致辞 + 三地大会共同召开揭牌仪式,5-10分钟(此环节三地同步)

2.  开场演讲:flash3d游戏《深渊》推介与工作流分析,分别由马鉴,段少婷,peter在三地主讲,40分钟(此环节三地同步)

3.  Flash 3D游戏开发主题,html5游戏开发主题演讲,两场演讲各40分钟

4.  抽奖环节加茶闲,同时调整三地同步时间,10-20分钟

5.  访谈环节:Flash与Html5生存空间与发展方向,由主持人跟两位flash嘉宾加两位html5嘉宾共同进行,40分钟(此环节三地同步)

6.  Flash 3D游戏开发主题演讲,两场演讲各40分钟

7.  抽奖环节,大会结束,5分钟

嘉宾与演讲主题

北京嘉宾与演讲主题

主题:flash3d游戏《深渊》与3d开发工作流分析
讲师:

  马鉴(7yue) – Adobe平台技术推广经理 。99年开始接触 Flash,2004年加入 Macromedia 公司任职解决方案工程师,2006至2008年,在 Adobe 公司担任过解决方案工程师和大客户技术经理,目前是 Adobe 平台技术传教士。
主题简介:将带来端点的最新flash3d游戏《深渊》的开发技术分析及结合了一些案例对flash3d开发工作流的讲解。

主题:基于stage3d的粒子特效系统
讲师:

  廖诚 – 网页游戏开发者,喜欢研究各种新技术,乐于探索各个开源项目,目前专注于flash 3D技术的研究,利用闲暇做了一个基于away3d的粒子系统(agal粒子特效效率特别高)。
主题简介:stage3d开创了flash显示技术的新篇章,它提供的可编程shader的技术让我们能够精确控制显卡的运算,可以让我们做到很多精彩的事情,粒子特效就是其中之一。今天我给大家带来的是一种效果超酷的高性能的粒子特效实现方式。

主题:Flash与HTML5实现粒子效果性能优化
讲师:

  祁东辉 – 新浪微博技术部高级前端开发工程师,微博主站及各业务线Flash需求负责人,并且负责新浪微博开放平台Flash sdk技术支持。@flashache 微博: http://weibo.com/ias3
主题简介:从一个需求案例出发,使用Flash与HTML5分别实现。针对两种技术实现过程中的每个环节进行测试,逐步优化,分别达到两种技术最优化解决方案。过程中会介绍一些性能测试和性能优化方面的内容。

主题:踏平FLASH 3D绊脚石-深入理解Stage3D底层
讲师:

  张鑫磊(A闪) – 从FLASH6.0时代开始接触FLASH技术,使用FLASH已有5年之久,曾使用FLASH开发过网站,多媒体和单机小游戏,目前就职于趣游(北京)科技有限公司,从事FLASH webgame开发工作。主要负责游戏引擎及其引擎周边编辑器工具开发。
主题简介:通过几何数学和stage3D使用方法来进行FLASH 3D应用的底层开发。

主题:更多北京flash与html5主题coming soon ……
讲师:

  更多嘉宾 – coming soon ……

广州嘉宾与演讲主题

主题:flash3d游戏《深渊》与3d开发工作流分析
讲师:

  黄 竣(peter) – Adobe平台技术推广经理 。国内最早一批Flash开发者之一,Rich Interactive Entertainment(RIE®)创始人。从事近10年的互联网互动应用及Flash游戏及应用的开发,对Flash游戏、视频及移动应用开发具有 丰富的经验。目前是Adobe平台技术传教士。
主题简介:将带来端点的最新flash3d游戏《深渊》的开发技术分析及结合了一些案例对flash3d开发工作流的讲解。

主题:《molehill接口》
讲师:

  崔波(Popple) – 就职于腾讯,从事webgame开发。
主题简介:分享molehill context3D接口,以及molehil渲染流程。

主题:《VFS在大型Flash项目中的应用》
讲师:

  唐声福(Slicol) – 就职于腾讯,从事WebAcg开发。
主题简介:简述基于Flash的VFS的实现,以及分享它在Flash项目中的部署和应用。

主题:Flash大型项目的资源版本管理
讲师:

  陈天民(Timmy) – 就职于腾讯,从C/C++转AS3,目前开发webgame。
主题简介:分享通用的Flash大型项目的资源版本管理方法。

主题:更多广州flash与html5主题coming soon ……
讲师:

  更多嘉宾 – coming soon ……

上海嘉宾与演讲主题

主题:flash3d游戏《深渊》与3d开发工作流分析
讲师:

  欧阳鹏程 – 目前就职于端点,是flash3d游戏《深渊》的主程,它负责改造了away3d引擎,打造了这款游戏完整的3d开发流程。
主题简介:将带来端点的最新flash3d游戏《深渊》的开发技术分析及结合了一些案例对flash3d开发工作流的讲解。

主题:一条龙制作模型动画与特效
讲师:

  徐年 – 负责开发homeStyler 3D网上商城。今年正式加入51 的一个3d游戏项目。在51.com 的时候做的职务很简单,就是一个stage3D的开发者。
主题简介:现在目前看多很多的朋友在做3D游戏时,发现所有的人的人物动作模型全在一个文件上,大大的增加了模型的文件体积,换装备也很麻烦,身上的特效也不知道如何挂接。粒子特效的种类也是比较模糊的,等等东西我会稍微的做点介绍。

主题:Html5游戏开发之旅
讲师:

  李正林 – RIA开发者,爱好Flash/Flex,AIR,HTML5及相关技术,盛大创新院研究员。
主题简介:简单介绍如何使用HTML5进行游戏开发,并对Flash和HTML5游戏开发做简单对比。

主题:Flash与Html5生存空间与发展方向
访谈嘉宾:

  魏子钧 – Web前端工程师 & Java工程师 ,8年软件行业研发经验。目前主要专注于HTML5技术的研究以及HTML5技术在互动娱乐领域内的实践,现就职于盛大创新院 前端技术组 ,任研究员。

主题:更多上海flash3d主题coming soon ……
讲师:

  更多嘉宾 – coming soon ……

活动地点

北京会场:

地点:北京朝阳区 - 北京外国专家大厦二层多功能厅

北京北四环中路华严北里8号,健翔桥东南侧

广州会场:

地点:广州天河区 - 健力百合酒店10层

广州市天河区林和西路169号,火车东站B出口

乘车路线:
路线一:乘坐地铁3号线,在广州东站地铁站下车,B出口沿林和西路向西行200米路南。
路线二:乘坐大巴,在广州火车东站客运站下车,沿林和西路隧道南行至林和西路右行50米路南,威尼国际旁。
路线三:乘坐出租车,沿林和西路行使路南。
路线四:乘坐火车,请在地铁站B口出,沿林和西路向西行200米路南。

上海会场:

地点:上海虹口区 - 中国出版蓝桥创意园主楼7楼会议室

上海虹口区广纪路838号,地铁:三号线大柏树站,步行五分钟即到

大会官网http://www.wefdc.com

大会微博http://www.weibo.com/wefdc


现在Adobe已经宣布,Flash Player 11 和 AIR 3 已经到达了一个里程碑阶段, 离正式发布不远了(不出意外的话,应该是在10月上旬即可发布)。与之相伴的将是IDE的升级,Flash Builder将迎来它的下一个小版本发布(Flash Builder 4.6),同时Flex SDK也将推出下一个版本,即Flex SDK 4.6。

http://www.riadev.com/flex-thread-1231-1-1.html

 


最近打算抽空研究一下Flex的SDK,顺便写一些关于Flex SDK的中文教程,命名为《了解Flex SDK系列教程》。这是第一篇,关于Flex项目构建工具(Ant和FlexTask)。因为工作很忙,教程的间隔时间可能会很长,还请见谅…

首先,从哪里可以获取Flex SDK?最简单最直接的方式,就是安装Flash Builder(以下简称FB),当您安装完毕,可以打开FB的安装位置,目录sdks下面,就是目前比较常用的Flex SDK版本。具体位置因您的安装选择而异,比如笔者的路径是:D:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\sdks。因为笔者安装的是FB 4.5,所以目录中实际上包含了两个版本的SDK:3.6和4.5,如图所示:

如果您安装的是FB4.0,则看到的最新SDK版本应该是4.0或4.1。而那个比较老的3.6版本,主要是为了兼容之前的Flex3项目(如果您 有比较老版本的项目,而且不打算做代码变更,那么3.6这个版本的SDK是必须的)。本文的探讨将以最新的SDK,也就是4.5为准。

全文地址:http://www.riameeting.com/node/1009


对于两级导航菜单,我们应该不会陌生,很多网站都使用了这个效果,如下面这张图片所示,当鼠标划过或点击一级菜单,会出现相应的二级菜单,也就是我们经常说的菜单联动效果。当然图片中的这个效果是基于HTML和JavaScript实现的,那么在Flex开发中,我们能否达到这样的效果呢?当然是可以的,下面我们就来探讨一下实现步骤…
http://www.riameeting.com/node/995


本文由RIAMeeting翻译,您可以自由转载,但请注明原文和译文地址,谢谢

原文地址:
http://blogs.adobe.com/cantrell/archives/2011/03/everything-new-in-adobe-air-2-6.html

Adobe AIR 2.6 现在已经上线了 (运行时 和 SDK). 当前2.6的工作重点是均衡Android和iOS的功能实现(译者注:之前由于某些原因,AIR2.5的功能特性主要是针对Android平台开发的), 当然我们也悄悄的针对SDK,Android,桌面性能等方面提供了一些好的特性。

下面是AIR 2.6所提供的新特性的列表.

  • 异步位图解码. 这个特性将允许我们在主线程之外,另起一个线程完成对位图的解码。设置 LoaderContext的imageDecodingPolicy 属性的值 为ImageDecodingPolicy.ON_LOAD,来启用异步位图解码,这样可以让您的应用更加灵活,动画更流畅。
  • 专属窗口(Owned Windows). 专属窗口适用于像调色板工具这样的情况。专属窗口特性允许您关联一个窗口和其它窗口,这样可以实现专属窗口总是排在它的所有者的前面(基于Z轴排序)。在 没有专属窗口之前,我们要实现这个功能借助许多API,比如激活事 件, orderInBackOf, orderInFrontOf, orderToBack, 和 orderToFront API等等。但是有了专属窗口,这些事情就容易多了,您只需要使用NativeWindowInitOptions  对象,将所有者传递给一个新的窗口,然后AIR运行时会帮您实现后面的事情。非常简单。
  • StageWebView中的位图捕捉. StageWebView 新提供的drawViewPortToBitmapData 方法允许您绘制一个StageWebView 对象到一个位图。 这个特性可能有两种使用情况。首先且最常见的情况是为StageWebView对象捕获一张屏幕截图,第二种情况则是定位Flash内容在 StageWebView之上。由于不可能将Flash内容放置在一个StageWebView 对象的上面(Flash内容总是在下面绘制),所以一旦 您有这样的需求,可以先捕获当前StageWebView 的截图,并用这个位图替换StageWebView ,然后您就可以将Flash内容放置它的 上面了。
  • iOS麦克风支持. 现在已经提供了针对 iOS的麦克风的API了.
  • iOS中的网页视图(StageWebView ). 就像在Android一样, StageWebView 现在可以工作在iOS中了(译者注:使用这个机制,我们可以在应用中显示HTML页面,有点类似于我们在Flex开发中偶尔会借助Iframe显示HTML,但StageWebView 是原生支持的).
  • iOS多任务支持. 使用AIR2.6,我们的AIR应用在iOS上就可以在用户进入或离开应用的时候,捕获到激活或不活动事件。AIR应用可以选择恢复而不是重新启动(除非基于某些原因,操作系统要干掉这个应用)。
  • iOS视网膜显示屏支持. 不言自明,2.6可以支持高分辨率屏幕的iPhone4和iPod touch(326PPI),和更高分辨率的图标。
  • iOS Camera, CameraUI, CameraRoll 支持. Camera and CameraUI API现在可以用于iOS了, 就像在Android上一样. (如果您还不了解这几个API,请阅读 How to Use CameraUI in a Cross-platform Way ).
  • iOS硬件加速. 就像在Android上一样,AIR在iOS上也启用了硬件加速,来提供更好的性能。
  • PFI 变成了ADT. 注意我们之前用的 PFI (Packager for iPhone) 已经过时了, 它的功能已经被整合到ADT(译者注:大家可能还记得我们之前需要用这个工具将Flash应用打包到iPhone上使用). ADT 现在可以被用来打包 AIR文件, 本地桌面程序安装文件, Android应用, 和 iOS应用.另外iOS应用(IPA文件)可以在Windows平台下使用ADT和iTunes编译和复制到iOS设备上。非常简单。
  • 可配置的软键盘激活. 当移动设备中的一个AIR应用中的文本输入框获得了焦点,通常会出现一个软键盘,并且如何键盘遮盖了文本输入框,则UI会自动移动以便保证文本框不被遮 盖。现在这个行为是可配置的。默认情况下,如果使用2.6,什么都不会改变,开发者可以使用应用描述设置来改变默认设置。使 用<softKeyboardBehavior> 并设置为none,UI将不会自动移动。如果使用的是默认行为,开发者可以侦听Stage 的softKeyboardActivating 事件,并使用softKeyboardRect 属性来修改他们的应用的布局。
  • 编程控制屏幕键盘的显示. 在 InteractiveObject上使用新的requestSoftKeyboard() 方法, 还可以配合needsSoftKeyboard 和 softKeyboardInputAreaOfInterest 属性, 开发者现在有较完整的方式来编程控制屏幕键盘的显示。
  • 支持Amazon Android Market. 基于 AIR 2.6 SDK 构建的AIR应用可以被发布到新的Amazin Appstore for Android. 点击这篇文章查看详情: AIR 2.6 Applications and the Amazon Appstore for Android .
  • Linux下的矢量打印支持. 如果您的打印机工作在Linux系统下,那么可以使用AIR的矢量打印.
  • 本地光标支持. 这是一个比较大的特性。如果您之前在Flash或Flex项目中尝试过更改光标显示,您就会知道那是会引起一些问题的,比如性能问题,运动鼠标导致CPU 占用率上升等等。基于AIR2.6,开发者可以使用真正的本地光标。新的MouseCursorData类可以通过一个或多个位图和一个坐标点,来创建本 地光标。
  • 通过USB接口完成基于设备的调试 (Android only). 现在可以不使用WIFI来调试了,可以通过USB连接来调试(译者注:确实是好消息,不是随时都能找到可用于调试的局域网WIFI的)。
  • 本地菜单事件细化. 这是一个微小的调整,但比较重要,增加了若干事件类型,以便我们更细致的控制本地菜单的显示和事件处理。
  • Android上增强文本支持. 也是一个比较重要的更新. 针对Android,AIR 2.6 现在支持文本滚动,文本选择,和文本上下文菜单(剪切,复制,粘贴)。
  • NetConnection.httpIdleTimeout. 在 AIR 2, 我们添加了URLRequest.idleTimeout 和URLRequestDefaults.idleTimeout 属性. 在 AIR 2.6中, 我们为 NetConnection添加了同样的支持,就是 新的httpIdleTimeout 属性.
  • 绑定了 Android USB 驱动 (WindowsAIR 2.6 SDK 绑定了支持大部分Android设备的Windows驱动,更方便于我们的开发和测试.
  • 支持 vipaccess:// URI. 这个 vipaccess:// URI 用于调用 VeriSign’s VIP 服务.
  • -version flag for ADT. 可以通过这个编译参数启动不同版本的ADT.

后面我们将为大家带来更多AIR2.6和移动开发相关的内容,敬请期待。


我们使用框架,是为了解决我们项目中的问题,而不是为了使用框架而使用框架,比如新手很容易遇到的问题就是耦合问题,通过硬编码的方式将各个组件耦合在一起,造成维护的时候成本很高,这就是问题,那如何解决这个问题呢?我们可能试图自定义一些配置文件来实现松耦合,发现总是考虑不周,有各种各样的问题,这个时候我们可能发现前人已经探索了一条最佳方案:控制反转,也就是IoC。IoC是思想,在这个思想下面,Flash界也有一些框架的实现,包括Parsley,Spring ActionScript等等,那么我们会引入这些框架来帮助我们解决之前遇到的耦合问题(或许我们会选择不同的框架,会基于框架扩展,甚至完全自己开发,但这些不是重点,重点是我们在用IoC的思想解决问题),这个过程很重要,也就是问题的解决让我们体会到了框架的重要性;如果没有这个过程,只是为了使用IoC框架而做代码变更,您也就很难理解这样实施代码的意义,只会徒增对框架实施的反感。
对于团队协作,无论是选择现有框架还是基于框架改造,还是完全自主开发,毫无疑问框架是不可或缺的,框架将统一团队成员对项目架构的认识,帮助团队成员少走弯路,在吸取前人经验的基础上,把团队的力量发挥至最大。
对于个人,我提倡框架思想最重要,形式不必太拘泥,因为对个人实施一个小型外包项目而言,成本控制非常重要,包括时间成本;刚才我们也说到,框架最大的意义是它的指导思想,所以即使是个人实施小型项目,有好的指导思想也是很重要的,它可以帮助你少走弯路尽快的完成项目,减少出现Bug的几率,所以在项目实施中一定要遵守框架思想;在形式上,是否引用了某某框架,并不重要,比如我们实施一个小型的Minisite,是否一定要引入PureMVC呢?为了适应PureMVC的架构,我们需要编写更多的类,付出更多的时间,这时我们可以不使用第三方框架,而根据这个项目的实际情况,实施一个微型的MVC架构,在保证项目架构和代码可读性的同时,尽量缩减实施成本,个人感觉这样更实用,更适用于个人的小型项目。


本文将向您介绍基于Parsley框架构建模块化的Flex应用的基本知识,包含视频和文字介绍,以及相关的实例项目(见本文底部)。

必要条件

为了更好的了解本课程的内容,您需要:

  1. 具备基础的Flex开发经验
  2. 了解Flex Module的概念和基本用法
  3. 了解控制反转(IoC)和依赖注入(DI)概念

本课程涉及的内容:

  1. Parsley概述
  2. 基于Parsley构建模块化的应用

视频

http://v.youku.com/v_show/id_XMjUwMDgzNzA4.html

视频重点

1.配置方式

Parsley支持多种配置方式:

  1. MXML : 基于MXML语法,可使用MXML或Parsley标签,配置类被编译到SWF中;适用于我们不希望暴露外部配置的情况(比如客户端密钥),并且可以被编译器检查属性错误。
  2. XML : 基于XML语法,使用Parsley标签 ,外部配置文件,运行时加载使用,这种方式最灵活,可以修改配置文件而不需要重新编译项目。
  3. ActionScript : 基于ActionScript类的配置,被编译到SWF中,也可基于AS运行时动态注入对象到上下文
  4. Metadata : 使用元数据标签(比如[Inject])实现自动装配,更利于解耦

在项目开发中我们经常会融合这几种配置模式,达到灵活使用的目的。

2.关于视图组件的自动装配

由于IoC框架都是基于ActionScript的反射机制来实现依赖注入(describeType()),而describeType()是个性能开销较大的操作,特别是对于Flex视图组件(属性太多),反射的开销更大,所以基于性能优化的考虑,我们通常不把视图配置在上下文中,也建议您尽量不要在运行时将视图注入上下文(虽然Parsley支持在运行时注入视图,见视频中的Parsley概述部分)。当然,这也取决于您的项目实际情况,如果你的项目规模和视图数量都非常有限,那么将视图注入可能不会引起太大的性能问题,那么通过<Configure>标签注入视图确实非常方便。这个并非Parsley的强制措施,您可以灵活把握。

那么,如果不把视图注入上下文,那视图本身的一些依赖该如何获取呢?可以使用表现层模型(PM)来封装逻辑操作,然后用FastInject标签,将视图的表现层模型交给上下文管理并注入到视图。参见视频中的实例讲解部分。

3.Module之间的事件派发与捕获

如果您试图通过消息框架向另一个Module派发事件,但另外一个Module还没有被加载和实例化,那么消息框架将无法完成这个任务。

解决方案:使用消息拦截机制 [MessageInterceptor]

过程描述:

  1. 事件中需要指定派发的目标Module
  2. 实现消息拦截器,首先捕获事件,并判断目标Module是否已经加载和实例化,如果Module可用,则将事件发出;如果Module还不可用,则标记当前进程,通知主应用加载Module
  3. 当Module加载和初始化完毕,派发一个事件到消息拦截器,拦截器则将被暂停派发的事件,继续派发,并被Module捕获,执行下一步操作

附表:示例项目主体结构

演示内容
主应用配置文件 AppConfig.mxml 基于MXML的配置文件
main_config.xml 主应用的XML配置文件,包含一些核心功能的对象(Model, Service等) 

currentUser引用了main_data.xml中的对象

main_data.xml 主应用的XML配置文件(包含主要数据)
main.property 外部配置变量
主应用上下文 Main.mxml 基于ActionScript的上下文创建
表现层模型注入 MainPM.as 基于FastInject标签注入
应用启动 Bootstrap.as 使用了异步初始化声明标签,先加载Skin,然后让上下文继续装配;对Module进行预加载
Module IModule 接口,约束Module实现销毁方法
LoginModule.mxml 登录模块,注意其中的模块上下文创建和表现层模型的注入
LoginModuleConfig.mxml 模块配置文件
LoginModulePM.as 模块的表现层模型,由配置文件定义 

注意从主应用配置中注入的对象,比如:currentUser

注意事件的通讯,比如登录成功后的视图切换

消息拦截 ModuleMessageInterceptor.as 基于消息拦截,实现向未加载的Module延迟派发消息

实例下载

点击这里在线运行Demo | (没有实现加载进度显示,会出现空白,请等候加载)

点击这里查看源码


本文将对两种常用的IoC框架(Spring ActionScript和Parsley)做一些简单对比,注意目的只是让大家了解一下基于这两种框架开发的一些差异,而并非得出一个谁好谁劣的结论, 基于笔者的经验,实际上这两款框架都是非常的优秀,都是基于实际开发中的经验总结出的最佳实践的体现,都经过了很长时间的应用,并逐渐完善和被开发者社区 认可。如果您非常了解它们,并使用了合适的方法,那么对项目开发都会带来非常大的益处。

Spring ActionScript实际上是Spring框架在ActionScript中的实现(Spring是Java社区中被广泛应用的IoC和AOP框 架),所以Spring ActionScript实际上是建立在Spring成熟的设计思想之上,所以如果您是具备Spring经验的Java开发者,那么使用Spring ActionScript将很容易入门。因为是基于Spring设计思想,所以它的体系非常完整,基本上我们开发中可能会涉及到的各个细节在框架中都有所 体现。

Parsley则是在很大程度上受到了Spring ActionScript的启发,所以我们在使用Parsley的时候,会发现它的使用方式和Spring ActionScript非常相似(通过下面的对比,我们会发现,更多的是实施细节的不同,而原理则基本一致),同时它又融合了一些实践中很实用的一些技 巧。

Spring ActionScript Parsley
主要功能 IoC框架,事件总线,任务框架 IoC框架,事件总线,任务框架
支持项目类型 Flex项目,Flash项目 Flex项目,Flash项目
配置方式 MXML, XML, ActionScript, Metadata MXML, XML, ActionScript, Metadata
配置中include其它配置 支持,可以在配置中使用import 不支持,只能基于ContextBuilder代码控制
Properties配置 即外部变量配置文件,支持 支持
配置中调用对象方法 支持 只支持用[Init]标注的初始化方法
配置中使用匿名对象 支持 支持
对象lazy模式 支持 支持
配置中使用集合 支持Array, ArrayCollection, Dictionary 只支持Array
对象配置模板 支持 不支持
自动装配 支持 支持
自定义对象工厂 支持 支持
事件总线 支持 

只能派发事件

支持 

Parsley中应称之为消息框架,这是一种非常灵活的机制,您可以派发一个普通的消息,而不一定是事件,同时对没有派发能力的类,还可以注入派发器

对视图的自动装配 支持 

Spring ActionScript对于视图的自动装配采用侦听ADDED_TO_STAGE事件,如此方式虽然方便,但在大型项目中会引起性能问题,所以最佳实践应该结合自定义的objectSelector和接口机制来优化

支持 

Parsley只装配明确指定的视图(使用Config标签或派发事件),这样来避免遍历所有显示对象的性能问题;由于视图组件的属性太多,反射的代价太高,所以最佳实践是尽量避免对视图使用反射(也就是不要在视图中使用自动装配机制)

操作和任务 支持 支持
Module开发 支持,提供上下文继承 支持,提供上下文继承
AOP 不支持 不支持
自定义配置标签 支持 支持
自定义Metadata 支持 支持
松耦合绑定 不支持 支持

课程主题:基于Parsley构建模块化的Flex应用

时间:2011年03月10日(周四)晚 8:30 – 9:30

课程概要:在Flex开发中,我们经常使用Module来拆分项目,那么来看一下如何基于Parsley实现Module的事件通讯和依赖注入。

为了更好的了解本课程的内容,您需要:

  1. 具备基础的Flex开发经验
  2. 了解Flex Module的概念和基本用法
  3. 了解控制反转(IoC)和依赖注入(DI)概念

本课程涉及的内容:

  1. Parsley概述
  2. 基于Parsley构建模块化的应用

适合人群: 初/中级Flex开发者 。

地址:

http://www.riameeting.com/node/978


声明:本文为RIAMeeting原创文章,谢绝转载,但您可以链接到本文,请尊重作者的劳动成果,谢谢!

在我们为Flex组件定制外观的时候,经常会使用各种外部嵌入的资源,比如一张位图,一个SWF,或者一个SVG,对于嵌入的方式(Embed元数 据标签),如果您已经具备了一定的Flex开发经验,那么您对它应该比较熟悉了。那么,您是否在组件外观实施中考虑到了当组件的尺寸发生改变,组件外观如 何去适应新的尺寸呢?这就是通常我们所说的组件的缩放问题,一个好的组件外观实施,应该可以适应各种不同的场景(比如对于按钮,文本标签的长度是不确定 的,所以按钮的背景应该可以适应各种情况,如果您很不幸只考虑到了短文本的情况,当文本长度增加,并没有相应的调整背景的尺寸或者只是粗糙的直接将背景的 宽度与文本标签宽度绑定,那么您将不得不面对发火的老板和抱怨的客户,因为这个外观在某些场景下表现的实在太糟糕了-_-!见图1)。

图1 糟糕的按钮外观实施

解决这个问题的办法是使用Scale9技术,也就是通常我们所说的九宫格,使用这种机制,我们可以灵巧的制定图片的缩放策略,让图片在缩放的时候可 以依据一定的规则(比如保持圆角的尺寸不变,只缩放中间部分),从而达到比较完美的效果。下面来让我们探讨一下Scale9的技术原理和使用技巧。

全文链接:

http://www.riameeting.com/node/976



Powered by Wordpress
Theme © 2005 - 2009 FrederikM.de
BlueMod is a modification of the blueblog_DE Theme by Oliver Wunder