JavaScript/PHP/MySQL/Apache/Nginxは基礎を広げる

JavaScript/PHP/MySQL/Apache/Nginxを学ぶことは、ウェブサイトのほとんど全部の機能を理解するのに必要です。

これらを学んでおくと、様々な機能を持ったウェブサイトを自分で作ったり、問題があればそれを見つけて修正したり、などの作業がこなせるようになります。

JavaScript/PHPの役割

ウェブサイトを閲覧する際に、ページ上部に常時更新される広告や、地図を組み込んだページ、3Dグラフィックのアニメーションなどを目にします。これらをウェブサイトに表示させようとすると、HTMLとCSSで文章とそのデザインを設計する以上のシステムが必要になります。それがJavaScriptです。JavaScriptがあれば、ウェブサイトに単に文章を表示させるだけでなく、上記のような複雑な機能を搭載できます。JavaScriptはほとんどすべてのブラウザで動くため、JavaScriptでウェブサイトを作っておけば、パソコンやスマートフォンなどあらゆる端末に対応するウェブサイトを作り出せます。

加えて、アクセスする側(=フロントエンド)にもウェブサイトを提供する側(=サーバーサイド)にも対応し、JavaScript一つでウェブサイトの大抵の機能をカバー出来てしまいます。ただし、ブラウザの種類によって動作が変わってしまうのが欠点です。マイクロソフトの「Internet Explorer」とアップルの「Safari」で同じページを表示させているのに、配置やデザインが変わってしまうことがあります。

これに対し、PHPは、サーバーサイドのプログラミング言語です。これも、インターネットを利用したサービスや、ウェブサイト上の各機能やアプリを構成するために使われます。「お問い合わせフォーム」や「メールアドレス・パスワード入力欄」などは、PHPを使用して作成されています。入力した内容の送信や、合否結果の表示などもPHPのおかげです。例えば、有名なSNSアプリ「Twitter」で何かをつぶやいたとき、送信画面から送られた内容を企業側(この場合はTwitter社)のサーバーに保存します。普段利用するインターネットの様々な機能を支えるPHPも、初心者向けのプログラミング言語です。自由度が高く、比較的動かしやすいためです。

実に、世界の3分の1のウェブサイトを作るのに使用されていると言われるオンラインツール「WordPress」もPHPを使用しているため、PHPを扱えるとウェブサイト製作において基本的な技術全般を身に付けられます。しかし、PHPはサーバーサイドで情報を処理するため、サーバー側にPHPがインストールされていることが前提です。

MySQLは何のため?

サーバーには、ウェブサイトの情報が沢山保管されています。上記で触れたWordPressは、そのデータの集まり=データベースにアクセスするプログラムの一例です。WordPressはそのための専用のプログラムであり、

  • 保存されたデータを読み出す
  • データを書き出し、更新、削除するなどを行います。

しかし、データベースがきちんと“整理整頓”されていなければ、データの読み書きが満足に行えません。そこで必要なのが、データベースを管理するシステム=MySQL(マイ・エスキューエル)です。MySQLがあれば、パソコンからの大量のデータの読み書き=アクセスに耐えることができます。しかも無料であるため、かなりの数の大企業が自社のホームページ運営に使用しています。

Apache/Nginxも必要になる理由

サーバーそのものは、閲覧するウェブサイトの情報が保管されたパソコンです。パソコンを使ってウェブサイトを見るとき、使っているブラウザから「これこれのページのデータ(HTMLファイル)を送れ」という指示が、そのデータを保管しているコンピューターに飛んでいきます。これに対して、そのコンピューターは指示されたウェブサイトの文書や画像などのデータを送信します。ブラウザは、受け取ったHTMLファイルを見やすくデザインされたウェブサイトとして表示します。この、ブラウザから指示を受け取るパソコンの事をサーバーと呼びます。

データを保管してウェブサイトを表示させるため、企業のパソコン専用室に設置されたさぞ特別なものかと思いきや、サーバーそのものは普通のパソコンと同じです。サーバーが特別なのは、サーバー用のソフトによります。このソフトのおかげで、そのパソコンはウェブサーバーとして機能するようになります。このソフトたちがApache(アパッチ)やNingx(エンジンエックス)です。この2つはライバル関係にありますが、どちらもサーバーを動かすソフトです。世界中で使用されており、この2つが世界中のほぼすべてのサーバーを動かしています。

これらすべてを合わせて一通り学んでおくと、環境構築して一通りの機能を付けたウェブサイトを作成したり、DOM操作でウェブサイトを作っているコード全体を理解し、編集できるようになります。ちなみに、DOMとは「HTMLなどのウェブサイトの“材料”なる言語を、JavaScriptなどのプログラミング言語で“料理”するための仕組み」です。