1

一段时间以来,我一直在为 Android 开发,我发现 Java 是在其中进行开发的正确方法。但是,现在有许多选项可用于在 Android 中进行开发,例如 Titanium、PhoneGap 和 Adob​​e AIR。

问题是谁将成为 Android 开发的赢家。我已经阅读了很多 Titanium、PhoneGap 和原生 Android 开发之间的比较。现在,随着 Adob​​e 也加入进来,以 Java 作为编程语言进行开发的 Android 开发者的未来是什么。

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

4

5 回答 5

2

我能想到的最大原因是使用平台的本机语言/库(在本例中为 iPhone 或 Android)是它可以让您提供更符合系统设计者意图的用户界面/体验关于 Adob​​e AIR 之类的东西可能会发生什么。

这并不一定意味着 AIR 不好,或者您可能无法开发出好的应用程序,而是因为您将针对具有相同应用程序代码的多个平台,并且每个平台都有自己的微妙(或主要)您无法始终考虑的差异,您将不可避免地被迫采用“最小公分母”方法来构建将在所有目标平台上运行并在它们之间保持一致行为的应用程序。这可能不适用于某些期望某种程度的功能的用户,因为与其他本机应用程序相比,您可能无法为他们提供一致的用户体验。

这是跨平台应用程序开发的一个长期问题——每个系统的设计理念和行为是有意不同的(否则为什么会有人使用它们?),所以你一定会遇到让应用程序 100% 工作的问题他们都一样。

作为过去做过跨平台开发的人,我可以说,虽然在某些情况下你可以做得很好,但使用 Adob​​e AIR 之类的东西可能是熟悉特定平台的好途径,但很多有时,在跨平台解决方案上使用系统的本机库/语言构建应用程序更为谨慎。

于 2010-11-16T15:06:06.883 回答
1

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

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

现在,Adobe AIR 是另一回事了。我不确定 Adob​​e AIR 会有哪些功能限制,但我知道在您可以定位的设备方面存在相当大的限制。Adobe AIR 的运行有一些最低要求:

Adobe AIR 的 Android 设备要求

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

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

于 2010-11-16T14:44:40.393 回答
1

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

于 2011-05-26T11:45:01.580 回答
0

关于什么是 Titanium,似乎存在一个整体的混淆……它编译为原生平台控件。

大多数受访者错误地表示它是基于网络的,这是不正确的。

但是,对于phoneGap,情况确实如此

于 2010-11-16T15:51:23.603 回答
0

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

于 2010-11-16T14:48:26.840 回答