.Net / MonoのGUIとしてのWebkit


12

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

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

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

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

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


私はこの種の作業のためにSencha ExtJSを検討していますが、これがまだ最良の方法であるとは確信していません。
-jfrankcarr

回答:


10

理由はわかりませんが、代わりにChromeを「ウィンドウレス」モードで実行するか、IEを「hta」モードで実行できます(10年前にWindowsにhtaとして展開するWeb技術を使用してデスクトップアプリを作成しました)。

今日は、IE / IISを使用せずに何かをし、websocketを使用してよりインタラクティブな体験をしたいと思います。

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

代わりにQtWebkitコンポーネントも使用します。その後、Web GUIを埋め込む、軽量でQtベースのクロスプラットフォーム「デスクトップ」アプリを1つ作成します。


うーん、これは確かな答えのようです。回答としてマークする前に、誰かがチャイムを鳴らすかどうか確認するために少し待ちます。しかし、Webkit.Netは仕事をするように見えます。リンクしたSO質問のリンクの1つは、githubリポジトリCefSharpに移動し、そこでクロムインスタンスが埋め込まれています。Webkitだけと比べてブラウザ全体が必要かどうかはわかりませんが。さらに調べる必要があります。
スキフト

「今日はIE / IISなしで何かをして、websocketsを使ってよりインタラクティブな体験をしたいと思います。」私はモノを使用したいので、.netを使用してクロスプラットフォームをサポートし、nginxやチェロキーのようなものでサイトをホストできるようにします。私はIISとWindowsの管理を十分に知りませんが、Linux Webサーバーを知っていて、持っています。これまでのところ、ライブのユーザー間対話はありませんので、おそらくWebSocketは必要ありません。また、DB同期ではcouchdbを使用します。後でwebsocketsまたはsocket.ioを見るかもしれませんが、より高度な作業を行うときは
12

Linux開発者に固執するWeb開発者にとって、WindowsはWeb開発市場で2番目に劣っています。また、私はモノを無視します。Novellが廃止されたときに削除されたためです。モノのサポートと将来の更新に依存することは、私の好みにとって少し危険です。
gbjbaanb

いや、通常は私の得意でもない。私はjavascriptとnode.jsの方が好きです。しかし、私は仕事のためにc#/。netを学ばなければならないので、学習に役立つ小さなプロジェクトを構築することも考えました。主にWindows開発とWebを行う場合、.Netにはかなりクールな機能があると思います。だから、私は職場で使用することがわかっているものを利用しようとしています。これは、Webアプリとデスクトップアプリが混在しています。
スキフト

0

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

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


(ユーザーが中央サーバーにデータを同期し、アプリをオンラインで使用できるようになるため)サーバー側でやりたいことがありますが、Crromの使用方法を知りたいと思います。私にとって、デスクトップバージョンは基本的にサーバー上のもののコピーなので、より高速に実行され、更新を待つ必要がなく、オフラインで使用できます。
スキフト
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.