C#の勉強を進めていくと、「画面のあるアプリを作りたい!」という衝動にかられます。
そんな時に、Webアプリなのか、Windowsアプリなのか。。
更に、Visual Studioでどのように作るのか、悩まれる方も多いかと思います。
私も勉強を始めた当初、参考書通り進めていましたが、自分の思っているものと何か違う・・・と思っていました。笑
今回は、Visual StudioとC#でどのようなアプリが開発できるのか、種類と特徴についてご紹介します!
Visual Studioをまだインストールされていない方は、こちらからダウンロードしてくださいね。個人利用する場合は無料でコミュニティー版をインストール可能です^^visualstudio.microsoft.com
開発可能なアプリの種類
Visual Studioでは様々な開発ができるのですが、今回はよく利用される6種類をピックアップしました。WindowsアプリやiOS,Andoroidの開発、Webアプリやバッチ処理などがC#で開発可能です。
用途欄に概要をまとめています。
種類 | 用途 |
Windows フォーム |
Windowsアプリ ・最も歴史が古く高度なデザインには不向き ・デスクトップアプリケーションの作成が可能 ・ボタンなどを配置して直感的に開発 ・画面定義はC#のコードで記述される ・.exeファイルが作成され、配布する |
WPFアプリケーション |
Windowsアプリ ・デスクトップアプリケーションの作成が可能 ・ボタンなどを配置して直感的に開発 ・画面定義はXAMLで記述される ・.exeファイルが作成され、配布する |
UWPアプリケーション |
Windows PC,IoTデバイス、Hololendes等アプリ ・色んな端末で動作可能 ・ボタンなどを配置して直感的に開発 ・画面定義はXAMLで記述される ・Windowsストアから配布する |
Xamarinアプリ |
・複数のプラットフォーム向けに1つのツールで開発可 ・Xamarinネイティブ、Xamarin.Formsがある ・XAMLデザイナーがないので、全て手打ちが必要 |
コンソールアプリ |
CUIベースのアプリ ・画面を使わない、バッチ処置に向いている ・コマンドプロンプトを使用 |
ASP.NETアプリ |
Webアプリ ・インターネット上のWebサイト作成 ・「Webフォーム」、「MVCモデル」の2種類 ・画面はXAMLではなくHTMLで記述される |
利用方法
今回は、3つのアプリをピックアップして、Visual Studioでの利用方法をご紹介します。
Windows フォーム
Windowsフォームを使いたい場合は、新しいプロジェクト→Windowsデスクトップ→Windowsフォームアプリケーション(.NET Framework)を選択します。
開くと、下図のような画面が表示されます。
画面左側のツールボックスから必要なイベントを画面上にドラッグ&ドロップしてアプリを作成していきます。
右側のソリューションエクスプローラーでForm1.Designer.csを開くと、デザインがC#でコーディングされていることが分かります。
WPFアプリケーション
WPFアプリを使いたい場合は、新しいプロジェクト→Windowsデスクトップ→WPFアプリ(.NET Framework)を選択します。
開くと、下図のような画面が表示されます。
画面左側のツールボックスから必要なイベントを画面上にドラッグ&ドロップしてアプリを作成していきます。
MainWindow.xamlでは、デザインがXAMLで作成されていることが分かります。
こちらの本は、WindowsフォームとWPFアプリどちらも扱った入門書で、Windowsアプリ開発を検討している方にはおススメです!
ASP.NETアプリ
ASP.NETアプリを使いたい場合は、新しいプロジェクト→Web→ASP.NET Webアプリケーション(.NET Framework)を選択します。
作成を押すと、下記選択画面が出てきます。今回はMVCを選択します。
ソリューションエクスプローラーには、MVCの"Models" "Views" "Controllers"があります。
画面のデザインはViewに作成されます。htmlでコーディングされていることがわかります。
F5でデバッグをすると、ブラウザーが開いてWebサイトが開くので確認してみてください^^
こちらの参考書は、ASP.NET MVCの入門で、MVCの構造やプログラム手法について詳しく解説されています。
ひとこと
いかがでしたでしょうか。
Visual StudioでC#を使って開発するといっても、たくさんの方法があることが分かります。
プログラミングについてある程度理解したら、どのアプリを開発するか決めて、そのアプリの参考書で開発を進めることで、実践力をつけていきましょう(^^)/
【C#入門】クラスとは?役割とVisual Studioでの作り方を紹介
【C#入門】インスタンスとコンストラクタとは?
【C#入門】カプセル化とは?アクセス修飾子の種類と使い方を紹介
更に力を伸ばしたい方は、プログラミングの無料体験もお勧めです!
☆その他C#の記事をアップしています☆