2010-04-27 6 views
6

Ich muss diese Anwendung schnell schreiben: ein einfaches Fenster, das ein Webbrowser-Steuerelement umschließt, das HTML-Seiten ausführt. Die Browser-Benutzeroberfläche (z. B. Navigationstasten) sollte unterdrückt werden.Wie bette ich ein Webbrowser-Steuerelement in eine plattformübergreifende Anwendung ein?

Als .net Entwickler würde ich das WebBrowser OCX in ein Windows Form einbetten. Aber das muss auch auf Mac laufen!

Ich fand die folgenden Cross-Plattform-Kandidaten. Welches würden Sie (in Bezug auf Einfachheit, stableness, Community-Support, etc.) wählen:

  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

+0

Danke für die Antwortenden. Ich benutze schließlich Qt, das auf beiden Plattformen am besten aussieht, und kommt mit der LGPL-Option. – Gil

Antwort

3

Warum nicht eingebettete Webkit verwenden?

+1

WebKit allein reicht nicht aus, um einen plattformübergreifenden Seitenbetrachter wie diesen zu erstellen. Sie müssen noch ein Fenster, etc. generieren. –

0

Mono ist wahrscheinlich die beste Wahl, wenn Sie in erster Linie ein .NET-Entwickler sind und sich nicht sehr darum kümmern, eine gut integrierte Mac-App zu entwickeln, die sich wie eine Mac-App verhält). Angesichts deines Problemraums klingt das wie wo du bist. Das heißt, ein besonderes Augenmerk auf diese Einschränkung aus der WebBrowser-Seite, wenn es um Ihr Problem gilt:

Der Mono Web-Browser fehlt derzeit Unterstützung für window.external, die Brücke, die Javascript-Code eingebettet im Browser erlaubt zu kommunizieren mit der verwalteten Welt mit der ObjectForScripting.

QT ist sehr gut etabliert und eine großartige Plattform, wenn Sie dies in C++ entwickeln möchten. Beachten Sie, dass Lizenzgebühren anfallen, wenn es sich um eine kommerzielle App handelt.

Ich habe ein bisschen mit wxWidgets gespielt. Es ist ein großer Vorteil, dass es wahrscheinlich die kleinste Distribution ist, da Sie nur das einbeziehen müssen, was Sie brauchen. Wenn alle Sie benötigen, ist der Webbrowser, würde ich mir das ansehen, aber meiner Erfahrung nach ist es schwierig, wxWidgets Programme gut aussehen zu lassen oder auf Mac (oder unter Windows) richtig zu handeln.

+3

Qt ist nun schon eine Weile unter der LGPL verfügbar, Sie müssen also keine kommerzielle Lizenz kaufen, wenn Sie Ihren Code geschlossen halten wollen. Ich würde zustimmen, dass Mono wahrscheinlich die beste Wahl ist, wenn Sie nur Erfahrung mit .Net haben und Sie nicht daran interessiert sind, dass es anständig aussieht. – Kitsune

+1

@Kitsune Danke für den Hinweis zur LGPL. Ich bin ungefähr 18 Monate veraltet. –

0

Eine andere Möglichkeit könnte es sein, es als eine Java-Anwendung mit Eclipse Standard Widget Toolkit zu schreiben. Dazu gehört auch eine Browser-Steuerelement, das IE, Safari oder Firefox einbettet, auf der aktuellen Plattform abhängig, und in der Regel verhält sich auch auf OS X.

1

QtWebkit:

Die Qt-Port von WebKit kompiliert zur Zeit und läuft auf Linux (einschließlich Maemo), Windows, Mac OS X und Symbian.

Klicken Sie auf here für Bauanleitungen.

Ein sehr einfacher Testbrowser wird zusammen mit dem Port gebaut.