C++跨平台移动框架,仅限于用户界面。

3

我决定使用C++编写我的应用程序,因为这是一种适用于跨平台解决方案的正确语言。

问题在于,每个平台的UI框架都非常棘手,并且它们需要相当长的时间来创建甚至是最简单的UI框架;在UI部分中,我还添加了多点触控手势、虚拟按钮、文本输入区域以及所有可以接收和处理用户输入的基本内容。

现在,大多数UI都基于HTML5,而且基本上所有的应用程序最终都具有相同的“酷”外观,但是对我来说,这些HTML5解决方案并不适合,因为我正在寻找一个C/C++解决方案。

如果我正在寻找一个可用于C/C++代码的移动跨平台UI库或可与C/C++代码进行接口的库,那么我可以考虑哪些库?

通过跨平台,我指的是至少支持iOS和Android。


2
你最好放弃“C ++”要求,寻找跨平台的移动应用程序编程工具。这个问题不适合在stackoverflow上提问,因为你正在对社区进行调查。 - Keith Nicholas
2个回答

3
跨平台移动开发现在还是有点困难的。为什么不尝试用HTML5编写所有内容?并且针对多个移动平台分别编写平台特定的C++代码?
同时看看Corona SDK(我听说它有更好的支持)。
编辑: http://www.mosync.com/ 似乎是另一个可行的选择。这也允许您混合使用HTML5和C++。

我怎样才能将HTML5和C++进行接口化?我愿意在HTML5上牺牲性能,重要的是我能够将这两个部分进行接口化。 - guz
我正在研究它,但我认为它对于Android来说是不可用的,因为SDK在Linux上不可用,所以即使它支持Android,未来肯定会遇到一些大问题。此外,我现在不使用Windows或Mac,并且尽可能想避免它们。 - guz
@guz 它适用于Android。但是SDK不适用于Linux。但是,如果这不是什么大问题,您可以在虚拟机上安装Windows副本进行开发。有些解决方案需要更改操作系统。如果您要编写iOS代码,您可能需要拥有一台苹果电脑。只是一个想法。 - Aniket Inge
是的,但唯一提供对Android完全支持的操作系统是GNU / Linux发行版,其他所有操作系统都只会带来纯粹的麻烦。苹果的事情是我想考虑的事情,我想重复使用我的工作,但这将取决于苹果未来的态度。如果此SDK声称支持Android而不是在Linux下发布,则它不支持Android,肯定会是一种充满错误的糟糕移植。 - guz
@guz 我不同意。我在Windows上编写Android代码,我的所有应用程序都能正常工作(完全符合我的意图)。我使用JDK和AndroidSDK(与Eclipse一起)。如果您正在考虑NDT,我更愿意选择MoSync。 - Aniket Inge
@guz。我认为你不需要将Linux作为主机来开发Android应用程序。尽管Android本质上是Linux,但这并不意味着你需要将Linux作为主机。你可以使用Windows甚至Mac OS作为你的台式机或笔记本电脑来开发Android应用程序。 - tonga

2

目前,跨移动平台开发最流行的方法有:

  • 使用C++编写逻辑代码,在每个平台上使用相应语言单独编写UI。
  • Mono,即.NET/C#。
  • 基于HTML的框架(PhoneGap、Appcelerator)。

这些方法都不能完全符合您的要求。请决定哪个更重要-最大化代码重用?还是使用C++?

具体来说,UI是最难抽象化的部分。跨平台GUI库(Qt、Swing)往往以最低公共分母为目标,导致应用在所有支持的平台上看起来很丑陋。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接