首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨移动平台编程

跨移动平台编程
EN

Stack Overflow用户
提问于 2012-02-16 19:26:53
回答 6查看 707关注 0票数 2

我是个移动开发新手,我对开发适用于iOS、安卓和Windows phone7的应用程序很感兴趣,而且我想写更少的代码。就目前而言,我认为C++可能很适合。

我所知道的是:对于iOS,即使在一个文件中使用C++和Objective-C也是可能的,而且我可以链接我的c++库。

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

windows phone 7能做些什么?我知道它是基于.Net的。在.NET中,可以从c++ win32动态链接库中调用代码,但是用wp7呢?我不想把所有的东西都重写到C#。

也许所有这些跨平台的游戏都不是好主意。有没有一些关键的陷阱?也许只有iOS的Obj-C,安卓的Java,C#的silverlight和xna会更好,并且分开维护所有的动物园?

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

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-02-16 19:47:32

请注意,在安卓系统上,并不完全支持C++。它更多的是关于纯C语言。

android上的C编程基本上是为游戏而保留的。如果你不想用OpenGL制作UI,那就忘了吧,直接用Java语言写就行了。无论如何,您都需要一个小的Java包装器。

这同样适用于iOS -如果您只使用OpenGL,那么您可以用C编写所有内容,并且只使用obj-c作为一个小的应用程序包装器。

由此可以看出,这主要是为游戏保留的。有可以帮助你轻松开发openGL游戏的工具(例如http://www.madewithmarmalade.com/)

平台之间的主要差异源于不同的UI框架。有一些工具试图帮助您克服这些差异--它们中的大多数都是基于HTML5的,并且它们使用CSS来模拟原生UI。通常,你必须牺牲大量的用户体验。

你必须明白,如果你想让你的应用程序在不同的平台上看起来完美无瑕,你必须为每个平台单独编写原生的UI。即使是UI设计也必须有所不同。iPhone和iPad需要很多很酷的动画,他们必须完美的肖像和横向模式(包括旋转动画),使用导航栏,工具栏,拆分视图…Android用户期望的是其他东西--一个不同的(菜单)工具栏,你需要将它移植到许多不同的屏幕分辨率上,用户体验也会有所不同。

我建议从原生iOS开始,如果应用程序是盈利的(如果这是你的应用程序的原因),那么为其他平台开发它。iOS应用程序总是能产生最多的钱。

票数 1
EN

Stack Overflow用户

发布于 2012-02-16 19:36:08

Windows Phone 7目前还不支持本机代码。有关更多信息,请查看此问题:Is it possible to program for Windows Phone 7 in standard C++ only?

如果你想在这3个平台上编写代码,并重用你写的大量代码,你可以用C#编写代码,并使用Mono from Xamarin在iOS和安卓上运行你的代码。

票数 2
EN

Stack Overflow用户

发布于 2012-02-16 19:29:22

看看phonegap吧。它声称是跨平台的,尽管我确信它将这些特性归结为一个共同点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9310476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档