![見出し画像](https://assets.st-note.com/production/uploads/images/21361742/rectangle_large_type_2_1ebc7148705c93257bc8cad98d23e748.jpg?width=1200)
ITの仕事やりたい…(2)-windowsアプリケーション
前書き
前の記事「ITの仕事やりたい…(1)-PC,windows,そしてプログラミング言語のあれこれ」を読んで、「IT業界でやってることがちょっとイメージできた、そして自分もやってみたい!」って思った方は、これからITの仕事をやるために先ずプログラミングを勉強すべきですね。
この記事では、「windowsアプリケーションとその開発方法」について紹介いたします。
次回に「Webアプリケーションとその開発方法」について紹介いたします。
もちろん、アップル会社のマック(OS: macintosh)専用のアプリを開発しているIT技術者も大勢います。アップル会社の製品が好きな方は、別途マック開発、iOS開発などの方法を勉強することをお勧めします。
(筆者はずっとwindows開発とweb開発だけなので、マックとiOSには詳しくありません。)
windowsアプリケーションとは
windowsアプリケーションとは、名前の通り、
windows上で動作するアプリケーションのことです。
windowsっていうのは、マックのmacintosh、iPhoneのiOS、アンドロイド携帯上のandroid、汎用機上のUnix, Linuxなどオペレーティングシステム(OS)の一つですね。
上記それぞれのOSがお互いに違うものなので(当たり前じゃん)、プログラミングする前に、先ず「どのOS上で動くものを開発するのか?」を決める必要があります。
「どのOS?」といったら、又自分が好きなものをつくるのをお勧めすることになっちゃいます。詳しくは前回の記事をみてください。
筆者はいままでwindowsアプリケーション開発の仕事をやっていたので、ここではwindowsアプリケーションを挙げていますが、現在世の中windowsを搭載しているパソコンが他よりも圧倒的に多いのも事実でしょう。
windows OS搭載パソコンを使っている人が多い = windowsアプリケーションを実行している人が多い = windowsアプリケーションの需要が多い = windowsアプリケーション開発の仕事が多い。。。
結論からいうと、マイクロソフト会社が制作・販売しているコンピュータのwindowsというオペレーティングシステム(OS)上で動作するアプリケーションは全てwindowsアプリケーションだといえます。
・あるプログラミング言語を選んで、プログラミング(ソースコードを書く)し、出来たものは「プログラム」と呼びます。
・「プログラム」は極細かななんらかの処理を行ってくれます。この一つ一つの処理を「機能」と呼びます。
・いろんな「機能」を実現したプログラムを一塊にすると、なんらかの実際の業務のニーズを解決したりします。このように、なんらかの実際の業務に使えるプログラムの塊を「アプリケーション」と呼びます。
・さらに、開発したアプリケーションを説明書などを同梱し、商用販売する際、「ソフトウェア」と呼びます。
windowsはマイクロソフト社が開発・販売しているオペレーティングシステム(OS)類のソフトウエアです。
同時にwindowsは、パソコンの全てのハードウェアの管理を担ってくれる、大勢のプログラマー達が力合わせて協力しながら開発したアプリケーションでもあります。
windowsはOS類のアプリケーションです。ただOSの開発はものすごく難しいし、なんらかの信念がないとできないっぽく思われます(OSを開発している会社は世の中幾つしかありません)。
このwindows上で動作する、我々のなんらかのニーズを解決してくれる、大きくいうとある会社の業務につながるような、こんなアプリケーションをwindowsアプリケーションと呼びます。
これからはアプリケーション(application)を省略し、「アプリ(APP)」と呼びます。
windowsアプリケーションの種類
下記のように、windows上で動くアプリは全てwindowsアプリになります。
そして、windowsアプリの特徴と言えば、ユーザとやり取りするための画面(IT用語ではGraphical User Interface, GUI)があって、とても使いやすいことです。
もちろん、実行画面がなくても、とりあえずwindows上で動くのはすべてwindowsアプリです。
windowsアプリのGUIは大体似ていて、下記のようにいろんな作業領域に分けることができます。
2013年までは(windows8以前)windowsアプリは上記のような感じでした。
window8からwindowsの革新が始まって、その経験を引き継いでwindows10が作成された
時代の流れは速いもので、windowsもどんどん進化し続けています。今はスマホとかタブレットなど新しく誕生した全てのデバイスのOSを一統したいと思ってるマイクロソフト社が、windowsもwindows 10と名前を固定したうえに(もうwindows 11, 12とかは出ない)、あらゆるデバイスで動作できるように賢く設計してくれました。
こんな新時代のニーズには、もちろん昔のwindowsの機能では到底実現できないもので、マイクロソフト社が全く新しいwindowsを作ったわけです。
「新しいwindowsってなに?」となると思いますが、簡単にいうと、マイクロソフトストアでダウンロード・インストールできるwindow10専用のアプリケーションが、その「新しいwindows」上で動くものです。
↑がマイクロソフトストアです。(アップルストア、アンドロイドストアと似ている)
このマイクロソフトストアでダウンロードするアプリケーションは、windows10上でしか動きません。
IT以外の方は「あ、そっか」でよいですが、これからwindowsアプリを開発しようとしている技術者達は、これをよく理解しないといけません。
このwindows10上でしか動かない新しい方式のアプリケーションをUWP(Universal Windows Platform)アプリと呼び、昔のアプリケーションはデスクトップアプリケーションと呼びます。
もちろん、上記2種類のアプリケーションを実行させるwindows内部の仕組みも全く違います。
イメージ的には、window 10は実は内部には2つのwindowsが同梱されているような感じです。
一つは、昔のwindows。
もう一つはwindows 8から新しく開発し始め、windows 10 になってどんどん形になったUWPアプリを実行させるもの。
というわけで、windowsアプリケーションも
・昔のデスクトップアプリケーション
・UWPアプリケーション
といった、2種類があります。
開発方法も違うので、それぞれ勉強しなければなりません。
が、幸い開発用IDEはvisual studio 一つでどっちでも開発できます。
windowsアプリケーションの開発方法
今回はデスクトップアプリケーションの開発方法について解説していきます。
昔はwindowsアプリケーション開発といえば、
・VC++(MFC)
・VC++(win32)
・VB6.0 での開発が主流でしたが、
2002年.Net Frameworkが誕生した以来、新しく
・VB.net と
・C# が加わりました。
C / C++系はかなり難しい方なので、初心者には向いておりません。
昔VB6.0で開発してた技術者は、vb.net開発へシフトしたでしょう。
今の時代、昔の資産をメンテナンスする(20年前にVC++とかVB6.0で開発した業務アプリなど)以外は、基本vb6.0とかvc++(MFC)などでwindowsアプリケーションを開発する人はいないでしょう。
将来の就職のこととか、勉強しやすさとかなどからも、これからwindowsアプリ開発を勉強したい方には、C#での開発をお勧めします。
今回の紹介では、C#言語で、.Net Frameworkを使ってwindowsデスクトップアプリケーションを開発する方法を紹介いたします。
※これからwindowsアプリケーション開発を目指す方におすすめ
・プログラミング言語: C#
・フレームワーク: .Net Framework か .Net Coreか将来出てくる .Net 5
・windowsアプリ種類: デスクトップアプリケーション
(これができるようになったらUWPアプリもあり)
・開発IDE: Visual Studio 2019 Community(個人の場合は無料)
C#言語であの有名な「Hello, world!」アプリケーションを開発してみます。
Hello world(ハロー・ワールド)は、画面に「Hello, world!」やそれに類する文字列を表示するプログラムの通称である。多くのプログラミング言語において非常に単純なプログラムであり、プログラミング言語の入門書で、プログラムを動かすためのプログラミング言語の基本文法の解説例として提示される。
利用目的
ハロー・ワールドは伝統的にプログラミング言語をプログラム初心者に紹介するために使われる。また、ハロー・ワールドはプログラミング言語が正しくインストールされていること、およびプログラミング言語の使用方法を理解するための健全性テスト(Sanity Test)にも使用される。
大抵のプログラミング言語の入門書では、このプログラムを作ることを最初の例題としており、ほとんどの場合、新しくプログラミング言語を習得する際に最初に作るのがこのプログラムである。そのため、「世界一有名なプログラム」と呼ばれることもある。
(出典: フリー百科事典『ウィキペディア(Wikipedia)』)
プログラミング言語を勉強する際、最初に書くのが「hello world」を出力するアプリです。これができたら、開発環境が正しくインストールされたことと、プログラミング言語の最低限の知識は把握できたことになります。
先ずはVisual Studioを起動します。
下記の画面が表示されると、「新規プロジェクト作成」をクリックします。
次の画面で、「c# .net framework」を入力し、選択できるプロジェクトの種類をフィルターします。そして表示された選択肢から「windows forms APP(.NET Framework)」を選択し、「次へ」を押します。
プロジェクト名、保存するディレクトリ、.NET Frameworkのバージョンを指定し、「作成」を押します。
.NET Frameworkバージョンについては、ウィキペディアをご覧ください。
下記の画面が表示されます。
↑がC#言語で.NET Frameworkを使ってwindowsデスクトップアプリを開発する場合の、Visual Studio 2019というIDEの開発画面になります。
windowsアプリケーションの開発は全てこの画面で行います。
このようなアプリを開発したいなら、C#言語の書籍を買って勉強するか、C#を教えてくれるプログラミングスクールに通うのもありだと思います。
もちろん、プログラミングの勉強は常に手お動かしながら、自分でどんどんいろんなプログラムを書くのがベストです。
わからないところがあったら、インターネットで検索しながら自力で勉強する方法もあります。でも、自習はある程度プログラミング知識がある方じゃないと、相当難しいでしょう。
では、「Hello world」を表示してみましょう。
先ずは、自動作成されたプログラムが正常に動作するかを確認します。
下図のように、「スタート」を押します。
すると、プロジェクトがビルドされ、下記の実行画面が表示されます。
これで、プロジェクトが問題なく動作することが分かります。実行画面にはなにもないが(もちろん、自動作成されたあと何のプログラムも書いてないから)、windowsアプリケーションの基本的な要素(最小化、最大化、クローズボタン等)は揃えていることが分かります。
下図のように、画面のタイトルの文言を「Hello world test」に変更します。
「実行」を押して実行すると、下記のように画面のタイトルが変わっていることが分かります。
IDEに戻って、下図のようにボタンを画面にドラッグ&ドロップします。
すると、画面にボタンが作成されます。
このように、windowsアプリ開発はツールボックスから必要なツールを画面にドラッグ&ドロップして、作成された要素に対してプログラミングするのようなやり方です。
上記ボタンをダブルクリックすると、下図のようなコーディング画面(プログラミングする場所)が表示されます。該当ボタンがクリックされた時の処理は、全てこの赤枠ないに記述することになります。
今回は、「Hello world」というメッセージを画面に表示します。
下記のようにコーディング(プログラミング)します。
MessageBox.Show("Hello, World!!", "My First C# APP", MessageBoxButtons.OK); はC#言語を勉強したら、画面にメッセージボックスを出すものであることが分かります。
「実行」を押すと、プロジェクトが再ビルドされ、下記の画面が表示されます。
上記のボタンを押すと、下記のように「Hello world」が表示されます。
上記が、C#でwindowsデスクトップアプリを開発する時のイメージになります。後はC#言語を勉強し、自分が作成したい機能をどんどん開発しながら徐々にC#の技術者になっていくのみです。
下記の動画の28秒あたりから、C#での開発する様子を収録しておりますので、興味のある方はご覧ください。
定番のHello,worldアプリをいろんなプログラミング言語で作成してみた The "Hello world" app in C++, C#, Java, HTML, VBA etc.
まとめ
windowsアプリケーションの種類とC#でwindowsデスクトップアプリケーションを開発する方法を紹介いたしました。
「ITやりたい!とりあえずプログラミングを勉強してみたい!他は後で考える」という方は、とりあえずwindwosアプリケーション開発から勉強してみましょう。
プログラミング言語のお勧めはC#です。
この方向を決めたら、インターネットでC#言語を解析する記事を探して勉強してみたり、どうしても分かりずらい場合はプログラミングスクールに通ってみたりした方がいいと思います。
C#で開発する仕事もかなりあるので、将来の就職にもつながります。
もちろん、自分で案件を取って開発するといったフリーランサーとしても活躍できると思います。
又、シェアウェア開発者という形で、自分が開発したアプリをVectorなどのサイトに無料・有料で公開し販売することもできます。
いろんなユーチューバーの方達がおっしゃってる通り、プログラミングを勉強して損はないですね。
では、バイバイ! Have a nice day!