2012-02-16 138 views
2

我是新来的移动开发人员,我对开发适用于iOS,Android和Windows Phone 7的应用感兴趣。而且我想写更少的代码。目前我看到C++可能适合。跨平台移动平台编程

我知道的是: 即使在iOS的一个文件中也可以使用Objective-C的C++,并且我可以链接我的C++库。

可以在Android上通过NDK使用C++。 因此,我可以在C++中编写大部分应用程序(除了一些非常特定的平台相关部分),并通过某种暴露的Facade调用我的应用程序,对吧?

windows phone 7可以做些什么?我知道它是基于.Net的。而在.NET中,可以从C++ win32 dll中调用代码。但是什么与WP7?我不想重写所有的东西给C#。

或者,也许所有这种跨平台游戏不是好主意。是否有一些重要的陷阱?也许最好只有iOS的Obj-C,仅适用于Android的Java,仅适用于Silverlight和xna的C#,以及单独维护这个动物园?

有经验的移动开发者请分享您的经验。

回答

2

请注意,在Android上,C++没有完全支持。这更多关于纯粹的C.在android上用C语言编程基本上是为游戏保留的。如果你不想在OpenGL中制作你的UI,那就把它忘记吧,然后用Java编写它。无论如何,你将需要一个小的Java包装器。

这同样适用于iOS - 如果仅使用OpenGL,则可以使用C语言编写所有内容,并仅将obj-c用作小型应用程序包装。

从这个你可以看到这是主要保留游戏。有可用的工具(例如http://www.madewithmarmalade.com/)可以帮助您轻松开发openGL游戏)

平台之间的主要区别来自不同的UI框架。有些工具可以帮助您克服这些差异 - 其中大部分都基于HTML 5,并且正在使用CSS来模拟原生用户界面。通常你必须牺牲很多用户体验。

您必须明白,如果您希望您的应用程序在不同的平台上看起来很完美,则必须为每个平台单独编写UI并本机编写UI。即使UI设计也必须不同。 iPhone和iPad需要很多很酷的动画,它们必须是完美的肖像&风景模式(包括旋转动画),使用导航栏,工具栏,分割视图... Android用户期望别的东西 - 不同的(菜单)工具栏,你需要将其移植到许多不同的屏幕分辨率,用户体验会有所不同。

我会建议从本机iOS开始,如果应用程序有利可图(如果这是您的应用程序的原因),请将其开发用于其他平台。 iOS应用程序总能产生最多的钱。

0

看看phonegap。它声称是跨平台的,尽管我确信它将这些特性降到了一个共同的分母。

-1

我有很好的开发iOS和Android应用程序的经验,Titanium Appcelerator。该代码使用JavaScript编写并映射到本机调用,因此您可以获得本机外观。

PhoneGap有不同的方法。该应用程序是用HTML,CSS和Javascript编写的。其优点是它支持更多不同的平台。包括iOS,Android和Windows Phone 7.

-1

当前现有的平台中,大多数支持HTML5,包括iOS,Android和WP7或即将推出的WP8在内的JavaScript也可支持。

因此,使用HTML5和JavaScript编写应用程序是值得警惕的。

的相同的JavaScript HTML5应用程序可以通过使用提供的库为多个平台如PhoneGap

Morever PhoneGap的是开源移动框架自由使用该框架被部署在单个平台上。

您也可以参考下面的链接,Top five HTML5 frameworks for Mobile developement.

-1

你看的MonoTouch和Mono的Android从Xamarin? http://xamarin.com/

他们说,您可以重复使用多达90%的应用程序逻辑,并创建设备本地用户体验/ UI,以访问所有本机平台API和设备传感器。

+0

我做到了。但与真正的原生应用程序相比,我不确定其性能。性能和内存呢?我相信对于商业应用来说它会很好,但对于游戏或其他图形和繁重的计算应用,我不确定。 – 2012-02-26 10:07:33