MENU
擬似乱数生成
オブジェクト名.メソッド名() TextBox1.Focus() TextBox1.SelectAll()
オブジェクト名.プロパティ名 = 値 TextBox1.Text = "Hello, Visual Basic" MsgBox(TextBox1.Text) TextBox1.TextAlign = HorizontalAlignment.Right TextBox1.MaxLength = 3 TextBox1.Text = Me.Text
32ビット版Windows が登場した当初からある(すなわち、 Windows95の時代からある)アプリケーションです。 C言語(又はC++)で、WindowsAPI(Windows自身が持つ機能を、 プログラマーのために外部公開した機能群)を使ってアプリケーションを作ります。
上記「Win32 アプリケーション」のように、WindowsAPI でプログラミングする場合、 「こんには」と文字表示するだけの単純なアプリケーションを作成するだけでも、 数十行のコードを書かなければなりません。 手間もかかるし、難易度が高いです。 そこで、Windows API をラップして(おおいかぶせて)、 もっと簡単にアプリケーションを作成することを可能にした機能群がMFC です。 言語は、C言語、又はC++から、MFC が使えます。
フォーム(Windows Forms)をベースとしたWindowsデスクトップ用のアプリケーションを 作ることができる。 マイクロソフトは、インターネット市場への進出に遅れたので、インターネット市場に弱いです。 そこで、開発環境も、Windows自体にも、どんどんインターネット仕様を 取り入れる方針にしました。 そのテクノロジーの名前を.NET (ドットネット)と言います。 なお、アプリケーションも根底の仕組みから作り直されました。 それが、Windowsフォームアプリケーションです。
ところで、「Windowsフォームアプリケーションは、Win32 アプリケーション や MFC と比べて、 根底から作り直された」と述べました。 確かに、イベントの仕組みなど、根底から取り扱い方が変わりました。 しかし、実はWindowsフォームアプリケーションは、 Win32 アプリケーションをラップして作られています。 よって、原理的には、大きくは変わっていません。 そこで、本当に根底から変えて、.NET としての特色を濃くしたのが、WPF です。 ところで、JavaScript や PHP 等のWeb系のスクリプト言語は、 HTML をベースにしていて、機能を拡張しています。 WPF も似たようなイメージで、XAML と言う言語 をベースにしていて、 機能を拡張しています。 そのWPF と言う言語を使って、アプリケーションを作るのが、 WPF アプリケーションと言うことです。 なお、WPF は言語ですが、WPF と言う言語書式かある訳ではないです。 C#書式か、VB.NET 書式から選んでプログラミングをします。
WindowsフォームアプリケーションとWPF は、両方とも、.NET に基づくものです。 比べるとWPFは、.NET 的な意味では、Windowsフォームアプリケーションよりも理想的なものです。 ただし、WPF は、XAML を使って処理をしている分、重くなると言う欠点もあります(XAML は、 バイナリではなく、テキストなので、処理が遅くなる)。 よって、今まではWPF の人気は悪かったですが、64ビット機や、 124ビット機が増えてくれば、WPF の活用が増えてくる可能性もあります。
MFC は、Win32 アプリケーションに比べたら簡単ですが、Windowsフォームアプリケーションのように、 簡単にはなっている訳ではないです。 ただ、MFC によるクラス(機能群)は、WindowsAPI より簡単と言うだけであって、 VB.NET や C# のようなデザイン画面(ボタン等をペタペタ貼るもの)は用意されていません。 デザイン画面を使うのは、Windowsフォームアプリケーションになります。 なお、WPF は、前述の通り、一般のスクリプト言語風の扱いですので、 直接コードでデザインを決める場合が多いです。 しかし、一応デザイン画面を使えます。
Win32 アプリケーションは、無料。 Windowsフォームアプリケーションは、基本は殆ど無料ですが、 例えば帳票作成ツール等、一部有料版開発環境にしかない機能もあります。 WPF も基本は無料で、一部ツール等で有料のものもあります。
単体で実行できるユーザーインターフェイスを持たない、コードベースのクラスライブラリ。 VB.NETだけでなく他の.NET言語からも使用できるライブラリを作ることができる。
文字だけからなるコンソールのみを用いたアプリケーション。 ウィンドウを使用しないコマンドラインアプリケーションのほか、 デバッグ、テスト用のツールなどにも用いられる。
Visual Basic
C#言語
Visual Studio 2015
WPF