关闭

Flex mobile入门

883人阅读 评论(0) 收藏 举报

Adobe Flash Builder 4 简体中文正式版 Windows版点击下载:http://g.csdn.net/5134151
Adobe Flash Builder 4 简体中文正式版 Mac版点击下载 :http://g.csdn.net/5134152
Adobe 在线课堂:http://adobev.csdn.net/zx/index.html
Adobe平台技术峰会课程视频:http://adobev.csdn.net/

今年,在MAX大会上,Adobe实验室正式发布了Flex mobile. 我花了点时间研究了下multi-screen MAX Volume experience的移动程序,想要和大家分享下我的心得。


用flex开发移动应用主要是针对在Android运行时下运行的AIR,而不是用于移动网络的Flex。仅使用针对这个运行时的as3或Flash Professional程序的话,大多数的api都是可用的。举个例子,在移动版和桌面版中,麦克风对象的工作原理是一样的。特定于移动交互的新功能都已经合并进运行时中以便更方便的使用。手机交互键(menu,back,home)都是通过键盘对象和响应事件来完成的;加速器对象触发事件传递X,Y和Z数据并像麦克风对象一样设定轮询。

 

Flex Mobile已经跟随这些同样的模式并极力保持与标准开发环境一致。Flex团队为达到这种效果做出了很大的努力。在移动或桌面模式,很多组件都是这样工作的,就像buttons,在移动开发时就不需要任何调整。在移动开发中需要调整的对象通过一个特殊的移动主题(不是通过主题浏览器)来重新定义皮肤。TextInput对象有一个简单的皮肤并默认调用Android键盘来输入。当列表(list)对象的交互方式设为触摸时,它会实现拖拽滚动,并且主题会在列表不滚动时隐藏滚动条。像这样的小功能使Flex Mobile变得格外简单和快捷。

 

对开发人员而言,最大的改变就是要注重主程序层组件执行的方式。对移动版来说,Flex项目有 一个新的MobileApplication对象作为根对象。这个对象用不用标签来建立都可以,不管用什么方法建立都是一个ViewStack。现在所有 的Flex Mobile应用都是基于ViewStack模式。单独的窗口是基于新的“view”组件,仅仅是所有意图的一个集合。当视图被推出堆栈,MobileApplication就会以默认的或开发者定义的过渡效果将相关的窗口推进或推出视图。

 

开发过程中,仅使用ViewStack的应用有一些注意事项。

首先,在组件之间很难共享view对象。Flex Mobile在顶层提供了一个“actionBar”,用来解决共享对象的问题,否则,所有在特定窗口显示的对象将必须明确的加入那个视图中。

第二,你将需要一个好的框架来组织视图之间的事件和数据。View对象不能够接收和检查其它组件的数据,所以一个好的传递数据的系统是必要的(如果你以前没有这样做,现在必须要这样做了)。为此,我用的是Robotlegs微结构并且发现整合起来很简单。

 

有一些例外,Flex Mobile目前仅包含Spark组件套。例外的是这小数的组件没有像图表组件那样被转移到Spark中,也没听说Adobe在近期会有这个意图。强制使 用Spark组件能是Flex Mobile应用保持小身材和高性能,反正Flex Mobile也不打算向后兼容,他这样决定也是有意义的。

 

另外一个教程是关于皮肤和项渲染器的。Adobe这次建议只使用AS项渲染器对象,避免使用MXML的皮肤。这是出于性能原因的考虑,AS3代码编译器写出的代码并不比我们自定义的项渲染器要简明的多,(当然这只是希望)。我发现稀疏的MXML皮肤并没有对我们的应用起真正的作用,所以你可以在适当的时候跨越这条“建议”。

 

就像我说的那样,Flex Mobile入门是非常简单和快速的,除了那些跟我们正常的开发步骤有少许差别的和标准移动开发要注意的事项(不同的屏幕大小,性能和内存有关,等等),它与桌面开发区别很少。


Adobe已经写了大量关于Flex Mobile的文档,你可以到Adobe Labs的页面看到它们以获得更多的信息.

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:510715次
    • 积分:6489
    • 等级:
    • 排名:第3671名
    • 原创:17篇
    • 转载:82篇
    • 译文:94篇
    • 评论:180条