Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ windows/osx/ipad上的跨平台GUI_C++_Html_Ios_User Interface_Cross Platform - Fatal编程技术网

C++ windows/osx/ipad上的跨平台GUI

C++ windows/osx/ipad上的跨平台GUI,c++,html,ios,user-interface,cross-platform,C++,Html,Ios,User Interface,Cross Platform,整个夏天我都在做一个项目,其中包括完全重新编写一个大型应用程序,使其更加现代化和跨平台兼容。它需要在Windows、OSX和iPad上运行。iPad版本是优先考虑的。最好是在将来也能很容易地转换成web应用程序 我目前的计划是用HTML/CSS/JS制作所有GUI,使用Chrome嵌入式框架来呈现页面和处理交互性。这样,所有的UI都是跨平台的,我只需要编写特定于平台的代码来显示它。这还意味着,如果/当我将其移植到web时,大部分UI已经是web兼容格式。应用程序代码的其余部分也应该是跨平台的,纯

整个夏天我都在做一个项目,其中包括完全重新编写一个大型应用程序,使其更加现代化和跨平台兼容。它需要在Windows、OSX和iPad上运行。iPad版本是优先考虑的。最好是在将来也能很容易地转换成web应用程序

我目前的计划是用HTML/CSS/JS制作所有GUI,使用Chrome嵌入式框架来呈现页面和处理交互性。这样,所有的UI都是跨平台的,我只需要编写特定于平台的代码来显示它。这还意味着,如果/当我将其移植到web时,大部分UI已经是web兼容格式。应用程序代码的其余部分也应该是跨平台的,纯C++。iPad没有CEF,所以我正在考虑使用UIWebView类来做同样的事情。我很好奇你对在iPad上使用HTML作为GUI有什么看法

我主要关注的是:

  • 性能-我不知道UIWebView的性能特征是什么,因为在GUI中使用它。将会有很多互动对话,甚至需要一些动画。我对如何从Javascript与Objective-C通信进行了一些研究,最流行的方法(将文档位置设置为自定义URL,如MyApp://,并从字符串中提取消息)似乎速度非常慢

  • 可用性-iOS用户习惯于某种互动性标准(例如,真正平滑的过渡、可拖动的边栏、一切都快速且完美)。我相信我可以在Windows/OSX上使用CEF实现这一点,但对iPad没有把握


谢谢你的时间

>我假设你使用的是XCKP的最新版本的Mac(或者你不能发布到Mac OS X或iOS)上的应用程序商店和C++。除此之外,最好的选择是使用两个不同的工具包。我推荐适用于Windows和Mac OS X的WxWidgets(它为两种平台提供本机外观和感觉)和适用于iPad的标准iOS工具包

为两个平台使用单一工具包的问题在于它们之间有多不兼容。可以将HTML5/CSS3/Javascript用于gui,但您必须创建三个单独的项目(每个平台一个)。尽管我知道有一个工具包可以用来使用HTML/CSS制作桌面应用程序,但我认为它与移动设备不兼容

如果你现在想知道公司是如何为iOS、Android、Windows、MacOSX甚至Linux开发应用程序的,那就是他们有一些特定于他们平台的开发人员。因此,他们将是一组Windows开发人员,另一组MacOSX开发人员,等等。有时,如果他们使用WxWidgets或Qt等跨平台工具包,则不同的桌面开发人员组将整合到单个桌面开发组中


如果只有少数人参与项目,那么开发桌面和移动应用程序就更难了。

你当然可以在iPad上使用HTML5/CSS/JS GUI。甚至有GUI框架可以帮助您实现这一点。我知道的是。你会发现更多

基于这些技术构建的GUI的好处在于,在许多情况下,您可以使用web浏览器在桌面上开发GUI

要部署到iOS设备,您可以手动将GUI放在
UIWebView
中,也可以使用它,这为您解决了繁琐的工作,同时也让您可以选择在Android和iOS以外的其他移动平台上发布相同来源的GUI


对于桌面版本,您可能需要评估相同的GUI是否可以在嵌入式浏览器窗口中工作。不依赖手机/平板电脑硬件的Enyo应用程序在桌面web浏览器中运行得很好,但我怀疑用户可能会发现桌面使用的GUI很奇怪。如果你需要打造更传统的产品,那么我建议你是想要动力和最好的本土外观,还是想要简约。这两个框架都在Windows、OS X和Linux上运行。

我决定在桌面和iOS上使用HTML。制作3个独立的项目并不是那么困难,使用HTML呈现解决了大多数跨平台问题。谢谢你的回答。

你可以试试FireMonkey,它是商业化的,并且在一定程度上得到了Embarcadero的支持。重点是跨平台编译和调试(!),Mac OS和Windows上完全相似的行为(iOS可以工作,但通常需要不同的形式),完全矢量化(!!)用户界面,这意味着它们可以在3D中放大/缩小,也可以旋转,完全3D支持(!!!)以及内置在库中的动画和效果,即使它们不一定适合业务应用程序。它是由一个非常好和非常快的无线电辅助


缺点是社区相对较小,一些缺陷和缺少的组件仍在版本2中,例如文件夹选择对话框、托盘图标支持和其他杂项项目。您可能希望在平台上搜索问题。你可以用C++或Delphi对象PASCAL编写FixMauni.

EnYo看起来很酷,谢谢链接。就HTML而言,看起来很有希望。我不想使用像Qt和FLTK这样笨重的东西。