用于移动应用开发的c++跨平台框架

C++ cross-platform framework for mobile app development

本文关键字:跨平台 框架 c++ 移动 应用开发 用于      更新时间:2023-10-16

我计划开发iOS和Android的移动应用程序,我想使用c++进行开发。

使用c++语言构建移动应用程序有哪些跨平台框架

我相信很多人也有这个问题,所以如果你真的想知道答案,请阅读本文。橘子酱可能是最好的解决方案。代码一次,部署到移动设备,台式机,甚至一些电视。许多流行的游戏都是用Marmalade制作的。

广泛的游戏,如:

  • 劳拉与光之守护者

  • 使命召唤:世界大战僵尸

还有一些简单的游戏,比如:

  • 画东西。

  • 涂鸦跳跃

他们增加了一个免费的包。你可以免费制作游戏,如果你想去掉广告闪屏,移动设备的费用为每年

150美元,其他设备的费用也为每年 500美元。

一个很大的优势是本机速度。不管人们怎么说其他语言,如javascript或java(很不幸的是Qt,它当然不是一种语言,但你知道我的意思)运行得和C或c++一样快。这根本不是真的。对于简单的应用程序,这当然不重要,但当你着眼于(简单的)游戏时,这是至关重要的。

目前版本7.3是可用的,但这个版本有一个问题与ARM模拟器。我会下载7.0.

无论您是否选择Marmalade,请确保您阅读了文档。你不希望最后错过一些功能,当你几乎完成时切换到另一个选项。

我之前研究过Android和iOS之间的可移植代码,我认为这是不可能的。要将应用发布到Android市场,它需要使用Java,而任何带有iOS GUI的应用都需要使用Objective-C。你可能有部分可移植的c++层,但实际上,用Java和Obj-C编写两次相同的应用程序可能比用c++编写一次要快得多。

Qt或Wx-Widgets可能有一些支持,但我还没有研究过这些移动平台,我怀疑现实是苹果、微软和甲骨文希望你被捆绑在他们的技术中,而没有动力让东西变得可移植。

c#和Java提供了一个完整的框架,允许使用文档完备的类和库更快地编写代码,特别是在处理用户界面时。另一方面,c++依赖于许多开源项目,这些项目需要花费大量精力才能在多个平台上运行,并且需要花费大量时间来处理微妙的平台问题。我的建议很简单,选择一种更适合您正在处理的平台的语言可能更容易,因为c++往往比其他语言更低级,语法可能看起来冗长,并且可能浪费许多时间来尝试使您期望的工作正常工作,不幸的是,许多开源项目的文档都很差。也许这可以被认为是一种观点,但是从c++到c#或Java的商业转变也可能表明我不是唯一相信这一点的人。

你可以看看openFrameworks,也许它适合你的需要:

http://openframeworks.cc/about/

不管其他答案怎么说,Android和iPhone的c++跨平台开发还是有解决方案的。

最好的可能是Marmalade,但它很贵,所以只对商业上可行的应用程序有用:https://www.madewithmarmalade.com/

还有MoSync,你可以免费使用。不幸的是,他们去年破产了,所以没有持续的支持。不过,根据你的需要,可能值得一看。http://www.mosync.com

OpenFrameworks是一个我没有见过的,所以感谢Rodrigo的答案:http://openframeworks.cc/

没有使用c++的跨平台解决方案,除非你对制作游戏感兴趣。如果您不介意使用另一种编程语言,还有一些可用的选择。看看Titanium SDK (Javascript), Xamarin (c#)或众多HTML5/CSS/Javascript框架(我想到了Phonegap)。

寻找DragonFire SDK,它允许你用c/c++编写应用程序和游戏。不是跨平台的,从未使用过,但看起来不错。它使用Visual Studio,并有自己的iOS开发模拟器。