はじめに
この記事はWebアプリケーション開発の勉強のメモです.これから勉強していく人の参考になればと思います.
理解不足な部分もあるので,間違っている点があればご指導よろしくお願いします.
Webアプリケーションとは
まずはWebアプリケーションについてWikipediaで調べると以下のように出てくる.
ウェブアプリケーション(Web application)は,ウェブ(World Wide Web)技術を基盤としたアプリケーションソフトウェアである.
Wikipediaより引用(https://ja.wikipedia.org/wiki/ウェブアプリケーション)
「World Wide Web」というのは“世界に広がる蜘蛛の巣”という意味で,世界中のインターネット上にある無数のページをハイパーテキスト(複数の文書を関連付け,結びつける仕組みを持つテキスト)を利用して,公開,閲覧,利用できる仕組みである.ホームページのURLで登場する"http://www.~~"は,このことを指している.
⇒ WebアプリケーションはこのWWWの仕組みを利用したネットワークから使用するアプリケーションソフトウェア
[参考] インターネットとウェブの違いは?
よくインターネットとWebを同じ意味として認識されることがあるが,実際には似ているようで全く違うものである.

インターネットはInternet Protocol(インターネット通信に関する約束事を定義したプロトコル)を用いて,コンピュータ同士を繋いで提供される世界規模の情報通信網(技術)の総称である.それに対して,Webはインターネットを使った応用技術の1つということができる.EメールやIP電話などもインターネットを使った技術である.
Webアプリの例
Webアプリケーションをイメージしやすくするために,多くの人が身近に使っているWebアプリケーションの例を紹介する.
-
Google (https://www.google.com)
世界中で利用されている検索サイト「Google」には便利なWebアプリが備わっている.検索エンジンとしての機能に加えて,電車や車のルート検索,電卓機能,翻訳など様々な機能を利用することができる. -
YouTube (https://www.youtube.com)
世界で最も利用されている動画共有サイトの「YouTube」もWebアプリである.動画のアップロードや再生,評価やコメントなどを行うことができる.またアカウント管理機能によって,チャンネル登録やユーザのプレイリストの追加などの機能が利用できる. -
食べログ (https://tabelog.com)
グルメ情報サイトとして有名な「食べログ」もWebアプリケーションとして多くの機能が備わっている.指定した日付や時間,人数から空いているお店を検索したり,行きたいお店を予約することができる便利な機能が備わっている.また店舗の口コミや評価を見ることができ,多くの人に利用されている. -
Amazon (https://www.amazon.co.jp)
インターネット上で商品の売買ができるECサイトとしてAmazonもWebアプリケーションである.ECサイトとして必要な機能として,商品管理機能や受注管理システム機能,ショッピングカート機能やクレジットカード決済機能などが搭載されている.
ネイティブアプリとハイブリットアプリとは
アプリと呼ばれるものは大きく分けて3種類ある.
これまで説明したWebアプリに加えて,ネイティブアプリとハイブリットアプリがあり,それぞれに特徴がある.
○ネイティブアプリ
スマートフォンやタブレットのホーム画面に,App StoreやGoogle Playなどのアプリケーションストアでインストールして使用するアプリのこと.Webアプリと比較すると以下の特徴がある.
| メリット | デメリット |
|---|---|
| ・オフライン環境でも利用できる ・環境に左右されにくく,動作が早い ・端末の機能を利用できる(カメラや位置情報など) |
・開発コスト/期間がかかる ・アプリケーションストアに公開するのに審査が必要 ・開発における制限がある |
○ハイブリットアプリ
ネイティブアプリとWebアプリの中間に位置するもので,ブラウザでも端末にインストールしても使用できるアプリのこと.
例としてTwitter,Line,Zoomなどがあり,ネイティブアプリとWebアプリの特徴をそれぞれ活かしたアプリを開発することができる.
| メリット | デメリット |
|---|---|
| ・開発費用が抑えられる ・端末の機能を利用できる(ネイティブアプリと同様) ・メンテナンスが容易 |
・(ネイティブアプリと比較すると)動作が遅い ・細かな仕様変更が難しい |