2009-07-08 19 views
8

C++のような伝統的な言語で書かれたデスクトップアプリケーションにWebテクノロジーを使用できますか?私は彼らができることを推測するだろうが、私はこれの証拠を見つけることができなかった。私はAdobe AirがFlashを使ってデスクトップアプリケーションを作ることができると理解していますが、PHPなどのWeb言語を使用しています。私がしたいのは、html/htmlを使ってボックス、スライダ、メニューなどを編集して、 CSS - ネイティブウィジェットではなく、従来の方法でビルドされたアプリケーションでは、Visual Studioなどを使用します。WebテクノロジーをC++アプリケーションGUIに使用するにはどうすればよいですか?

これが完了したことを知っている人がいれば、それを簡単にするソフトウェアがある場合、またはこのアプローチに異論がある場合は、誰でも知っていますか?

答えて

3

QtはCSS-like stylingと次の"declarative" UI mechanismでこの方向に移動しています。

さらに、QtScript経由でJavascriptでアプリを駆動することもできます。

また、QtWebKitを使用してHTMLベースのUIを提供することもできます。これは、C++コードとJavascriptの間でブリッジすることも可能です。

+1

QtWebKitは興味深いですが、強力な外部ライブラリを必要としないGUIを用意したいと思います。標準に準拠したWebレンダラーです。 – Roderick

+0

あなたにとって重要なのであれば、Qtと静的にリンクすることができます。 –

2

xulはxmlとCSSを使用してGUI要素を定義します。

0

私は、IEフォームコントロールを使用して基本的にアプリケーションを構築しました。私の目的は当時のアプリケーションに組み込まれていました。

編集:

http://msdn.microsoft.com/en-ca/library/aa770041(VS.85).aspx

https://stackoverflow.com/questions/tagged/mshtml

+0

これは事のように聞こえる。あなたのフォームはあなたのアプリとどのように通信しましたか? – Roderick

+0

私はC#.Netを使用していましたが、思い出した限り、shdocview.dllをインポートしましたが、管理されたアセンブリまたはそのようなものに変換する必要がありました。それを試してみてください。いったん始めると簡単でした。 .NetフォームコントロールにWebブラウザコントロールが含まれている可能性はありますか?または、VC6を使用していますか? –

1

私が関わってきたアプリケーション、お知らせメールTomTom HOME 2は、MozillaのXULRunnerのフレームワークに大きなC++プラグインとして構築されています。このフレームワークはMozilla FireFoxと共有されているので、多くの共通点があります。 TomTom HOMEは無料(ビールのように)でダウンロードでき、モデルパーツは読みやすいJavascriptになっていますので、どのように動作するか見ることができます。

前身のTomTom HOME 1.xはAntony Carthyの説明のようにMSHTML(IE)ActiveXコントロール、またはMacのSafariをラップして作成されました。 (免責事項:TomTomは組み込みブラウザと通信するための多数の特許出願を提出していますが、JSエンジンへのActiveXインターフェイスはかなり限定されています)

適切なMVCデザインを持っていれば簡単です実装中にModel/Viewの分離をきれいに保つことができます。モデルの内部の詳細を公開するために、モデルに「クイックハック」を入れることはできません。 ViewコードはJavascriptであり、定義されたインタフェースを介してのみC++モデルにアクセスできます。

1

Awesomium SDKをご覧ください。 Google Chromeを使用するChromiumをベースにしています。これは、html5/js/css Web UIを使用して、C++または.NETでネイティブアプリの橋渡しをしています。

関連する問題