こんにちは!
ぼちぼち自分のアウトプットのための記事をいくつか投稿できていますが、今後とも月に1〜2個ほどの記事を投稿し続けようと考えています
この記事を投稿しようと思った理由
→自分が「Webアプリ」のことをよく理解できていなかったから...!
以前まで私はWebアプリのことを、「プログラミングを用いて開発を行なったもの」
であると考えていました。
簡単に言えば、プログラミングを使っていれば、それはもうWebアプリである!と考えていました。。(笑)
はい、全然理解してませんね。この人は、、
と実際にエンジニアとして働いている人から思われてもおかしくないぐらいの誤った考えを持ってしまっています。
このような背景から私のようなプログラミング初心者やプログラミングを始めようと思っている人が、自分と同じような誤った考えを持たないようにするために今回の記事を投稿しました。
もしこの記事を読んで、ほんの少しでも役に立った!と感じてもらえたら、
こんなに嬉しいことはない...!
(大学生である筆者は小さい頃、ガンダムをよく見ていた)
私が考えていたWebアプリとは..
→ネイティブアプリのことである...!
私はPythonを用いて、簡単なインベーダーゲームを開発したことがあります。
開発が終了したとき、やっと自分で手を動かして完成したWebアプリができた!と思いましたが、これは間違い。
私が開発したインベーダーゲームは、「ネイティブアプリ」 の特徴に当てはまるものです。
ネイティブアプリとは
端末にインストールして動作するアプリのこと。
外部と情報をやり取りすることはなく、その端末内で全て処理が完結する。
(具体例:Word、Excel、PowerPointなど)
ネイティブアプリはソフトを買って、パソコンにインストールすれば遊べるもの。
イメージで言えば、ゲームソフトと同じです。好きなソフトを買ってきて、ゲーム機に入れればすぐに遊ぶことができます。
つまり処理が完了すれば、ネットにつながなくても遊ぶことができるのが、ネイティブアプリです。
Webアプリの定義とは..?
→インターネットを通じて情報をやり取りするアプリのこと
「インターネットを通じて」というのはポイントで、端末の中だけで処理は完結せず、インターネットを通じて情報をやり取りしながら、処理を行なっているのが、Webアプリです。
(具体例:AmazonなどのECサイト、X(旧Twitter)やInstagramなどのSNS)
Webアプリには、サーバー、データベースなど様々な技術が協力することで初めて機能することができるものなのです。
まとめ
→プログラミングを用いて開発を行なっても、インターネットを通じていなければ、ネイティブアプリとなり、Webアプリとはならない...!!!
私と同じようなプログラミング初心者の方に伝えたいことはこのポイントです。
つまり何らかの開発をしても、インターネットを通じて処理が行われていなければ、これWebアプリじゃなくない...?
人によっては、このようにツッコまれてしまう恐れがあります。
これを回避するためにも、よく初心者がプログラミング学習を行う1番最初として、HTML&CSSやJavaScriptのフロントエンドだけでなく、
- Node.jsやPHP、Python、Rubyなどのバックエンドの言語、フレームワーク
- MySQLやデータベース関連の知識
以上に挙げたものや他のツールのことを学ぶことが求められる可能性があり、私も現在MySQLなどのデータベース関連の学習を行なっています。
私もこのことを初めて理解した時に、
今後開発を行う際に、今回の記事に記載した「Webアプリの定義」に当てはまるようにしなければいけないと気をつけるようにしています。
他の初学者の方に少しでも役にたった!と感じてもらえるように、記事を投稿させていただきました。
今後とも、お互いプログラミングの学習を頑張りましょう!!!!