Home > C# > 環境構築

ベクトルドロー・レベルゼロ

C#で、アプリケーションを開発する環境

広告

新規作成日 2019-02-21
最終更新日

C#でアプリケーションを開発するためには、まずは、開発環境を整える必要があります。基本的には、Visual Studioを使用します。

C#を使って、アプリケーションを開発するためのツールには、他にも、いろいろなものがあります。

C#の開発プラットホーム

C#の開発プラットホームが、複数提供されていることに注意する必要があります。特定の開発プラットホームだけで、作成したアプリケーションが動作する環境や利用できるクラスがあります。

C#を学ぶことを決めたあと、C#を学ぶ前に、アプリケーションやプログラムを作成したい目的を明確にし、利用する開発プラットホームを決める必要があります。

開発プラットホームごとに、利用できるクラスやコントロールが異なるため、利用するプラットホームを限定して、情報を集めていくことで効率が上がります。

C#で利用されている主な開発プラットホーム
  • Formアプリケーション(Windowsデスクトップ)
  • WPFアプリケーション(Windowsデスクトップ)
  • UWPアプリケーション(Windowsアプリ、XBox)
  • Xamarin(スマートフォン)
  • C# Unity(ゲーム)
  • ASP.Net(Webサーバー[Windows Server])
  • .Net Core(Winodws、Linux、MacOSX上で動作するアプリ)
  • ASP.net Core(Webサーバー[Linux Server])
  • VSTA(VBAのC#版、アプリケーションのマクロで使われるC#)

利用するターゲットが、既にサポート終了になっていないかは、あらかじめ確認しておく必要があります。

利用する開発プラットフォームに関連する情報を集める

C#は、Windows上で動作するアプリケーションを作成するために開発され、現在でも広く使われている開発言語です。

C#に関する情報は、書籍やWeb上に公開されているものもたくさんあります。

開発プラットホームごとに、利用できるクラスやコントロールが異なるため、利用するプラットホームを限定して、情報を集めていくことで効率が上がります。

そのため、C#を学ぶことを決めたあと、C#を学ぶ前に、アプリケーションやプログラムを作成したい目的を明確にし、利用する開発プラットホームを決める必要があります。

C#アプリケーション開発のために必要な情報
  • C#言語に関する情報
  • .Net freameworkや.Net Coreなどのフレームワークの知識
  • FormやWPF、xaml、Unityなど、UIの作成方法に関する知識
  • NuGteからインストールできる役に立つツールキットの存在とその使い方
  • MVVMなどのデザインパターン
  • GitHubなどのバージョン管理システム

多くの人が、C#を学ぶための情報サイトを作成しています。うまく使ってC#を習得すると良いのですが、必要な情報が提供されているサイトを探すことは困難です。そして、開発プラットホームごとに、利用できるクラスやコントロールが異なるため、別々に理解する必要があります。

自分に必要な情報を集め、整理して、情報を自分が使いやすい状態で管理する必要があります。

C#のアプリケーション作成にかんする情報

C#のアプリケーション開発のチュートリアルは、Microsoftからも提供されています。

使用されている開発プラットホームを確認し、分類して活用することが大切です。

サンプルコードが、MVVMデザイン・パターンを利用している場合は、使用しているMVVMツールキットによって、全くコードのスタイルが異なることに注意しましょう。

コンソールアプリケーション

コンソールで動作するプログラムです。

サーバーアプリケーションや、他のプログラムから呼び出すプログラムを作成する場合には、重要です。

「コンソールアプリケーション」は、クラスの動作を確認するために、便利な環境です。これから、C#を学ぶ場合は、まず、「コンソールアプリケーション」を作りながら習得することになると思います。

サイトの情報を使用してC#を学ぶ場合は、最初は、Microsoftが用意している「C#プログラミングガイド」 を活用すると良いと思います。

C#プログラミングガイド

最初のプログラムは、伝統的に、「Hello World!」というテキストを表示させるところから始まります。

Hello World -- 最初のプログラム (C# プログラミング ガイド)

そこから、何をどのような順番で学んで行くのが効率的かについては、いろいろな考え方があります。具体的で明確な道は存在しないと考えて良いと思います。

デスクトップ・アプリケーション

グラフィカル・ウィンドウをもつアプリケーションです。

FormアプリケーションやWPFアプリケーションを利用して作成します。このサイトでは、主にWPFアプリケーションについて扱います。

高機能な、クラスやコントロールが、あらかじめ、用意されているので、特定のアプリケーションは、少ないコードで作成することができます。

学習書籍

「C#を学ぶために適切な本はどれですか?」答えが無いのでは?と思っている人が多いのではと思います。

具体的な原因は、大幅に機能拡張されたC# 3.0がリリースされた頃に、リーマンショックによる不景気が訪れ、出版不況の影響を受け、関連書籍の出版が滞ったからではないかと考えています。 新しく拡張された機能を含めて効率的に使用するためのドキュメントを作成してくれたはずの著者に出版依頼が行われなかったのではと考えています。

何はともあれ、これを読むとC#でプログラミングができるといった決め手はありません。C#簡単に学べる開発環境の一端には挙げられることが多いのですが、学習環境は簡単なものがありません。 どの言語の学習環境も同じような状態かもしれません。

いろいろ調べていくと、学習書籍の定番は、「プログラミングC#」と「C# xx in a Nutshell」の2冊で学ぶのが定番のようです。決して優しくはありません。 C#が、高頻度に機能拡張されるのに合わせて、高頻度に更新されますが、職業プログラマーでなければ、最新版を使用する必要はないと思います。ただ、C# 3.0が、第5版に当たるので、これより新しい版をおすすめします。

また、類書に「C# xx Cookbook」もあります。

「プログラミングC#」で概略を確認し、「C# xx in a Nutshell」や「C# xx Cookbook」でコード例を確認する使い方のようです。 「C# xx in a Nutshell」や「C# xx Cookbook」は洋書ですので英語表記です。

C#のプログラム集は、日本語のものも出版されています。この「実戦で役立つ C#プログラミングのイディオム/定石&パターン」が、 2冊めの本命になるとおもいます。C#の入門書を読んだ後、どうしたらいいのかわからない状態に対する答えの一部がこの本の中にあります。

C#でコンソールアプリケーションを作成するのは、言語の習得目的以外には、あまり行われません。グラフィカルなUIを持ったアプリケーションで、マウス操作が一般的です。 C#では、一番初期のバーションから存在するFormと呼ばれるUIスタイルがあります。Rapid Programming環境です。現在では、新たな更新が行われていません。 これから学ばれる方は、xaml-UIを学ばれることをおすすめします。新しく提供される環境では、全て、xaml-UIスタイルのUI開発環境が提供されています。

デスクトップアプリケーション用のxaml-UIスタイルのUI開発環境は、「WPF」と呼ばれます。 残念ながら、C# 3.0以降では、「WPF」アプリケーション開発に詳しい日本語の書籍は、出版されていないと思いますので、インターネット上の情報を参考にするか、洋書を読み解く必要があります。

私が知っている日本語で読める唯一のxaml-UIスタイルのUI開発環境に関する書籍は、残念ながら、ストアアプリ向けで、WPF(デスクトップアプリケーション)向けではありません。 わかりやすいのですが、サンプルプログラムをWPFアプリケーションとして実行するには、コードを変更するする必要があります。

このタブレット向けアプリケーション向けの分野は、「ストアアプリ」、「ユニバーサルアプリ」など、変遷が激しいので現状どうなっているのか不明です。

ストアアプリでもデスクトップ向けに作成できるようなのですが、私は、やり方を調べていません。

C#によるタブレット向けアプリケーション開発では、同じxaml-UIスタイルのUI開発環境の「Xamarin.Forms」で行ったほうがいいのかもしれませんが、このあたりの動きは正直わかりません。

xaml-UIスタイルのUIを高度に使いこなすには、「MVVM」と呼ばれるデザインパターンの概念を理解する必要があるのですが、これは、日本語の解説書は出版されていません。 インターネットの情報を頼りに理解するか、洋書を読むことになります。

C#を使用したアジャイル開発については、こちらの本が出版されています。正直、難解ですので、読む人を選びます。

原書は、こちらです。

このエントリーをはてなブックマークに追加

Home PC C# Illustration

Copyright (C) 2011-2018 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」