Webアプリケーションとは何か、を相対的に紐解く
Webアプリケーションを相対的に見つめてみよう
いろんなアプリケーションを知れば、相対的にWebアプリケーションが何かが分かるであろう。
Webアプリケーションを作ろう!となったときに定義があいまいでない方がいいだろう。
というわけで下記では、
- デスクトップアプリケーション
- モバイルアプリケーション
- Webアプリケーション
- ゲームアプリケーション
- 組込みシステムアプリケーション
の5つをざっくり解説して、相対的にWebアプリケーションとは何かを理解してみる。
デスクトップアプリケーションとは
デスクトップアプリケーションの具体例
コンピューター上の、OS上の、GUI上で動くアプリケーションのことである。
ざっくりいうと、パソコン画面上で動くアプリケーション。
具体的にしてみると、
HP製のPCの上の、Windows11上の、デスクトップ上で動くアプリケーション。
Raspberry Pi 上の、Raspberry Pi OS上の、デスクトップ上で動くアプリケーション。
さらに具体的に言うと、
ブラウザはデスクトップアプリケーション。
Visual Studio Code はデスクトップアプリケーション。
メモ帳 も 電卓 もデスクトップアプリケーション。
コマンドプロンプト も ターミナル もデスクトップアプリケーション。
Word も Excel もデスクトップアプリケーション。
デスクトップアプリケーションの特徴
PC上で動くので、インターネット接続の必要がない。
ネットに繋がないということは、セキュリティが結構担保される。
デフォルトでOSに入ってないアプリは、OSにインストールして利用する。
と言いつつも、ブラウザはネットに接続し、ブラウザの上でWebアプリケーションを動かすことが基本となる。
よってブラウザはデスクトップアプリケーションではあるものの、その機能はWebアプリケーションを動かすインターフェイスである。
デスクトップアプリケーションは、プログラミング言語を使って頑張って作る。
今自分が C# .NET Framework で作っている工場の生産管理システムも、デスクトップアプリケーションである。
WindowsOS上にインストールし、GUI上で利用し、社内LANにしか繋がず動かすアプリケーションである。
モバイルアプリケーションとは
デスクトップアプリケーションがPC上のOS上のGUI上で動くアプリであるので、それと比較すると理解は容易い。
スマホやタブレット上の、OS上の、GUI上で動くアプリケーションである。
具体的には
iPhone上の、iOS上の、GUI上で動くアプリーケーション。
Androidj上の、AndroidOS上の、GUI上で動くアプリケーション。
iPad上の、iPadOS上の、GUI上で動くアプリケーション。
LINE、写真、Map、カレンダー、電話、など
自身のスマホを見れば、モバイルアプリケーションが色々入っているだろう。
ブラウザとかNetflixとかYoutubeなどは、モバイルアプリであってもネットに接続し利用するものは多く、Webアプリケーションを動かすインターフェイスとして利用されている。
モバイルアプリケーションも頑張ってプログラミングして自作することができる。
Androidアプリ用の言語であったり、iOSアプリ用の言語であったり、WindowsPhoneアプリ用の言語もある。
どの端末のどのOSでアプリを利用したいのかを考えて言語やフレームワークを選択する。
Webアプリケーションとは
Webアプリケーションとは、ブラウザを介して実行されるアプリケーションのことである。
デスクトップアプリやモバイルアプリであるブラウザから利用する。
逆に言えば、ブラウザがないと利用できない。
具体的にはブラウザ上で利用するもの、
Amazon、Gmail、Netflix、楽天、ネットバンク、Youtube、などなど。
サーバーの中にデータベースやソースコードを配置し、それらを動かすことでWebアプリケーションが動く。
UI側は、HTMLやCSSやJavaScriptなどの言語で作られる。
動的なサーバー側は、PHP、Python、Ruby、Go、Javaなどで作られる。
ゲームアプリケーションとは
ゲームを実行するためのアプリケーション。
PS5、任天堂Switchなどを利用しゲームができるアプリケーションのことである。
最近ではPCやスマホ、ブラウザ上でゲームができる場合も多々あるため、
デスクトップアプリ、モバイルアプリ、Webアプリの一種とも言える。
その他アプリと同様、ゲーム開発が可能なプログラミング言語を利用して開発を行う。
グラフィック、音声、AI、通信対戦など、ゲーム独自の実装が求められるため、それらが可能な言語を利用する。
組み込みアプリケーションとは
機器や装置に内蔵されているアプリケーションのこと。
電子レンジ、炊飯器、ルンバ、洗濯機、などの家庭用のものが分かりやすい。
機器や装置があり、その中にアプリがあり、各機器が動作する。
他にも自動販売機の制御、自動車のエンジンの制御、工場の製造ラインの制御、飛行機の自動操縦など様々な組み込みアプリケーションが存在する。
一般的なアプリケーションと異なり、それぞれの機器に専用のアプリケーションが内蔵されている。
まとめ
それぞれのアプリケーションは、利用されるシーンが異なる。
また必要な機能なども異なる。そのため利用言語やフレームワークが異なっている。
必要な技術やプロトコルも異なるため、最適なものを学習しアプリケーションを作る必要がある。
Webアプリケーションは、ブラウザから動作するアプリケーションである。
Discussion