2010-07-06 72 views
9

有没有人对此比较做过博客,或者有人想在这里做一下吗?很高兴看到一些推理关于Android上的Adobe AIR与“本机”Android SDK(Java)的想法。Android SDK与Adobe AIR:优点和缺点?

编辑:尽管一些看法,并没有答案,我在这里留下了这个问题,因为这是一个需要在某个时候被覆盖的话题......但如果得不到重视,我会在删除几天。

回答

11

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

  1. 是否AIR做你需要的一切?显然,android SDK为您提供了对设备功能的完全访问权限,但AIR故意不会保持便携性。例如,AIR可能不支持意图,至少在最初(我不认为Adobe已经公布了一种或另一种方式)。另外,AIR需要Android 2.2。如果这些限制很麻烦,常规的android SDK可能是最好的。

  2. 您是否希望做出一些非常适合在Flash中执行的操作?如果您打算使用动画,视频,声音等设计繁重的应用程序,那么在Flash中构建它可能比使用Java更容易。另一方面,如果您的应用程序将只使用标准的可视化组件的纯代码,那么它可能不会对您使用的平台产生任何影响。或者在紧握的手中,如果你有现有的Flash动画或类似的东西,那么试图将它们推到Java应用程序中会很麻烦。

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

我希望能帮到一些。实际上,除非你有效地锁定在使用AIR之外,因为你需要的东西它不给你,或者有效地锁定使用AIR,因为你在做设计繁重的工作,并且需要工具,那么我认为专业人士和这两个SDK的缺点主要是方便的问题。无论哪种平台都可以工作,所以这只能使您以最快,最可靠的方式进入终点线。

+0

很棒的回答。关于你的结论,我希望你不会这么说:) +1 – 2010-07-08 12:29:47

+0

哦! http://en.wikipedia.org/wiki/On_the_gripping_hand_(idiom) – 2010-07-08 18:38:16

5

需要考虑的一个问题是与Android设备的兼容性。智能手机和低价手机都运行在Android上,但它们并没有相同的功能。即使您的应用程序很简单,或者可以在AIR中完美地完成,其相关内容也会提及AIR不适用于所有Android设备。

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

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

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

AIR应该在你的技术决定,如果在你的要求,你的目标尽可能多的手机成为可能,包括那些不那么花哨的或新的排除。

+0

好东西,谢谢玛丽亚。 – 2011-09-22 14:48:00

5

当我构建AIR的本机扩展时,我主要对AIR有经验,而对Android SDK很少。我对AIR的最大障碍是它不成熟,它是错误的,而且它的行为不一致。是的,你可以在adobe.com上看到闪亮的页面,看看AIR有多酷......所有的亮点都包含了大量的功能,这些功能似乎满足你的所有需求。然而,一旦你开始构建你的应用程序,你会发现许多丑陋的惊喜:

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

  2. Sound()对象不播放流(它只在模拟器上执行)。 link

  3. 缺乏像AEC这样的功能使得AIR对整个聊天应用程序无用,因为您会听到回声和尖叫声。 (我希望Apache的人会从0改写它,使它更易于管理)。

  4. iOS设备上没有H264支持:link(是的,我知道这是苹果公司的问题,他们希望控制其平台上的高清传输,但它仍然是Adobe的问题,因为他们无法争取正确的技术前列)。

  5. 声音对象不需要可变的bidrate(只有44.1KHz是可能的)。在16Khz闪存“第二代”Speex编解码器采样。现在,尝试通过声音回放,你会享受一个有趣的马戏团。最后,你需要编写你自己的upsample算法。

我相信人们会在列表中添加更多。所以,我的回答是本地SDK更可取任何严重的。你不会像一个QA人一样工作 - 测试无数小例子,试图理解为什么AIR功能无法正常工作,洗牌互联网寻找答案并查看AIR错误数据库......只是发现重要的错误在发布之前坐在那里释放。这是我使用AIR的经验。使用原生SDK可以使您的应用程序不是真正的“跨平台”,但是AIR SDK无论如何都不能声称这个标题是对于更严重的情况,然后是“员工目录”示例。如果您需要为其他平台构建,则只需使用本机工具即可。 GLP。

GL。

+0

谢谢,伟大的观点。 – 2012-06-20 00:05:25