HTMLを1行も書かずにWebアプリを開発する
先日、グレープシティ株式会社さんから届いたニュースレターに下記のようなものが掲載されていました。
1. HTMLを1行も書かずにWebアプリケーションを開発することは可能か
A.不可能である
B.がんばればできる
C.がんばらなくてもできる
正解:C
Visual WebGui(ウェブグイ)を採用すると、HTML、CSS,JavaScriptの記述をすべて回避することができるという事です。Visual WebGuiは、イスラエルのGizmox社が開発したフレームワークです。詳しくは下記をご参照ください。
http://www.grapecity.com/tools/info/visualwebgui/index.htm
気になったので、ベータ版を頂いて試してみました。
1 プロジェクト作成からWindowsフォーム風のコーディング
インストールを完了すると、プロジェクトのテンプレートで「Visual WebGui」が選択できるようになります。
「Visual WebGuiアプリケーション」を選択してOKすると、Windowsフォームとそっくりのプロジェクトが生成されます。
ツールボックスから「ボタン」「テキストボックス」「リストボックス」を張り付けてみました。
続いて、「ボタン」をダブルクリックして生成されたイベントハンドラ (button1_Click) に、テキストボックスの内容をリストボックスに追加するコードを記述しました。
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e){ var str = textBox1.Text; //TextBoxの内容をstrに取得する listBox1.Items.Add(str); //ListBoxにstrを追加する } }
トップページを指定するために「Form1.cs」を右クリックして「Set As Start Form」を選択します。
F5(デバッグ開始)でブラウザが起動し、http://localhost:***でWebアプリが動作しています。
ここまで触って見て、Windowsフォームでの作業と全く違和感がありませんでした。
2 動作の確認(1)アーキテクチャ
サーバ・クライアント間の動作については、GgrapeCityさんのWebページで紹介されいました。
http://www.grapecity.com/tools/info/visualwebgui/about.htm

初回レスポンス時に「仮想化エンジン」がブラウザに送られ、事後、クライアント側でUIの描画が行われるそうです。2回目以降、サーバからのレスポンスはXMLデータのみとのことです。
(2)コントロールのライブラリ
当然といえば当然ですが、テキストボックスやリストボックスは 名前空間System.Windows.Formsではなく、Gizmox.WebGUI.Formsでした。private Gizmox.WebGUI.Forms.Button button1; private Gizmox.WebGUI.Forms.TextBox textBox1; private Gizmox.WebGUI.Forms.ListBox listBox1;
(3)IISへのデプロイ
どのファイルを送ればいいのか、ちょっと良くわからなかったので、とりあえずプロジェクト全体をwwwrootに置いてみて動作するのを確認し、不要と思われるファイルを削っていくと、結局、bin配下とweb.configだけで動作していました。
拡張子wgxは、web.configで処理されているようです。
ASP.NETのようにcshtmlや、aspxのようなビューファイルは存在しませんでした。
3 Windows Azure WEBサイトへのデプロイWindows Azureで「WEBサイト」を簡易作成で作成し「発行プロファイル」をダウンロードしておき、プロジェクトの「発行」メニューでインポートして、そのままデプロイしました。

しかし、「http://webgui.azurewebsites.net/Form1.wgx」にアクセスしても、NotFoundとなってしまいました。
よく分からなかったのですが、FTPクライアントで接続して送信されたファイルを確認してみるとbinの下は送られていますがweb.configが無いようです。
FTPクライアントでweb.configを送信すると無事アクセスできるようになりました。
下記に本記事のサンプルを置きました。しばらく公開します。
http://webgui.azurewebsites.net/Form1.wgx
Visual WebGui のベータ版の使用期間は、2013年10月31日まで、製品版は、2013年6月〜8月の予定だそうです。
http://www.grapecity.com/tools/info/visualwebgui/roadmap.htm