😗

webサイトとwebアプリの違い (ソフトウェアやスマホアプリの違いも説明出来たら)

2022/01/13に公開

はじめに

「HTMLやCSSやJavaScriptってwebサイトを作成するときに使用するんだよね?」と話が上がった時に「webアプリを作成する時にも使うんよ」となったので、2つの違いを今回はまとめていきます。次回はフロントエンド、バックエンド、インフラ(なぜこの3つが同じくくりなのかは僕の感覚)を話して、HTML~とかの話に入ろうと思います。

2つの違い

それは、動く動かないかです。webアプリは動きます。webサイトは動きません
webサイトと言えば何を思い浮かびますか?どこかのホームページや誰かのブログ。それではwebアプリと言えば? スマホ(ネイティブ)アプリと言えばパッと思いつきますが、webアプリとなるとパッと思いつき辛いですよね。webアプリはYoutubeやInstagram、Twitterなどがあります。「スマホアプリじゃん!」となると思いますが、どっちも正解です。web上で動くアプリであればwebアプリになります。それでは、このzennというサイトはwebサイトなのかwebアプリなのか。正解はwebアプリです。まー正直この2つに厳格な違いがあるのかどうなのかは分かりませんが。では次に問題なのは「動くってどうゆうこと?」です。「webサイトもリンク押すと移動するから動いてるじゃん!」ってなりますが、あれはHTMLの機能で動いているだけで、僕が言っている動くとは違います。まずはどうゆう仕組みでwebサイトとwebアプリが構築されているのかを見ていきましょう。

webサイトの仕組み

webサイトはシンプルです。webサイトのサーバに作成したファイルを格納し、そこをクライアントに送信して画面の出力を行っています。

webアプリの仕組み

webアプリは複雑です。webサイトのサーバは同じですが、新しくwebAPIやDBが出てきてます(ここの説明はまた今度します。)。例としてユーザを登録しておりますが、このようにリアルタイムでwebAPIと通信をしDBに登録してる動きをしています。

※赤波線がありますが修正が面倒なので見てないふりをしておきます。
なんならwebAPIサーバの表示もずれてる。orz

結論(動くとは)

上記の説明で勘付いた方もいると思いますが、僕の言っている動くとはリアルタイムでwebAPIと通信をしDBに登録です。実際にwebサイトもwebAPIと通信します。しかしwebAPIからデータを取得するだけで、実際に登録などはしておりません。なのでホームページでも何かの登録を行っていれば、それはwebアプリだと僕は思っております。今後webアプリを制作していくとwebAPIやDBを構築し、ここら辺の仕組みや構成が理解してくるので、2つの違いが分かると思います。

まとめ

この話だけを見ると「なんのこっちゃ」かもしれませんが、これからまとめていく上で先にこの2つの違いをハッキリさせたいなと思ったので先にまとめました。僕も最初はこの違いを理解できておらず、webアプリを色々勉強していくうちに勝手に自分の中でこうゆう結論に至りました。
実際の違いはどうなんですかね?機能性の違いのほうが完結で分かりやすかったも...。

ソフトウェアとかスマホアプリとか

スマホアプリはwebアプリとほとんど一緒です。
(※ちなみにスマホアプリのことはネイティブアプリと呼びます。ソフトウェアもネイティブアプリと呼んでいいのか分かりませんが、ローカルで動くからいいのか?)
違いは上記にあるようにwebで動かすかスマホやPCで動かすかです。あとは機能の違いがあったりしますが。ただし作り方は全然違うので、もし「スマホアプリが作りたい」という人はフロントエンドの部分は僕の記事は参考にならないと思います。バックエンドやインフラは約に立つとは思いますが、ネイティブアプリをメインにまとめてる方を参考にしたほうがいいです。
「どちらの開発を勉強したほうがいいか?」は好きなほうを勉強するのがいいと思います。webアプリは媒体をあまり気にせず作れますが、ネイティブは媒体をPCやスマホと決める必要があり自由度が低くなるかもしれません。「こうゆう機能を付けたいのに作れないよ!」とかはあるかもしれませんし、それはwebアプリにも言えることなので一長一短かも?って気がします。ただ安定はwebアプリなのかな?って気はしますが、みんなが勉強するとネイティブアプリの需要が増えるのでネイティブアプリを勉強するのもありですよねー。あとはitunesやGoogle Storeに登録するのが手間なので、僕は手軽なwebアプリにした気がします。あとはPCのweb上で動くのがかっこよかったから笑 「両方勉強したい!」っていう人もいると思いますが、まずは1つずつ勉強しないとしんどいと思います。まー気軽に好きなほうを選びましょう。

あとがき

記事を書く順番って難しいですね。先に何を書こうか悩みます。
書きたいと思ったことを書けばいいとは思いますが、重複したりレベルの順番がぐちゃぐちゃなの僕は嫌なんですよねー。そうゆうのばっか無駄に考えていつも書く前にあきらめちゃうんですけどね笑 とりあえずこんな感じでちょこちょこあげれるように頑張ります。

Discussion