✒️ 第01回開発環境について
今回から、数回に分けて開発環境について記述していきたいと思います。
まずは、想定しているプログラムの全体像からの話ですが、そもそもは、Windowsであれば、Visual Basic, MacであればXCodeなどを使用して作成する デスクトップアプリケーションをイメージしています。
ただ、これらのツールを取り揃えるには、少なからずコストという問題が発生します。
昨今は、WEBクライアント技術を使えば、ブラウザの中だけという限定した世界であれば、オープンソースを利用し、プログラムを作成することが可能です。
かつては、ブラウザの中のJavaScriptで作成したプログラムは、データやファイルを保存することが難しかったのですが、最近では、ドメインは縛られますが、キャッシュの中に、それらを保存することが可能となっています。
今回採用した技術も、オープンソースをベースとした、それらの技術になります。今やJavaScript, HTML, CSSでデスクトップアプリケーションに近いプログラムを実現することが可能なのです。
しかし、WEBクライアント技術といっても、たくさんの技術が存在します。 数ある技術の中で、私は、下記の点を念頭に、技術の絞り込みを行いました。
- オープンソースで無償であること
- 商用利用可能なライセンスであること
- 軽量化の為、極力フレームワーク利用を避けること
- サーバー環境はプログラム配布のみに限定すること
- プログラムのデータはクライアントに保存すること
- マルチプラットフォームであること
- 運用に費用が発生しないこと
- 身近に手に入るものであること
結果、私が選んだ主な技術は以下のものになります。
| 項目 | 採用技術 |
| オペレーティングシステム | Windows11, MacOS, iPadOS, iOS, Android, ChromeOSなど |
| ブラウザ | Google Chrome, FireFox, Safariなど |
| 開発ツールなど | Node.js, Visual Studio Code |
| バージョン管理 | Git, GitHub |
| ファイル環境 | OPFS(Origin Private File System) |
| データベース環境 | Sqlite3 |
※ オペレーティングシステムについては、開発環境としてはWindows11、その他のOSに関してはテストでの使用にとどめています。 ※ ブラウザについては、開発環境としてEdge、その他のブラウザに関しては、テストでの使用にとどめています。 ※ WEBパーツなどは、都度プロジェクト毎に選定することにしました。
これだけで、GUIプログラムが作成できてしまうという現実に驚愕します。
この中で、明確に導入作業を行う必要があるのは、下記の3点です。
- Node.jp
- Visual Sudio Code
- Git
サーバーを構築することを考えると非常に簡素です。Sqlite3などは、ダウンロードするだけです。 もし、Visual Studio Code、Git、Node.jpを使用しなければ、厳密には、Windowsパソコンさえあれば、導入作業も必要なく、開発をすすめることが可能です。しかし、言い出しておいてなんですが、流石に、極論な気もします。。。
以上が、開発に必要な最小限の技術になります。