0

我有一个非常简单的应用创意,我想在空闲时间制作。我的技能都是 LAMP 堆栈 Web 开发,所以我想我会使用 Appcelerator 的 Titanium 为这两种移动操作系统制作应用程序。

但是,在启动 Titanium 之后,我遇到了很多奇怪的错误。例如,Android 模拟器无法正常工作,无法获取用户的位置。我也无法让 ajax 请求工作。

Titanium 似乎比仅使用 Objective-c 或 Java 开发更麻烦。我想知道我是否值得与 Titanium 斗争,或者只是学习如何为每个操作系统单独开发。有任何想法吗?

4

3 回答 3

2

如果您的应用程序想法真的“非常简单”,那么我强烈建议您学习每个开发平台的基础知识并开始为每个开发平台制作它。即使这样做,您也会更好地了解 Titanium 下发生的事情。这些错误和问题会更有意义,您可能知道在哪里寻求帮助。

这只是我的意见。此刻,我正在做一些 iOS 教程,这样我至少可以熟悉 iOS 应用程序的工作原理。:)

于 2013-01-03T21:09:23.400 回答
1

每种方法都有优点和缺点。我通常是这样向客户解释的:

您可以选择使用第三方、跨平台的SDK(如Titanium、Unity、Phone Gap等)进行开发,可能会减少开发时间。但是,这样做是有代价的——该应用程序的下载量会更大,因为它包括为您的应用程序编写的代码和跨平台工具的代码。此外,代码可能比本机编写的代码慢(性能不如本机代码)(取决于跨平台套件的工作方式,它可能具有同样的性能,但它永远不会比本机代码快)。

从 Titanium 的网站(参见http://developer.appcelerator.com/question/91121/reducing-the-size-of-titanium-based-application):

问题 :How can we reduce the size of a Titanium based Application? My Application whose Resources Files are just about 800 Kb, generates around 5.7 MB sized App in Debug mode and 5.2 MB in Release mode?

回答 :The Titanium build scripts try and analyze your source code and optimize the generated binary to only include the Titanium modules that are necessary. However, it does remain the case that our binaries are much larger than native binaries, since we need to ship our platform code and a JavaScript interpreter with the application.

最终,问题归结为——哪个对您的项目更重要:(1) 开发的简易性和速度,或 (2) 应用程序的性能和大小?

如果您正在构建一个跨平台游戏,那么原生开发可能并不意味着需要几天的额外开发时间,而是可能需要几个月或几年。此外,其中一些工具(尤其是 Unity)可能已经为您在本地编写时遇到的问题提供了预先打包的解决方案(例如可以为您节省大量时间的物理引擎)。在这种情况下,您最好使用跨平台的 SKD 创建您的应用程序。

(你还有一个好处是用户更容易理解这个应用程序是如此之大,因为它毕竟是一款游戏,而且用户对这类游戏的长时间下载很熟悉。)

但是,如果您正在创建一个相当简单的应用程序,或者一个用于商业、媒体等的应用程序,其中下载大小很重要(也许用户可能不愿意等待很长时间来下载和使用您的应用程序)和/或性能最重要,请使用本机编写。

在您的情况下,正如您提到您正在尝试制作“一个非常简单的应用程序”,最好在本地编写它。最终,这是您必须权衡两种选择的利弊的选择。

于 2013-01-03T22:04:31.847 回答
0

如果应用程序很简单,请使用本机。1 个月前,我的技能也是 LAMP,但由于为 android 开发有很多文档和教程,我可以轻松掌握它。任何有编程概念的人都能达到同样的效果。

但正如我所说,很大程度上取决于你的情况。例如,我的应用程序基于“webview”,那么我为什么不追求非本地平台。

于 2013-01-03T21:45:59.620 回答