これからプログラミングを始めようとする人が、C#というプログラム言語を使ってアプリ開発を行うための基本的事項を説明します。また、数多くあるプログラム言語の中でC#というプログラム言語がアプリ開発のどのような場面で実際に使われているのかを理解していただき、C#のプログラミング学習が有益なものとなるように、この記事を公開しました。
参照:国内大手サービスでも使われているC#でできることを紹介した記事はこちら!
アプリとプログラミングの関係性
アプリとプログラミングがそれぞれどのようなものなのか、そして両者の関係についてお話します。
(注)プログラムとプログラミングは往々にして同じもののように認識される場合がありますが、プログラミングはプログラムを作成する行為をさし、プログラムはその結果の成果物です。
アプリ(アプリケーションの略)とは
昨今、アプリという言葉を頻繁に見聞きするようになりました。特にスマホ時代に入ってからは、実際多くの人がアプリを使っています。ゲームアプリやお天気アプリ、地図アプリなど、私たちにとってなくてはならないものとなっています。つまり、私たちは様々なアプリの恩恵にあずかっている訳です。
一般的に知られるようになった「アプリ」という言葉ですが、実はコンピュータに関わってきた人たちの世界ではずっと以前から使われてきたものです。それは業務アプリと言われるもので企業・社会発展のためには欠かせないものです。もちろん現在も業務アプリは重要なアプリとして、日々開発され続けています。後でお話ししますC#はこの業務アプリに適した開発言語なので、業務アプリについてもう少し説明します。
業務アプリの種類は無数といってもよいでしょう。業務を分類するだけでも開発設計・販売・物流・研究・会計・給与・教育・受発注等々、これらはさらに業種(産業)ごとにアプリ内容が異なり、さらに多くの場合は企業ごとに異なります。要するに開発する業務アプリは際限なくあるということです。
プログラミングとは
簡単に言えば、プログラム言語を使ってプログラムを作ることと言えます。今回取り上げるC#は重要なプログラム言語のひとつなのです。
アプリとプログラミングの関係
プログラミングの結果としてアプリが出来上がり、私たちはそれを個人でまたは会社で便利に使っているのです。つまり、アプリは誰かがプログラミングして作り上げているのです。プログラムの集合体とも言えます。ただし、ここでは詳しく説明しませんが出来上がったプログラムが必ずしも=アプリではありません。そのままアプリとして使う場合もありますが、モジュール(プログラムの部品)になる場合もあります。
なぜアプリ開発にC#を使うか?
アプリ開発のできるプログラム言語は現在では主なものだけでも10以上あります。そして、これからも新しいプログラム言語が作り出されると思われます。そういった中でC#でアプリ開発するのはなぜでしょうか。
アプリの多種多様性
アプリの違いが最も分かりやすいのが、スマホアプリと業務アプリです。そして スマホアプリでもゲームアプリとそれ以外ではその特徴は異なります。業務アプリについては前述したように数多くの分類が可能です。
ハードの多種多様性
私たちがアプリを動かそうとするとき、何らかのハードウェア(ハード)を使います。アプリはソフトウェア(ソフト)とも言い換えることができます。少し余談になりますが、昔コンピュータは非常に高価なもので、価格の9割方がハードでした。しかし、次第にハード特にメモリなどの価格下落により「ハードはソフトがなければ、ただの箱」と揶揄された時期もあります。
アプリ(ソフトウェア)が使われるハードは時代とともに広がってきました。当初はコンピュータだけでしたが今では、パソコン・タブレット・スマホ・家電といったように身の回りにはアプリが入ったものが溢れています。
アプリ開発でC#を使うのは、どんな場面
数多くのプログラム開発言語の中からC#を選択する場面として、次の2点があげられます。
(1).上記1.2.でアプリとハードの多種多様性について説明しましたが、どのプログラム開発言語でも可能というわけでもありませんし、可能だとしても非効率だったりもします。したがって、アプリ開発する場合に最適なプログラム言語を選択する必要があります。今日多くのパソコン(PC)やサーバーではマイクロソフトのWindowsというオペレーティングシステム(OS)が使われています。C#はWindowsのアプリを開発するには最適なプログラム言語と言えます。
もし読者の方が、スマホのゲームアプリ開発するのであれば、C#を選択することはないでしょう。C#を使うのに最適な場面は、業務アプリです。制御系など特殊な場面を除けばほとんどC#での開発が可能です。
(2).Visual Basic(VB)という開発言語は、実はC#と同じ開発環境であるマイクロソフトのVisual Studioを使います。使いやすさはほぼ同等と言えますが、文法が大きく異なります。おそらく過去にBASICでのプログラム経験があればVBを選択するでしょうが、BASICの経験がなければC#を選択するのが賢明です。
少し難しい話になりますが、C#は元々オブジェクト指向プログラミングを念頭に開発されたプログラム言語なので、より洗練された新しい言語といえます。また、読者の方が先々javaやC言語を学ぶときは文法が近いので習得が早いかと思われます。
C#でのアプリ開発の習得期間はどれくらい?
アプリは多種多様であるため規模の違いや技術的な難易度の差もあり、一概に習得期
間を示すことはできませんので、いくつかアプリ対象を想定してお話します。
開発環境を整える
まずは開発環境であるマイクロソフトのVisualStudioをダウンロードしてセット
アップする必要があります。PCの性能にもよりますが数時間で終わります。
対象アプリごとの習得期間
対象アプリの機能例 | ポイント | 習得時間 |
PC画面への表示と入力のみ | 開発環境であるVisualStudioを同時に学習する | 20 |
データベース(DB)への入出力 | OracleやSQL ServerのようなDBも学習する | 40 |
他の機器との連携 | ターゲットとする機器との通信技法を学習する | 40 |
オブジェクト指向を優先したプログラミング | オブジェクト指向プログラミングの概念と技法を学習する | 40 |
実用の業務アプリではC#の知識だけではなく、データベースやPCとの通信機器についても学習が必要です。また、単にアプリを作るだけでなく分かりやすいメンテナンス性の高いアプリを作るにはオブジェクト指向の考え方を理解したうえでのプログラミングが必要です。したがって、表の習得時間は第一段階の目安であり、さらに習熟して開発技法を高めていくことになります。
実際にC#で開発できるアプリの例
業務アプリであればほとんどの場合、C#での開発が可能です。パソコンのゲーム開発もできます。
C#で開発できるアプリ例 | 補足 |
財務会計、給与計算、売上集計などの業務アプリ | データ処理関係のアプリはほとんどの場合、データベース処理が必要となります。 |
生産設備の制御アプリ | よほどの高速レスポンス要求がなければ、C#で可能です。 |
パソコンでの教育用アプリやゲームアプリ | 趣味なども兼ねて自宅で気軽に開発可能です。 |
下図はC#で開発したPC上で動く業務アプリの画面例です。グラフ表示なども行っており、かなり複雑な表示も可能です。
■C#を学べる入門サイトの紹介
サイト名
- 連載:簡単! Visual Studio 2013入門:
- 第1回 初めてのVisual Studio 2013 (1/5)
URL:http://www.atmarkit.co.jp/ait/articles/1408/27/news118.html
C#でプログラミングするために不可欠なのが、その開発環境であるVisual studio(VS)です。このサイトでは、VSを理解することと同時にC#のプログラミングを学習できます。 - 第2回Visual Studio 2013の基礎を知る
- 第3回.NETのコードを理解するための基礎知識
- 第4回Visual Studio 2013のひな型コードを理解する
- 第5回初めてのWindowsアプリの開発
第1回から5回までの連載となっています。順序に従って学習すれば、C#とVSの基本が理解できます。VSの使い方が分かれば、C#の基本的な文法や処理を学習できるサイトで実践してみるのがおすすめです。
C#を学べる動画サービスを紹介
URL : https://www.youtube.com/watch?v=HNRl7TQ-4wc
説明 : VSのインストール操作からC#で“Hallo World”を画面に表示するプログラ
ミング作業を確認できます。
URL : https://www.youtube.com/watch?v=f-QqWteEQiA
説明 : こちらは、フォーム(画面)とボタンの使い方を学習できます。
URL : https://www.youtube.com/watch?v=f-QqWteEQiA
説明 : PCにVSがインストールしてある状態であれば、以下のサイトの動画を参考に
して、まずは動かしてみることができます。
アプリ開発におすすめのライブラリ
C#開発で使用する機能は.NET framework関連のクラスライブラリを利用する場合
がほとんどです。
■逆引きサイト紹介
URL : http://dobon.net/vb/dotnet/index.html
逆引きとしても使える小技集です。内容はたいへん豊富ですのできっと役に
立ちます。
説明の中でソースコードがVBとC#の両方が表示されますが、見にくければ
画面左上の「VB.NETのコードを非表示」にチェックマークをつければ、C#の
ソースコード表示のみとなります。
URL : http://jeanne.wankuma.com/tips/csharp/
このサイトも大変内容豊富です。
最後に
C#でゲームアプリを開発して楽しむこともできますが、C#というプログラム言
語は、以下の場面で使うのが最も有効と思われます。
- これから初めてプログラミングを始める方
- PCやサーバーのWindows環境でアプリ開発をする方
- 業務アプリを開発する方
C#はデータベースを処理したり、他の機器と通信したりとほとんど何でもでき
ます。しかしそのより高度な技法を学ぶことはまだ先でよいでしょう。C#でのアプ
リ開発は決して難しいことではありませんので、まずは簡単な機能だけで始めて見
ることです。
いかがでしたでしょう、あなたはC#でのアプリ開発のイメージを持つことができたでしょうか。
参照:国内大手サービスでも使われているC#でできることを紹介した記事はこちら!
フリーランスになるために必要な知識やスキルアップの方法等、様々なお役立ち情報を発信していきます。
(リモートワーク案件に強いフリーランスエージェント「クラウドワークス テック」を運営)