http://www.zhihu.com/question/21730788
AIR适合开发移动应用,但我不建议使用AIR开发移动应用。
我在 “与 Xcode 相比,用 Adobe AIR/Flex做 iOS 开发有哪些优势和局限?” 和 “怎样学习Flash?” 两篇回答中都提到了不建议使用AIR开发移动应用。
当然,如果你执意要这么做,我也没办法阻止你。下面我假设你选择了用AIR开发移动应用,给你一些或许有用的建议吧。
1. 缺少好用的UI组件,至少没有原生的丰富和高效。Flex在移动端基本死了,自己写要花很多的精力,问题也多。
Flex在移动端的死掉,我认同。但你依然是可以在移动端使用Flex的。如果是一些对性能要求不高的应用,使用Flex还是能够大幅提升开发效率的(是开发效率,不是运行效率)。
我甚至用Flex开发手机游戏。当然,这是我在做程序员的过程中做过的最错误的选择了。
你大可不必自己写一套UI组件,这里 Flash&Flex大全 有我整理的许多UI组件,大部分我都试用过,还是比较靠谱的。
如果你一定要自己写,可以基于 minimalcomps - Minimal ActionScript 3.0 code only UI components 这套组件来扩展和改写,会省不少力气。
我不建议你现在用Starling+Feathers做UI。Stage3D对显卡是有要求的,且在Android上不够稳定,尤其是在山寨机上。和游戏比起来,应用面向的受众更加普遍,设备的档次可能更低,山寨机也可能更多。为了这部分(或许是你的大部分)用户,还是放弃Stage3D吧。
从技术上讲,选择用Stage3D来做应用的UI,完全是自己找shi。应用中绝大部分使用的是原生DisplayObject List的内容,它们只能位于Stage3D的上层,那个层次怎么调?Stage3D和DisplayObject List混合渲染,那个性能是很低DI~
2. 有些功能需要扩展也就是ANE开发,但是ANE很少,也不好开发调试。
ANE的确是个坑。
为了填这个坑,无数程序员做出了无数的努力。Rect和我把做过的这些ANE都开放了源码,你或许可以找到适合你的: Platform ANEs
当然,上面的ANE主要是针对游戏的。ANE Toolkit | zrong's Blog 是针对Android平台的一些基本功能的,但也并不完善。你依然要自己做许多许多的事情。
在开工之前,你可以去Github上搜索一下,上面也有许多的无私程序员制作的ANE供你使用。
至于ANE的调试,那是个痛苦得让人不忍回首的过程,与 Xcode 相比,用 Adobe AIR/Flex做 iOS 开发有哪些优势和局限? 这篇回答里面做了描述。
3. 打包后的程序太大,不便于发布更新。
我在 与 Xcode 相比,用 Adobe AIR/Flex做 iOS 开发有哪些优势和局限? 这个回答中也做过测试。
总之,无论你是否在意多出来的那几MB,反正你想做个2MB以内的应用是不可能了。
等等,或许在Android上是有可能的,因为Android可以支持不绑定运行时。但这样一来,你就要祈祷你的用户知道AIR Runtime是什么东东。有段时间Google Play上关于AIR Runtime最多的投诉就是“病毒!!为什么我启动游戏还要装这个!!!这是个病毒!!!”
你看,小白用户就是这么难搞。
4. 寄希望于Adobe持续稳定的支持,但Adobe显然把Flash平台的重心放到游戏上了。
哦,看看我的Adobe Bug list吧:AdobeBug | zrong's Blog
你真希望Adobe能持续稳定的支持你什么?
有句话说的好:“生活就像被XX,如果不能反抗,那就默默享受吧!”
你能反抗么?
你有许多选择。
或许你愿意被XX?
分享到:
相关推荐
Adobe AIR为Android应用开发提供了一条高效且灵活的路径,特别是对于那些熟悉Web技术和希望快速进入移动市场的开发者来说。通过充分利用Adobe AIR的强大功能,开发者不仅能够创建出美观且功能丰富的应用,还能够享受...
这篇博客“Adobe AIR * 设置移动应用程序属性”可能详细介绍了如何在开发Android应用时配置Adobe AIR的特定属性。 在使用Adobe AIR开发移动应用时,设置应用程序属性是至关重要的步骤,它影响着应用的行为、界面和...
《flash+flex+air移动开发入门经典——适用于android、ios和blackberry》 第1章 flash、flex和air简介 1 1.1 adobe flash 1 1.2 actionscript 3.0 2 1.2.1 ecmascript 2 1.2.2 关键概念 3 1.3 flex框架 11 ...
总的来说,Adobe AIR 移动开发源是一个宝贵的学习资源,它涵盖了移动应用开发的基础知识,包括Adobe AIR的使用、Starling框架的图形渲染以及Feathers库的UI设计。通过深入研究这个项目,开发者不仅可以提升自己的...
这个源代码库可能是Adobe AIR在Android平台上的一个实例展示,旨在帮助开发者深入理解如何利用AIR进行应用开发。 1. **Adobe AIR概述** Adobe AIR是一个运行时环境,它允许开发者创建可以在桌面和移动设备上运行的...
### 基于Adobe AIR 的下一代移动应用开发 #### 摘要 本文重点探讨了Adobe AIR 技术及其在下一代移动应用开发中的作用。通过与传统Web应用程序的对比,全面解析了Adobe AIR 的特点与优势,并具体介绍了利用Flex...
在本资源中,我们主要关注的是使用Adobe AIR进行Android应用程序的开发。Adobe AIR(Adobe Integrated Runtime)是一个跨平台的应用程序运行环境,允许开发者使用Flash、Flex或HTML5技术创建桌面和移动设备上的富...
本教程聚焦于使用Adobe AIR开发Android应用程序,这对于想要将Flash内容扩展到移动领域的开发者来说是一个宝贵的资源。 首先,了解Adobe AIR的基本概念是至关重要的。AIR提供了一个沙箱环境,使得基于Web的技术能够...
此外,他还担任Adobe Flash Professional Advisory Board和Adobe Alchemy Customer Advisory Board的成员,同时也是Adobe创意大学专家委员会委员和AIR移动研究小组委员。这些丰富的经历使他在Flash移动应用开发领域...
本篇教程将详细介绍如何使用Adobe AIR开发Android移动应用,帮助开发者快速入门并掌握基本的操作技能。 #### 一、Adobe AIR简介 Adobe AIR是一个强大的框架,它提供了一种方式,让开发者能够构建一次性的代码库,...
通过 Adobe AIR,开发者可以在桌面环境中构建移动应用,并将其部署到各种移动平台上。Flex 4.5 中包含了许多新的组件和特性,旨在简化移动应用开发过程。这些组件支持触摸滚动等移动端特有的交互方式,并且提供了...
Adobe Flex 4.5 发行版将 Flex 和 Adobe ...Flash Builder 也进行了更新,增加了许多新功能,用以支持针对移动设备开发应用程序。使用 Flash Builder,您可以在桌面 上或直接在移动设备上开发、测试和调试应用程序。
安装Adobe AIR运行时后,开发者可以使用Adobe Flex或Flash Builder等工具来创建AIR应用程序,这些应用程序可以直接在用户的Mac上运行,而无需浏览器支持。用户则可以通过App Store或其他渠道下载并安装这些基于Adobe...
Flash Air开发工具包是Adobe公司为开发者提供的一个强大的工具集,主要用于构建跨平台的桌面应用程序,充分利用Adobe AIR(Adobe Integrated Runtime)框架。这个工具包允许开发者使用Flash Professional或Flex ...
《Flash+Flex+AIR移动开发入门经典》是一本专为初学者设计的教程,全面讲解了使用Adobe的Flash、Flex和AIR技术进行移动应用开发的知识体系。这本书旨在帮助读者掌握如何利用这些强大的工具来创建跨平台的交互式应用...
Adobe Flash 3 AIR 更新主要涉及的是Adobe公司的Flash Platform服务,特别是其针对移动设备的开发环境Adobe AIR(Adobe Integrated Runtime)。这个更新着重提升了开发者在创建跨平台应用时的体验,特别是对于移动...
总的来说,Adobe Air 为 Flash 开发团队提供了一个高效的途径,让他们能够轻松进入移动世界,并创建出能够跨多个平台运行的应用程序。尽管面临着技术的限制和市场环境的变化,Adobe Air 仍在积极地适应新的开发趋势...
4. Adobe Flash Platform工具:Adobe为AIR应用开发提供了多种工具。比如,使用Flash Builder可以快速开发桌面和移动应用程序。了解如何安装和使用AIR SDK和Flex SDK是构建AIR应用的关键步骤。 5. 创建AIR应用程序:...