プログラミングは、実際に作りながら覚えるのが一番の早道。
でも、「何を作ったらいいか思いつかない」という方も多いはず。
プログラミング+趣味 というキーワードでググっても、「目的を決めよう」とか「興味のあるものを作ろう」という、誰にでも当てはまる漠然とした一般論しか書かれていません。
でも、これからプログラミングを始める人にとって、選択肢が広すぎるのも困りものですよね。
そりゃ、人それぞれ考え方があるので、一律に「これを作ろう」とは言えないとは思いますが、私はあえて提案します。
パスワード管理ツールを作ってみませんか。
ということで、パスワード管理ツールの自作をテーマに、何回かに分けて作り方を解説したいと思います。
今回は、その第1回目です。
はじめに
説明の中にアプリケーション、ツール、プログラムという単語が出てきますが、これらはいずれもソフトウェアの呼び方になります。
アプリケーション(又はアプリ)とは、コンピュータを何らかの目的で使うために作られたソフトウェアの総称のことで、業務で使うアプリは業務アプリ、何かに特化したものをツールと呼ぶことが多いですが、いずれもソフトウェアの仲間です。
プログラムとは、コンピュータに対する命令を記述したものであり、プログラミング言語で書かれています。

今後説明を読み進めるうちに、これらの単語が頻繁に登場しますが、用途によって呼び方が変わっているだけで、ソフトウェアのことだと解釈してもらえれば良いかと思います。
パスワード管理ツールを自作する上での方針
さて、パスワード管理と言っても、色々な作り方がありますし、それによってツールも変わってきます。
当サイトとしては、下記の開発ツールと開発言語、アプリの種類を採用したいと思います。
理由については、こちら に解説しています。
開発ツール | Visual Studio 2019 Community |
開発言語 | C# |
開発環境 | Windows10 、Microsoft .NET Framework 4.7.2 |
動作環境 | 同上 |
アプリの種類 | デスクトップアプリ(Windows Form) |
では、簡単に解説しておきます。
開発ツール
開発ツールは、これから作るツール(プログラム)の画面レイアウト、処理手順のプログラミング、作ったプログラムの実行など、プログラム作成に必要な機能を備えたプログラムのことです。
Visual Studio 2019 Community は、IT業界でプログラム開発に広く使われているマイクロソフト製の製品です。
通常は有料なのですが、大規模開発に必要な機能を制限した Community 版があり、こちらは無料で提供されています。
個人ライセンスの抜粋を掲載しておきます。
個人ライセンス。お客様は、販売またはその他の目的でお客様独自のアプリケーションを開発している個人である場合、本ソフトウェアを使用して、当該アプリケーションを開発およびテストすることができます。
引用元:Microsoft Visual Studio 2019 Community版 ライセンス規約
つまり、個人で使う場合においては、販売する目的でも無料で使えるってことです。
企業については、ある一定規模未満(PCが250台以下、且つユーザー数が250名以下、且つ年間収益が100万米ドル未満)であれば、無料利用が可能です(詳しくは引用元のライセンスをご参照下さい)。
開発言語
開発言語はプログラミング言語の事ですが、今回はC#(C#.NET)というものを使います。
Visual Studio をインストールする際、下記の言語が選択できるようになっています。
- Visual Basic
- C++
- C#
- Python
- F#
- HTML
- Java Script
- TypeScript
- Node.js
ただ、Windowsデスクトップアプリを開発するのであれば、C#かVisualBasicが一般的であり、この2つを比べると、圧倒的にC#の方が利用者が多いため、C#を採用しました。
開発環境とは、アプリケーションを開発する
開発環境
開発環境とは、開発で用いるOSや開発ツールの事です。
今回は開発ツールは表の1行目に記述しましたので、開発環境からは除外しています。
OSがWindows10と書いていますので、アップルのMacでは動作しません。
厳密には、Mac用のVisual Studioもあるにはあって、似たようなことは出来るのですが、このサイトで取り上げるような作り方が出来ません。
もしMacを所有されている方は、Boot Camp を使ってWindows10をインストールしてもらえれば大丈夫です。
ただし、Windows10のライセンスを別途用意する必要がありますので、その点はご注意ください。
話はもとに戻しますが、ここで見慣れない 「 Microsoft .NET Framework 4.7.2 」というものが登場しましたね。
これは、マイクロソフトが提供する共通モジュール(共通クラス)とVisual Studio で作ったプログラムの実行する環境を併せ持ったソフトウェアの名前で「 マイクロソフト ドットネット フレームワーク」と呼んでいます。
この辺を解説すると長くなるのでここでは触れませんが、バージョンが色々とあって、今回は 4.7.2 というバージョンを使います。
Windows10に標準でインストールされているので、特に意識する必要は無いと思います。
実行環境
実行環境は、今回作ったプログラムが動作するために必要なOSや、その他の要件を書きます。
基本的に開発環境と同じなので、ここでは「同上」と記載しています。
趣味のプログラミングにおいては、開発環境と実行環境はイコールになることがほとんどですが、業務としてプログラム開発する場合、違う事も多いです。
アプリの種類
最後にアプリの種類ですが、デスクトップアプリ(Windows From)を採用することにしました。
Windows10にはタブレットモードとデスクトップモードの2種類があるのですが、デスクトップとはデスクトップモードの事を意味しています。

パソコンの種類でデスクトップパソコン、ノートパソコン、タブレットパソコン という分類がありますが、これとは違います。
それから、ややこしいのがWindowsアプリという表現です。
昔はWindows上で動くアプリのことをWindowsアプリと呼んでいましたが、Windows10が登場してから、タブレットモードで動作するアプリのことをWindowsアプリと呼ぶようになりました。
性格には Windowsユニバーサルアプリと呼ぶのですが、略してWindowsアプリとかユニバーサルアプリと呼ばれています。
今回はデスクトップアプリを選びましたが、デスクトップアプリにも2種類あって、今回はWindows Form という種類を選んでいます。
ややこしいですよね。
パスワード管理ツールの画面イメージ
さて、今回作るパスワード管理の画面イメージは以下の通りです。

機能としては
- カテゴリ、アプリ名、ID、パスワードの入力、削除、保存
- IDとパスワードをクリップボードへコピー
- カテゴリによる絞り込み表示
という、いたって簡単なものです。
この画面から、選択したサイトをブラウザに表示させたり、ランダムなパスワードを生成させたりといった事も可能ですが、今回はプログラムをシンプルにするために、必要最小限の機能に絞っています。
また、保存したデータはテキストファイルに保存されるのですが、そのファイルは暗号化していないため、ノートパッドなどのテキストエディタで中身を確認できてしまいます。
一通り完成したら、バージョンアップという事で、具体的な修正方法を解説したいと思います。
まとめ
今回は、これから作る「パスワード管理ツール」について、
- 開発ツール⇒Visual Studio 2019 Commumity
- 開発言語⇒C#
- 開発環境=Windows10 、Microsoft .Net Framework 4.7.2
- 動作環境⇒同上(開発環境と同じ)
- アプリの種類⇒デスクトップアプリ(Windows Form)
という取り決めをしました。
また、「必要最小限の機能に絞って開発し、それが終わったらバージョンアップについて解説する」という方針を説明しました。
次回から、実際にプログラムのソースコードと解説について細かく触れていきたいと思います。