web-dev-qa-db-ja.com

.Net / MonoのGUIとしてのWebkit

クロスプラットフォームアプリケーションを作成します。これには、デスクトップアプリケーション(Windows、iOS、Linux)がサーバーと通信し、ユーザーデータの同期を維持するWebサイトもあります。

これまでのところ、私が目にするオプションは次のとおりです。

  • 3つのOSごとにネイティブGUIを作成するので、3つのGUIコードベース(および単一のバックエンドシステム)が必要になります。
  • GTKのようなものを使用して、言及されているすべてのプラットフォームでサポートされている1つのシステムを使用できるようにします。

しかし、私が多くの情報を見つけることができなかった3番目(多分私はまだC#と.Netに慣れていないため、正しい用語を検索していません)は、組み込みのWebKitインスタンスが組み込まれたウィンドウを持つことです。これにより、Webサイトで使用するのと同じGUIシステムを使用できます。これにより、クライアントアプリとウェブサイトが互いにできるだけ近くに見えるようになり、ユーザーはインターフェースに慣れます。

WebKitのこの最後のオプションはもっともらしいですか?私はすでにJavaScript/HTMLをよく知っています。その知識を使用してインターフェイスを作成できれば、それは素晴らしいことです。また、ユーザーがプラグインを使用してインターフェースをカスタマイズできる優れた方法であり、ローカルからWebへのUI設定の同期を保つことができます。

12
skift

理由がわかりませんが、Chromeを実行するか、「hta」モードでIEを実行してください(デスクトップはウェブ技術を使用してアプリを作成し、10年前にWindowsにhtaとしてデプロイします)。

今日、私はIE/IISなしで何かをし、よりインタラクティブな体験のためにWebSocketを使用します。

C#アプリに埋め込まれたwebkitを許可するコンポーネントがあります: SOからのこの投稿 を参照してください(コンセンサスは Webkit.NET を使用することです)

代わりに QtWebkitコンポーネント も使用します。WebGUIを組み込んだ、軽量でQtベースの単一のクロスプラットフォーム「デスクトップ」アプリを作成します。

10
gbjbaanb

私はあなたのようなプロジェクトのためのアプリケーションフレームワークに取り組んできました。それはクロムコンテンツフレームワークに基づいています。アプリケーションのGUIをhtml/css/js/svgなどで実装し、アプリケーションロジックをJavaScriptまたはC#で実装できます。

私の目標は、クロスプラットフォームであり、サーバー側を必要としない、Webテクノロジーを使用して、リッチでフル機能の「厚い」デスクトップアプリケーションを開発できるようにすることです。

0
Jake