記事の詳細

コードを組んでいるうちにいつの間にか違いを理解していたJavaScriptとphpの違いに関して、復習も兼ねて記事にしてみようと思います。

「バックエンド」や「フロントエンド」という難しい言葉は省いて、ざっくりと「どう違うのか?」「何故使い分けるのか?」という部分をご紹介します。

まず初めに「ブラウザ」と「サーバー」の仕事の違いを理解する

JavaScriptやphpの違いを考える前に、Webサイトを閲覧する際に必要な「ブラウザ」と、データを提供する「サーバー」の仕事を理解しなければなりません。

では、Webサイトを見るために使用している「ブラウザ」と「サーバー」はそれぞれどんな仕事をしているのか。各々の仕事の違いを見てみましょう。

ブラウザの仕事は?

ブラウザの仕事は「サーバーへの要求」と「サーバーから提供された情報に対する処理を行う」ことが主な仕事になります。
サーバーから提供されるデータにはJavascriptの記述もありますので、ブラウザではJavascriptの処理を行います。

サーバーの仕事は?

サーバーの仕事は「ブラウザの要求に対して必要なデータを提供する」ことが主な仕事になります。
ブラウザが要求したデータがphp形式であれば、phpで記述された箇所を処理して、データをブラウザ側へ提供します。

このように、ブラウザとサーバーは「要求」と「提供」をすることによって、様々なWebサイトを表示しています。

JavaScriptとphpの大きな違いは処理を行うタイミングにあります

見出しの通りですが、JavaScriptとphpの大きな違いは処理を行うタイミングにあります。
JavaScriptはブラウザ側で処理が行われて、phpはサーバー側で処理が行われます。

言葉ではなかなかイメージできないと思いますので、下記のようなソースコードを参考にして処理の流れを見てみましょう。

上記のソースコードをサーバーに設置してブラウザからアクセスをすると、phpの部分はサーバー側で処理が行われます。

サーバー側はphpの処理を行い、下記のようなコードに変換してブラウザ側にデータを送信します。

JavaScriptの記述はそのまま残るので、JavaScriptのコードはブラウザ側で処理されます。

phpはサーバー側で処理を行うため、データベースにもアクセスが可能となっています。そのため、記事のデータをデータベースに保管するCMS(WordPress等)ではphpの操作が必須となります。

ちょっとした余談になりますが、以前に私は下記のような記事を書きました。

「日替わり」や「期間限定」という言葉に弱いです、網干です。飲食店やスーパーマーケットで曜日替わりのサービスをやっているお店をよく見かけます。ですが、ホームペ...

上記の記事では、JavaScriptを使用して「現在の曜日」を取得していますが、phpでも同様の処理をさせることができます。

しかし、JavaScriptとphpでは処理を行うタイミングが違うため、結果が異なる場合があります。

例えば、パソコンの日付設定が月曜日で、サーバーの日付設定が火曜日だった場合を考えてみましょう。

JavaScriptでプログラムを組んだ場合は、パソコンの設定で処理が行われるため、今回の例であれば月曜日が出力されます。
一方、phpでプログラムを組んだ場合は、サーバーの設定で処理が行われるため、今回の例であれば火曜日が出力されます。

このように、パソコンの設定とサーバーの設定が異なっていると違う結果が出力されます。
そのため、Webサイトで機能を実装する際には、JavaScriptとphpのどちらで組むべきかを事前に決める必要があります。

ささいな疑問でも解消するだけに留めず、しっかりと理解しましょう!

いかがでしたか?

JavaScriptとphpの違いは、プログラムを組んでいる人は何となく理解した気になってしまう部分だと思います。
かく言う私も、半年ほど前までは何となくで組んでいましたが、ふとJavascriptとphpを交互に組んでいるうちに「あれ?どっちが先に処理されるんだっけ?」と初歩的な部分に躓いてようやく理解しました。

こういったささいな躓きで理解していくことが、プログラマーにとっては大事なことなんだと思います。

ではまた!

この記事であなたの課題を解決することができましたか?

疑問点があったり、解決できなかったことがありましたら、お気軽にご相談してください。


ほかの投稿も読んでみませんか?

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

相模原のお店やサービスをどんどん紹介!

行ってみよう相模原 相模原市のお店限定

飲食店

ページ上部へ戻る