Web知識を勉強している人
Webアプリケーションの仕組みについて知りたいな!
上記のようなお悩みを持っている方はいないでしょうか?
この記事は上記のような疑問を解消するものとなっています。
- サーバーサイドプログラムとは?
- クライアントサイドプログラムとは?
- フレームワークとは?
- ライブラリとは?
- 入門的なWeb知識を習得したい方へ
Webアプリケーションという言葉を聞いたことがあるけれど、どのような仕組みになっているか分からないという方はいないでしょうか?
この記事ではWebアプリケーションがどのような仕組みで動いているのか見ていきます。
Webアプリケーションはコンピューター等のクライアントからのリクエストとWebサーバー等のサーバーからのレスポンスで動作しています。
サーバーはクライアントから受け取ったリクエストを処理し、処理結果をクライアントに送り返します。
サーバー側でクライアントから受け取ったリクエストを処理するプログラムをサーバーサイドプラグラムと呼びます。
一方、クライアント側でサーバー側から送られてきたレスポンスを処理するプログラムをクライアントサイドプログラムと呼びます。
このように、Webアプリケーションはリクエストとレスポンスのやりとりで成り立っています。
そこでこの記事ではWebアプリケーションの仕組みについて詳しく解説していきます。
気になる方は是非最後まで読んで頂ければと思います。
目次
1.サーバーサイドプログラムとは?
サーバーサイドプログラムとはサーバー上で動作し、クライアントにレスポンスするためのプログラムです。
サーバーサイドプログラムは具体的にどのような所で使用されているのでしょうか。
最近、私たちはECサイトで買い物することが増えてきています。
このECサイトではサーバーサイドプログラムが使用されています。
ECサイトでは顧客管理、注文内容、金額等のデータをサーバー側で管理しており、ユーザーに応じて保存するデータや表示するデータを変えています。
他にも、病院の予約管理、レストランの注文受付、レンタルショップの貸出情報等、様々な所でサーバーサイドプログラムが使用されています。
このようにサーバーサイドプログラムは私たちの見えない所で動作しており、私たちの情報を管理してくれています。
サーバーサイドプログラムに使用される言語は多岐にわたり、PHP、Ruby、Python、java、Perl等で作られています。
サーバーサイドプログラムを組むために言語の習得だけでなく、必要に応じてデータベースにデータ保存、検索、更新等を行うので、色々な知識が必要になります。
Webアプリケーションについて詳しく知りたい方は是非「Webサーバを作りながら学ぶ 基礎からのWebアプリケーション開発入門」をご覧ください。
2.クライアントサイドプログラムとは?
クライアントサイドプログラムとはサーバーから送られてきた処理結果を基にクライアントで動作するプログラムです。
クライアントサイドプログラムは具体的にどのような所で使用されているのでしょうか。
私たちは調べたいことがある時、検索エンジンにURLを入力すると、Webサイトがブラウザに表示されると思います。
この時にWebサーバーからHTML、CSS、JavaScript等のファイルをクライアント側に送り、クライアントサイドプログラムが実行されてWebページが表示される仕組みになっています。
Webアプリケーションについて詳しく知りたい方は是非「Webサーバを作りながら学ぶ 基礎からのWebアプリケーション開発入門」をご覧ください。
3.フレームワークとは?
Webアプリケーションのニーズが増えてきている中、迅速にWebアプリケーションを開発することが求められており、構築の都度、一からシステムを構築することは適切ではありません。
そこでフレームワークがWebアプリケーション開発で広く使われています。
できる限りWebアプリケーションの共通部分を予め開発して、共通する部分以外の機能開発に特化することで開発スピードを上げることができます。
フレームワークとは全体の処理の流れが実装されており、全体の処理の流れの一部を実装して付け加えることができるシステムのことです。
Webアプリケーション開発時に、複数のビジネスロジックをフレームワークとしてまとめることで、Webアプリケーションを効率的に開発することができます。
Webアプリケーションのフレームワークはクライアントサイドプログラムとサーバーサイドプログラムの両方で使われています。
フレームワークを使用するメリットは以下の通りです。
- 頻繁に使用される機能をフレームワーク化すると、Webアプリケーション開発期間を短縮することができます
- フレームワークを使用することでプログラミングを共通化することができます
- フレームワークで共通化されているため、Webアプリケーションのメンテナンスが容易になります
4.ライブラリとは?
フレームワークとライブラリはよく混同されがちですが、フレームワークとライブラリの意味は異なります。
フレームワークはある機能に対する設計の枠組みとして提供する一方、ライブラリは機能自体を提供します。
ライブラリの例として、圧縮、画像操作、ネットワークプロトコルなどの機能自体が挙げられます。
フレームワークとライブラリのイメージ図は以下の通りになります。
フレームワークのイメージ
5.入門的なWeb知識を習得したい方へ
最後まで読んで頂きまして、ありがとうございました。
もっと入門的なWeb知識を学びたいと思っている方はいないでしょうか?
そんな方に「この一冊で全部わかるWeb技術の基本」という本がオススメです。
初学者がいきなりWebに関する専門書を読み始めると挫折することが多いです。
そこで途中で挫折せずに最後まで読み切れて、Webの全体像を把握するのに便利な一冊になっています。
この本は初めての方にも読みやすいように見開き1ページで文章と図を織り交ぜて端的に解説されています。
この本で全体像を理解してから専門書を読むと取り組みやすいかと思います。
もし、Webに関する入門的な知識を幅広く知りたいと思った方はこちらの本を是非読んでいただければと思います。
6.ポイント
- サーバーサイドプログラムとはサーバー上で動作し、クライアントにレスポンスするためのプログラムです
- クライアントサイドプログラムとはサーバーから送られてきた処理結果を基にクライアントで動作するプログラムです
- フレームワークはある機能に対する設計の枠組みとして提供する一方、ライブラリは機能自体を提供します