Android SDK与Adobe AIR:优点和缺点?

有没有人对此进行过博客评论,还是有人想在这里做一下呢? 很高兴看到关于Android上的Adobe AIR与“本机”Android SDK(Java中)的理性思考。

编辑:尽pipe很less的意见,没有答案,我离开这个问题在这里,因为这是一个话题,需要在某个时候被覆盖…但如果它没有得到任何关注,我会在几天内删除它。

Solutions Collecting From Web of "Android SDK与Adobe AIR:优点和缺点?"

我认为它最终与是否将AIR或Java用于桌面应用程序的问题非常相似。 最终归结为三点:

  1. AIR能做你需要的一切吗? 很显然,android SDK让你可以完全访问设备function,但AIR故意不能保持便携性。 例如,AIR可能不支持意图,至less在最初(我不认为Adobe已经公布了一种或另一种方式)。 另外,AIR需要Android 2.2。 如果这些限制是麻烦的,普通的android SDK可能是最好的。

  2. 你是否想要做一些适合在Flash中使用的东西? 如果您计划使用animation,video,声音等devise繁重的应用程序,那么在Flash中构build它可能比使用Java更容易。 另一方面,如果你的应用程序将是纯粹的代码只使用标准的可视化组件,那么它可能不会对你使用的平台有所作为。 或者在抓握的手上,如果你有现有的Flashanimation或类似的东西,那么试图把它们塞进一个Java应用程序将是麻烦的。

  3. 你是否瞄准除了Android之外的其他平台? 如果是这样的话,AIR可能是一个巨大的胜利,因为相同的应用程序内容应该运行在Windows,Mac,Linux等,以及其他计划支持AIR的设备,如黑莓,一些电视机,蓝光光盘播放器等。如果您只是针对Android,AIR可能会失去一些吸引力。

我希望有一些帮助。 实际上,除非你真正被locking在使用AIR之外,因为你需要的东西不会给你,或者有效地locking在使用AIR,因为你在做devise繁重的工作,而且你需要工具,那么我认为,这两个SDK的缺点主要是方便的问题。 无论哪个平台都可以工作,所以这只能使你以最快,最可靠的方式到达终点。

要考虑的一个问题是与Android设备的兼容性。 Android智能手机和便宜的手机都运行在Android平台上,但它们并没有相同的function。 即使您的应用程序很简单,或者可以在AIR中精美地完成,其相关提到AIR不兼容所有Android设备。

目前销售的一些非常受欢迎的设备(如三星ACE和其他“便宜”设备)使用ArmV6芯片,即使使用Android 2.2或更高版本,AIR或Flash也不兼容该架构。

AIR是有趣的,因为同样的开发工作在不同的技术上,但是考虑到AIR不能在“旧”iPhone上运行,它只能保证使用大型处理器的新技术。

检查此Adobe链接http://www.adobe.com/flashplatform/certified_devices/

如果在您的要求中,尽可能多地使用手机,包括那些不那么花哨或者新颖的手机,那么AIR应该排除在技术决定之列。

我大部分都是使用AIR的经验,而当我构buildAIR的本地扩展时,我几乎没有使用Android SDK。 我最大的障碍是它是不成熟的,这是错误的,这是不一致的行为。 是的,你可以去adobe.com那个shiny的页面,看看AIR有多酷……所有的亮点都包含了大量的function,它们似乎满足你的所有需求。 然而,一旦你开始build立你的应用程序,你会发现许多丑陋的惊喜:

  1. 阶段文本不正常工作。 除了这个bug之外的链接 StageText还有一些其他的bug,比如Scroller中的行为。

  2. Sound()对象不播放stream(仅在模拟器上)。 链接

  3. 缺乏像AEC这样的function使得AIR对于聊天应用程序的整个列表毫无用处,因为您会听到回声和尖叫的噪音。 链接

  4. 重载(并且对于移动来说是不成熟的)Flex SDK(我希望Apache中的人会从0改写它并使其更易于pipe理)。

  5. iOS设备上没有H264支持: 链接 (是的,我知道这是苹果公司的问题,他们希望在他们的平台上控制高清传输,但它也是Adobe的问题,因为他们无法把技术推向前台)。

  6. 声音对象不需要variablesbidrate(只有44.1KHz是可能的)。 Flash“第二代”Speex编解码器采样在16Khz。 现在,尝试通过声音回来,你会喜欢一个有趣的马戏团。 最后,你需要编写你自己的upsamplealgorithm。

我相信人们会增加更多的名单。 所以,我的答案是原生SDK是更加可取的任何严重的事情。 你不会像一个QA人一样工作 – testing无数的小例子,试图理解为什么一个AIRfunction不工作,洗牌互联网寻找答案,看着AIR错误数据库…只发现重要的错误是从释放释放。 这是我使用AIR的经验。 使用原生SDK使您的应用程序不是真正的“跨平台”,但是AIR SDK无论如何都不能为任何更严重的情况声明此标题,然后再使用“Employee directory”示例。 如果您需要为其他平台构build,则只需使用本机工具即可。

GL。