13

Win フォーム アプリケーションがあり、それを Web ブラウザー内で実行しようとしています。Web を調べて、いくつかのリンクを見つけました。

私はこのリンクを試しました: Embedding a .NET WinForms Application in an Internet Browser Using WPF 、これは正常に動作しますが、問題はエンドユーザーがdot net frame workアプリケーションを実行するためにインストールする必要があることです。

Visual WebGui開発フレームワークを使用して、 Webブラウザー内でWinFormsアプリケーションを実行するための別のリンクを見つけました。

WebGui を使用した経験のある人はいますか?

4

5 に答える 5

11

Visual WebGuiWeb over ASP.NET です。その開発エクスペリエンスは、Visual Studio に統合された Visual WebGui デザイナーを使用した Windows フォームの開発エクスペリエンスと同じ/類似しています。Windows フォームと同じように分離コードを実行すると、WebGui ランタイムがそれを HTML5/CSS/JS に変換します。

Windows フォーム アプリケーションを同等の Visual WebGui Web アプリケーションに変換するために必要な作業は、Windows フォーム アプリケーションで使用される (サード パーティ/.NET) コンポーネントによって異なります。Visual WebGui API は Windows フォームの API と非常によく似ているため、場合によっては、WebGui 固有のアセンブリへの参照をいくつか追加してから、いくつかの名前空間の検索/置換を行うことができます。これらは 2 つの異なるプラットフォームであるため、もちろんいくつかの違いがありますが、開発エクスペリエンスは Windows フォームと非常によく似ています。

于 2013-07-24T12:46:36.457 に答える
0

winforms はウェブではありません。ウェブはウェブ。

Web は HTML + 何か (通常は JavaScript、CSS、そしておそらく jQuery など) を意味します。

1 - Web アプリケーションが必要で、.Net で実行したい場合は、ASP.Net アプリケーションを作成します。

2 - Windows アプリケーション (デスクトップ) が必要な場合は、WPF アプリケーションを作成します。

3 - Windows 8 の "Metro" スタイル アプリケーション (別名 Windows ストア アプリ) が必要な場合は、WinRT XAML アプリケーションを作成します。

4 - winforms はまったく役に立ちません。やっぱりなんでもないや。

顧客が .Net Framework のどのバージョンもインストールしたくない場合、唯一の選択肢は #1 です。

winforms アプリケーションは、Web ブラウザー内で実行するためにハッキングを行っても、決して Web アプリケーションにはなりません。

XBAP (WPF ブラウザー アプリケーション) も Web アプリケーションではありません。これは、独自のウィンドウを持たない通常の WPF クライアント アプリケーションです。

編集:

正しい方法で物事を行った場合(つまり、関心の分離を維持し、ほとんどの winform 開発者が一般的に慣れている恐ろしいコード ビハインド プラクティスではなく、アプリケーション ロジックをコントローラーまたはビューモデルに配置した場合)、アプリケーション ロジックを再利用することはそれほど難しくありません。データ アクセス レイヤーとビジネス ロジック レイヤーをそのまま維持しながら、新しいアプリケーション (Web またはその他) を作成します。

于 2013-07-18T19:37:53.893 に答える
0

Visual WebGui に関する私の限られた経験では、これは非常に優れたテクノロジです。簡単に言えば、私が理解しているように、Windows フォーム開発 IDE を使用して、HTML5 準拠の ASP.NET クライアント/サーバー Webアプリケーションを作成できます。単なる Web サイトやページではなく、非常によく似たルック アンド フィールを備えています。 Windows フォーム デスクトップ アプリケーション。クライアント側で Winforms コントロールを jquery コードに変換することでこれを行い、実行可能なコードのほとんどをサーバー側に格納します。

テスト目的で単純なアプリケーションを作成するために使用しましたが、いくつか注意点があります。まず、「きれいな」Web サイトを作成するには、Winforms のレイアウトを再考して、ヘッダーやサイドバーなどを備えた Web ライクにする必要があります。これは別のパラダイムであり、ユーザーは Web サイトで特定のことを期待しています。幸いなことに、この調整は、コントロールを操作するだけでかなり簡単に行うことができます。つまり、Panel コントロールは、サイドバーまたはヘッダーのコンテナーになることができます。コントロールの外観を変更するためのスキンのような「テーマ」を作成することもできます。

もう 1 つの考慮事項は、ポップアップ ダイアログ ボックスなどのイベントが Web 環境で異なる動作をすることです。Winforms では、ユーザーが「OK」ボタンなどをクリックするまで、プログラムの実行が停止します。Visual WebGui 内では、すべての実行がサーバー側で行われます。したがって、プログラムの実行はユーザーの入力を待たずに続行されます。ただし、これは、ポップアップ ボックスの Form.Close ハンドラーを作成することで処理できます。しかし、この種の違いは念頭に置く必要があります。

また、オブジェクト レイアウトの異常も考慮する必要があります。Visual WebGui は、通常、Winforms の WYSIWYG の利点をうまく模倣しています。オブジェクトは通常、Web ページ上で環境内の配置場所のかなり近くに表示されます。しかし、常にそうであるとは限りません。適切なレイアウトを得るために、オブジェクトのパディングやマージンなどをいじる必要がある場合があります。それでも、CSS や div オブジェクトを使用して面倒な間隔変更を行うよりもはるかに簡単な場合がよくあります。

于 2014-08-11T15:48:57.800 に答える
0

この質問はこれと非常に似ていると思います:

.NET で WinForm を WebForm に変換することは可能ですか?

前述のように、アプリケーションをブラウザ内で「そのまま」実行する唯一の方法は、何らかの ActiveX コントロールを使用することであり、これには IE + .NET Framework が必要です。アプリケーションを Web に自動的に移行するために使用できるツールがありますが、常に手作業が必要であり、アプリケーションをゼロから Web アプリケーションとして構築する場合とは異なります。

于 2015-03-19T17:51:59.287 に答える