Webシステム 、あるいは Webアプリ の 開発 を依頼するために
インターネット上で調べたり、
開発 会社と打合せしたりされると思います。

そんなとき、
「 Webシステム 」と「 Webアプリ 」
という言葉が使用されるのを見たり聞いたりした経験があるのではないでしょうか。
開発 の依頼を検討されているとき、
どちらを頼めばいいんだろうかと悩みますよね。
そこでこの記事ではこのふたつが同じなのか違うものなのか解説します。

 

「 Webシステム  」と「 Webアプリ 」の違い

インターネット上でも「 Webシステム 」と「 Webアプリ 」のふたつを、
異なるものとして説明されている場合と
区別せず同じものとして説明される場合があります。

ここでいきなり結論ですが、
「 Webシステム 」と「 Webアプリ 」に関しては、
この機能をつかっていたら Webアプリ、とか
このような動きをしていたら Webシステム、というような
明確な線引きはありません。

ですので、調べてみるとサイトによって定義はさまざまですし、
いわゆる IT業界で働く方たちの認識でも、
それぞれの言葉が指し示す範囲や内容は異なります。

ただし、言葉から喚起するイメージには違いがありますので、
そのイメージをつかんでおくと大きく話が食い違うこともないかと思います。

 

ところで、わたしたちのまわりには
「 デスクトップアプリ 」
というものもあります。
たとえばMicrosoftのWordやExcelがそれに該当します。
「 デスクトップアプリ 」は主にPC上で動作するアプリケーションで、
アプリケーション本体はPC内にあり、PC単体で動作します。

それに対し「 Webアプリ 」はPC、スマホ上で動作する点は同じですが、
アプリケーション本体はサーバー上にあり、
インターネットに接続した状態で動作する点が異なります。

つまり、インターネットに接続していなくてもPC、
スマホ単体で動作する「 デスクトップアプリ 」の対比として
「 Webアプリ 」は存在するとイメージしておけば理解がスムーズです。

 

一方、「 Webシステム 」は上と同じく、
PC、スマホ単体で動作する「スタンドアローンシステム 」の対比として
インターネットに接続している状態で動作する「 Webシステム 」が存在すると
イメージしておけばこちらも理解がスムーズです。

いずれにしても「 Webアプリ 」と「 Webサービス 」に
明確な違いはなく、使用されているというのが実情です。

 

「 Webアプリ 」と「 Webサービス 」の語句の定義は?

この説明はあくまでも理解を助けるためのもので、
正確性を脇に置いたものです。
辞書的な定義はどうなっているでしょうか。
ひとつの手がかりとしてWikipediaを調べてみました。

日本語版Wikipediaには「ウェブ アプリケーション」の項目には

「このように ウェブ を基盤として作られる応用ソフトウェアを
ウェブ アプリケーション( Web アプリ)と総称する。
(中略)また ウェブ アプリケーション の明確な定義は存在しない。」

と説明されています。

それに対して「 ウェブシステム 」の項目はありません。
つまり、「 Webアプリ 」に関してはインターネット全般と言えそうですし、
「 Webシステム 」に至っては項目すらないという状況です。

英語版Wikipediaについても同様です。

「 Webアプリ 」と「 Webサービス 」はほとんど同じ意味で使われていて、
前者はWikipediaに定義があるものの後者にはそれがないことから
「 Webアプリ 」と「 Webサービス 」に明確な違いはなく、
各人、各企業の慣習で使用されていると言えます。
Wikipediaに書かれているものが正解とは限らないにしても、
多くの人が共通の認識のものとして使っているものではなさそうです。

 

Webアプリ とは?

ここまでは「 Webシステム 」と「 Webアプリ 」は
ほとんど同じ意味で使用されることを説明してきました。
それでは Webアプリ とはどのようなものでしょうか。

Webアプリ とは、スマホやPCなどインターネットに接続したクライアント端末から、
サーバーに構築されたアプリケーションを利用する形態のシステムのことで
次のようなフローで処理が進みます。

Webシステム Webアプリの仕組み

1. ユーザーが クライアント サイド から サーバー サイド にリクエストを送信します。
2. サーバーサイド はリクエストを受信するとデータベースから必要なデータを取得します。
3. サーバー サイド がリクエストに応じて処理し、その結果を クライアント サイド に送信します。
4. クライアント サイド がレスポンスを受信し、ブラウザ上に表示します。

 

 ちなみに、データベースとはデータを格納する場所で、
データを取り出したり、削除したりといった操作が可能です。
Webアプリ では、必ずといっていいほど使用されています。

Webサイト と Webアプリ は似たような仕組みではありますが、
Webサイト が片側方向の通信であるのに対し、
Webアプリ はユーザーがクライアントサイド からブラウザ上で設定した情報をサーバーサイド に送り、
その情報を受け取ったサーバーサイド はそのアプリケーションに対応した処理をして、
クライアントサイド に返しブラウザに表示するという、
双方向の通信を実現できる点が大きく異なります。

また、Webアプリ はユーザー自身による
インストールやバージョンアップ作業が不要なので、
PCの アプリ や スマホアプリ と異なり、
ユーザーはブラウザからアクセスすれば、
常に最新バージョンの Webアプリ を利用できます。

クライアント と サーバー 間でのやり取り、
そしてデータベースの役割を把握することが、
 Webアプリ の仕組みの理解につながります。

また、弊社のトピックスの記事で、
「 Webシステム の 開発 の流れ」や、
「 Webシステム開発 の コスト ( 費用 ・ 予算 )」についてもご紹介しております。
より理解を深める情報として、これらの記事も参考にしてみてください。

 

Webアプリ の開発に必要なプログラミング言語

 Webアプリ のおおまかな流れが理解できたところで、
ここからはどのような言語によって開発されているか説明します。

●フロントエンド で使用される言語

HTML
CSS
JavaScript

これらはブラウザに表示される文字、画像などを指定したり、
そのレイアウトを作成したり、動きをつけたりするのに使用される言語です。
これらを クライアント サイド 言語、 フロントエンド 言語などと呼んだりします。

HTMLとCSSは、ブラウザに表示する内容を決めたり装飾したりできる言語です。
実はJavaScriptもこちらの分類で、HTMLで作ったページに動きをつけたりできます。

 

●サーバー サイドで使用される言語

PHP
Ruby
Python
JavaScript (Node.js)
‥など

これらはサーバーで行う処理を記述する言語で
サーバー サイド 言語あるいは バック エンド 言語と呼ばれます。
以前は JavaScript は クライアント サイド の言語でしたが、
サーバー上でも動かすことのできるNode.jsが登場しました。

C言語なども サーバー サイド での使用も可能ですが、
習得の難しさやエラー発生個所の特定やその修復の難しさなどの要因で
実際にそれらの言語で開発された Webアプリ は多くありません。

 

●データベース 上で使用される言語

SQL
データベースでデータの取得、保存、更新、削除などをする言語です。

この記事では Webアプリ と Webシステム は
ほぼ同じ意味で使用されていることを説明した上で、
Webアプリ の処理の流れやそこで使用される言語について紹介しました。

細かな内容をご理解いただくというよりも
大枠でのイメージをつかんでいただければ
実際に Webアプリ の開発を依頼する際にお役立ていただけると思います。

SIA では Webシステム・ アプリ 開発 のご依頼を承っております。
ECサイト、マッチングサイト、予約システムなどのBtoC向け Web サービス や
社内で使用する業務用の Webシステム の実績も多数ございます。
過去の実績で培ったノウハウを活かしたご提案をいたします。
ぜひお気軽にお問い合わせください!

Accessibility Toolbar