1

我创建了一个 Android 应用程序。虽然创建一个特定的应用程序是一个有趣的挑战,但我现在正在研究创建一组类似的应用程序。

我想创建一组类似的 Android 应用程序,然后继续在平板电脑和 iOS 上创建相同的应用程序......(任何移动设备)。

我考虑过使用名为 PhoneGap 的产品或基于 Web 的移动应用程序这样做。这两种选择似乎都不理想。做 Android 应用程序时,我对 Java 缺乏控制和低级结构感到沮丧。转向基于 Web 的应用程序之类的东西似乎是完全错误的方向。

C++ 是我选择的语言。它具有在低级别工作的能力,跨平台高度可移植,并且对通用编码具有重要支持,这对于生成一组类似的应用程序很有用。但是,Android 文档建议不要使用 C++,除非您的目标是移植现有代码或处理计算量大的任务。

无论如何,我倾向于使用 C++,但是还有其他我没有考虑过的选项吗?

谢谢

4

2 回答 2

0

理论上你可以用 C++ 编写你的逻辑,然后在上面有 UI 层来使用它。如果您真的对 C++ 感到满意,那可能就是您要走的路。

几乎所有其他部分(网络、UI、动画等)最好用平台的本地语言完成。使用跨平台解决方案总是以某种方式限制您,并且通常会导致应用程序不如任何平台好。

于 2012-05-14T02:09:27.417 回答
-1

好吧,我相信谷歌不使用 C++ 的建议是基于以下内容。C++ 是低级的,因此如果您知道自己在做什么,就可以从中获得额外的性能。谷歌做出了许多程序员没有做出的合理假设。对于没有经验的程序员来说,在 C++ 中做坏事然后获得性能提升更容易。

但是,如果您知道自己在做什么,它可以帮助您。iOS 和 Android 上的 UI 元素都是用它们的主要语言(分别为 obj-c 和 Java)实现的,所以没有很好的解决方法,但是你可以用 C++ 编写核心逻辑和其他函数,并且可以在它们之间移植(iOS 可以直接使用 C++,Android 可以通过 Native Development Kit 使用)。

还有一些其他选项可用。我最终使用的是Appcelerator Titanium,但请远离它。如果您的项目变得复杂或庞大,您会像我一样讨厌自己选择它。另一个使用 C++ 而不是 Javascript 的有趣的是Marmalade。不过我没用过,所以不能评论。

Xamarin是我听说好的一个非免费解决方案,它已经将两种环境都移植到了 C# 和使用 Mono 的 .NET。但是,据我所知,您仍然需要为 UI 编写两个版本的代码。

于 2012-05-14T01:56:35.090 回答