如何在跨平台应用程序中嵌入Web浏览器控件?

时间:2010-04-27 12:41:35

标签: macos cross-platform browser webbrowser-control embed

我需要快速编写这个应用程序:一个包装的简单窗口 一个运行html页面的Web浏览器控件。 应该抑制浏览器UI(例如导航按钮)。

作为.net开发人员,我会将WebBrowser OCX嵌入Windows窗体中。 但这也必须在Mac上运行!

我找到了以下跨平台候选人。 你会选择哪一个(在简单性,稳定性,社区支持等方面):

  1. wxWidgets:http://www.kirix.com/labs/wxwebconnect.html

  2. QT:http://www.youtube.com/watch?v=Ee8eRwjbcFk&feature=related

  3. MONO:http://www.mono-project.com/WebBrowser

5 个答案:

答案 0 :(得分:3)

为什么不使用嵌入式Webkit?

答案 1 :(得分:1)

QtWebkit

  

WebKit的Qt端口目前在Linux(包括Maemo),Windows,Mac OS X和Symbian上编译和运行。

点击here了解构建说明。

一个非常简单的测试浏览器与端口一起构建。

答案 2 :(得分:0)

既然你已经(根据你的帖子做出的假设).Net体验我会选择Mono。

你考虑过Adobe AIR吗? http://www.adobe.com/products/air/

答案 3 :(得分:0)

Mono可能是最好的选择,如果你主要是一个.NET开发人员并且不太关心制作一个集成良好的Mac应用程序(在Mac用户期望的许多方面都像Mac应用程序一样) 。鉴于你的问题空间,这听起来像你在哪里。也就是说,如果WebBrowser页面适用于您的问题,请特别注意此限制:

  

Mono Webbrowser目前缺乏   支持window.external,the   允许Javascript代码的桥   嵌入在浏览器中进行通信   与管理世界使用   ObjectForScripting。

QT非常成熟,如果你想用C ++开发它,它是一个很好的平台。请记住,如果这是商业应用程序,则需要许可费用。

我和wxWidgets玩了一下。这里的一大优势是它可能是最小的发行版,因为你只需要包含你需要的内容。如果所有你需要的是网页浏览器,我会看看这个,但根据我的经验,很难让wxWidgets程序看起来很好或在Mac上(或在Windows上)正常运行。< / p>

答案 4 :(得分:0)

另一种选择可能是使用Eclipse Standard Widget Toolkit将其编写为Java应用程序。这包括嵌入IE,Safari或Firefox的浏览器控件,具体取决于当前平台,并且通常在OS X上表现良好。