【问题标题】:NSView vs. WebviewNSView 与 Webview
【发布时间】:2010-11-17 20:55:10
【问题描述】:

与使用 NSViews 相比,使用 WebKit WebViews 有什么缺点吗?

我正在使用 webview 为应用程序创建 UI。应用程序本身没有太多的交互性。我在这个网站和其他网站上看到它提到,使用 WebView 可以成为原型设计的便捷方式。

但是,对于我们的团队来说,这似乎是制作可用于生产的 UI 的理想方式,尤其是使用 WebKit。我们错过了什么吗?

谢谢, 罗斯

【问题讨论】:

    标签: objective-c cocoa webview nsview


    【解决方案1】:

    好的,所以您似乎在问,为您的应用程序使用 HTML 界面(通过 WebView 呈现)是否有任何缺点。

    对此的回答是“不”,至少“不一定”。这类似于构建 iPhone 特定的 Web 应用程序,并且有一些很好的例子。需要注意的是,这些网站中的许多最终都重新创建了原生 iPhone 应用程序的外观和感觉,以保持一致性并让用户感到“宾至如归”。

    鉴于您无论如何都在开发本机应用程序,丢弃或重新创建本机 chrome 的响应能力和外观似乎是一种耻辱。当然,对于某些类型的应用程序(游戏就是一个明显的例子),用户对应用程序的 UI 没有任何期望,所以你可以随意把自己搞砸。

    另一个要考虑的因素是交互的数量(尽管我注意到你说你的情况并不多)。与必须通过 WebView 的“过滤器”捕获所有用户输入相比,本机控件将使编码更简单,即使使用一个可能会使屏幕的初始布局更容易。

    我希望这是您正在寻找的那种答案(尽管它主要是非技术性的)。

    【讨论】:

      【解决方案2】:

      如果您花一些时间阅读文档,您可能已经知道,WebView 似乎是 NSView 的子类。

      文档中提到了WebView:

      WebView 是 WebKit 框架中的核心视图类,用于管理 WebFrame 和 WebFrameView 类之间的交互。要将 Web 内容嵌入到您的应用程序中,您只需创建一个 WebView 对象,将其附加到窗口,然后将 loadRequest: 消息发送到其主框架。

      关于NSView:

      NSView 是一个定义应用程序的基本绘图、事件处理和打印架构的类。您通常不直接与 NSView API 交互;相反,您的自定义视图类继承自 NSView 并覆盖它的许多方法,这些方法由 Application Kit 自动调用。如果您不创建自定义视图类,则需要使用的方法很少。

      以下是您问题的答案:

      与使用 NSViews 相比,使用 WebKit WebViews 有什么缺点吗?

      是的。您无法使用 NSView 显示任何 Web 内容。这就是您需要WebView 的目的。 不过我建议阅读更多文档。

      【讨论】:

      • 谢谢。我的问题涉及使用 WebViews 的任何可能的缺点,而不是使用 NSViews 的缺点。我很清楚,阅读了文档并在页面顶部看到,WebView 是 NSView 类的子类。
      • 只是说,因为您最初的问题是:“与使用 NSViews 相比,使用 WebKit WebViews 有缺点吗?”
      • 不知道为什么这会受到如此多的反对,因为最初的问题仍然是要求 NSView 与 WebView - 如果您将它们组合在本机应用程序中,则不是缺点。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-14
      • 2013-08-23
      • 2015-06-16
      • 1970-01-01
      相关资源
      最近更新 更多