c++ - windows/osx/ipad 上的跨平台 GUI

标签 c++ html ios user-interface cross-platform

我整个夏天都在做一个项目,涉及完全重写一个大型应用程序,使其更加现代和跨平台兼容。它需要在 Windows、OS X 和 iPad 上运行。 iPad 构建是一个优先事项。最好在将来也很容易转换成 Web 应用程序。

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

我主要担心的是:

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

  • 可用性 - iOS 用户习惯于一定的交互标准(例如真正平滑的过渡、可拖动的侧边栏,一切都快速而精致)。我相信我可以使用 CEF 在 Windows/OS X 上完成此操作,但不确定 iPad。

感谢您的宝贵时间!

最佳答案

我假设您使用的是装有最新版本 XCode(否则您将无法在 Mac OS X 或 iOS 上发布到 App Store)和 C++ 的 Mac。除此之外,您最好的选择是使用两个不同的工具包。我推荐用于 Windows 和 Mac OS X 的 WxWidgets(它为两个平台提供原生外观和感觉)和用于 iPad 的标准 iOS 工具包。

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

如果您现在想知道公司如何为 iOS、Android、Windows、Mac OS X 甚至 Linux 开发应用程序,他们是否有几个专门针对其平台的开发人员。所以他们将是一组 Windows 开发人员,另一组 Mac OS X 开发人员,等等。有时,如果他们使用像 WxWidgets 或 Qt 这样的跨平台工具包,不同的桌面开发人员组就会合并到一个桌面开发组中。

如果只有少数人从事该项目,则制作桌面和移动应用程序会更加困难。

关于c++ - windows/osx/ipad 上的跨平台 GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10488356/

相关文章:

c++ - 计算范围 [x,y] 中整数的二进制补码表示中的 1

c++ - 以结构作为 boost::unordered_map 中的键的 boost 变体

jquery - 将div放在浏览器底部

html - 边框扩展div高度

iOS:从 SQLite 数据库填充 tableView

ios - 使用 Codable、swift 4 解析 JSON

c++ - 这个转换叫什么?

c++ - 如何有效地检查位掩码?

javascript - 在 jQuery 中从父元素外部单击 "this"时如何切换子元素?

ios - 如何在 UIView 中设置 UICollectionView