【问题标题】:WebView as GUI in OSX applicationWebView 作为 OSX 应用程序中的 GUI
【发布时间】:2022-02-24 06:36:20
【问题描述】:

2015 年 9 月 25 日更新 - 我正在为后代更新这个问题,希望它对任何想知道同样事情的人有所帮助

堆栈溢出社区提供的答案给了我一些信心,但进一步的研究表明,在 OSX 应用程序中使用 WebKit/WebView 作为 GUI 是完全合理的。

Apple 实际上为以下 OSX 应用程序这样做:

  • 消息
  • iBooks
  • 邮件

性能是我最关心的事情。事实证明,WebViews 在它们自己的进程中运行,所以这几乎消除了我的顾虑。

更多信息和一些例子可以在这个苹果开发者视频中找到。 https://developer.apple.com/videos/wwdc/2014/?id=206

下面的原始问题

我的团队是 cocoa 开发的新手,但在 C++ 和 JS 方面经验丰富。我们目前有一个我们产品的功能性 Web 应用程序,我们希望将其实现为 mac 应用程序。

我们想知道使用webkit 而不是application kit 开发GUI 是否会带来任何严重的问题。我们这样做的主要原因是熟悉 Web GUI 和平台之间的代码重用

理想情况下,Javascript UI 将通过protocol buffers 与 C++/Obj-c 进行通信。话虽如此,我们也希望从坚实的基础开始。

这种方法是否看起来不合理/造成我们可能没有考虑的问题?

【问题讨论】:

  • 你不会是第一个。

标签: c++ macos cocoa user-interface


【解决方案1】:

也检查Sciter虽然它使用 tiscript 而不是 Java 脚本,它允许在 HTML/CSS 中定义你的 UI。

更新:Sciter 现在在 ES2017 规范中使用 JavaScript (QuickJS)

它是专为桌面 UI 设计的 - 它具有特定的 UI 功能,例如真正的 HTML 对话框和框架窗口、仍然是 DOM 元素的窗口弹出元素、剪贴板等。

这个 是 HTML/CSS 窗口。

它允许使用引擎的 C/C++ 原生 API 运行 exactly the same UI on all desktop platforms

【讨论】:

    【解决方案2】:

    不,这并非不合理。

    在 iOS 上,存在许多用于执行此类操作的框架,例如 http://phonegap.com/

    我个人不认为封装 Web 代码是 iOS 或 Mac 应用程序的最佳选择。我会提醒您注意性能、本机外观和感觉、GUI 响应能力、对文件系统或功能的访问,但在非常特定的情况下,这当然是可能的,也是一个不错的选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多