使用Java或Adobe AIR或Titanium或PhoneGap开发Android?

时间:2010-11-16 14:22:29

标签: android air titanium

我从一段时间以来一直在为Android开发,我发现Java是在其中进行开发的正确方法。但是,现在有许多选项可供Android开发,如Titanium,PhoneGap和Adobe AIR。

问题是谁将成为Android开发的赢家。我已经阅读了很多Titanium,PhoneGap和原生Android开发之间的比较。现在,随着Adobe的加入,使用Java作为编程语言开发的Android开发人员的未来是什么。

因为,如果可以使用Titanium和Adobe AIR为Iphone和Android开发,那么为什么要浪费时间和金钱进行单独开发。

5 个答案:

答案 0 :(得分:2)

我能想到的最大原因是使用平台的本机语言/库(在本例中为iPhone或Android),它将允许您提供更符合以下内容的用户界面/体验系统设计人员希望使用像Adobe AIR这样的东西。

这并不一定意味着AIR很糟糕,或者您可能无法开发出一个好的应用程序,但是因为您要使用相同的应用程序代码定位多个平台,并且每个平台都有自己的微妙(或者主要的)差异,你不能总是考虑,你将不可避免地被迫采取“最小公分母”的方法来构建一个应用程序,该应用程序将在所有目标平台上运行,并在其中表现一致。对于期望具有一定级别功能的某些用户而言,这可能不太适合,因为与其他本机应用程序相比,您可能无法为他们提供一致的用户体验。

这是跨平台应用程序开发的一个长期存在的问题 - 每个系统的设计理念和行为都是故意不同的(否则为什么会有人使用它们?),因此您的应用程序必然会遇到问题所有人都100%相同。

作为过去曾进行过跨平台开发的人,我可以说虽然在某些情况下你可以做得很好,但使用像Adobe AIR这样的东西可能是一个很好的途径,可以更熟悉特定的平台,但很多时候,通过跨平台解决方案使用系统的本机库/语言来降低和构建应用程序会更为谨慎。

答案 1 :(得分:1)

实际上很简单。使用Java(普通API)开发Android应用程序将允许您a)可能所有Android设备都定位,因为它们共享相同的基本API,并且b)它不会对您的应用程序施加限制(或者至少没有限制,只有限制是API)。

现在,PhoneGap,Titanium和Senza都是基于网络的框架,具有一定的局限性。您无法访问手机的某些功能,因为它们不是某种替代API,而只是一个框架。

现在Adobe AIR是另一个故事。我不确定Adobe AIR会有哪些功能限制,但我知道在你可以定位的设备方面存在很大的局限性。

对Adobe AIR有一些最低要求
  

Adob​​e的Android设备要求   AIR

     

Google Android 2.2操作系统
  ARMv7-A处理器OpenGL ES2.0 H.264&
  AAC H / W解码器256 MB RAM

这意味着您可以定位具有早期API版本的设备。

答案 2 :(得分:1)

Titanium编译为本机平台控件,但您必须使用HTML和js等Web语言来开发应用程序。

答案 3 :(得分:0)

对于每个平台的特殊版本,您可以按照系统指南设计UI。

答案 4 :(得分:0)

关于Titanium是什么似乎总体上存在混淆......它编译为原生平台控件。

大多数受访者都错误地表示它是基于网络的,但事实并非如此。

但是,对于phoneGap来说,这是真的。