支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


【はじめに】

Web開発する上でのプログラム言語と言えば、JAVA、JavaScript、PHP、Ruby、Pythonなど多数ありますが、中でもJavaScriptは近年、世界中で最も使用されているプログラムミング言語となっております。 JavaScriptはWebサイトやスマホアプリ、ゲーム開発等様々な用途で使用されており、Webサイトにおいては8割以上のサイトで使用されるくらい普及しています。
しかしJavaScriptも最初から人気があったわけではなく、低迷する時期を乗り越えて、最も使用されるプログラム言語となりました。

【JavaScriptの誕生】

JavaScriptは1995年にNetscape社の技術者ブレダン・アイク氏によって開発されました。開発された当初は「JavaScript」ではなく「LiveScript」という名前でしたが、当時、現在のOracle社に当たるサン・マイクロシステムズ社が開発したJAVAが大きく注目されていたため、Netscape社はサン・マイクロシステムズ社と業務提携していたこともあり「JavaScript」に変更されました。
当時Netscape社はNetscape Navigatorと呼ばれるブラウザを開発していましたが、JavaScriptは1995年にNetscapeNavigator2.0で初めて実装されることになりました。しかしJavaScripttはその後10年程は、ライセンスの使用権を巡る争いによりブラウザ間での互換性がなかったり、セキュリティの脆弱性をつくウイルスに狙われたりすることもあり、低迷することとなりました。

【JavaScriptの復権】

しかし、2005年になり、Google社がJavaScriptのAjax技術を使ったGoogleマップを発表し、JavaScriptは一気に注目を集めるようになりました。
それまでの地図アプリといえば、地図を移動するには、表示されている地図の前後左右に矢印ボタンなどがあり、その矢印ボタンを押して移動させていましたが、押すたびに毎回Webページのリロードが掛かって地図を再表示させており、非常に時間がかかっていました。しかし、Ajax技術を使ったGoogleマップでは、地図を移動す流のに画面をスライドすると、Webページのリロードをせずに動かした分だけのデータを読みこみ表示してくれるため、再表示のための待ち時間もなく非常に使いやすいものとなり、この技術をきっかけに世界中の技術者達がJavaScriptを注目して使用するようになりました。

【Ajaxについて】

ここでAjaxの仕組みについて説明します。
Ajaxは「Asynchronous JavaScript and XML」の略で、JavaScriptでサーバー側と非同期通信を行うための技術です。まず、Ajaxを使用する準備としてサーバー側にHTML、CSS、JavaScriptのプログラムを置きます。ユーザー側からブラウザを通してサーバ側にWebページの最初のリクエストがあると、サーバーからはHTMLとJavaScriptを返します。ここまでは従来の動きと差はありませんが、ユーザー側からこのWebページから別の関連ページを表示させるようなリクエストがあった場合、従来の方式では別のHTMLファイルを丸々読込みWebページの更新を行っていました。しかし、Ajaxでは新しいHTMLファイルを読込むのではなく、サーバ側からJSONと呼ばれるデータを返します。このデータをJavaScripttでWebページに表示させていくという仕組みとなっております。

Ajaxの他の使用例として、Webサイトで何かの会員登録ページの入力フォームなどで入力内容に誤りがあった場合に即座にエラー内容を表示してくれたり、Twitterのいいねボタンを押したときに画面上のいいねの数のみ更新されますが、こういった処理もAjaxを用いた非同期通信により実現しています。
Ajax機能は、2005年に出てきたprototype.jsや2010年に出てきたjQueryといったJavaScriptライブラリに多数収められており、簡素な記述で容易に使えるようになったのと、ブラウザ間での互換性も保てるようになったことで、Ajax技術はますます普及することとなりました。

【Node.jsについて】

また、ここまではJavaScriptはフロントサイド側でしか動かせない言語とされてきましたが、2010年にサーバーサイド側でもJavaScriptが動作する実行環境であるNode.jsが開発されました。
従来のWebサーバーは同時アクセス数が増えるとパフォーマンスが低下していましたが、Node.jsは非同期通信を組込んでおり、データの送受信の完了を待たず、それぞれ並列処理が可能な方式を取っており、これにより大量アクセスにも耐え、高速処理を実現することが出来ました。

【まとめ】

現在、Node.jsはサーバーサイドでの実行環境のシェア率としては第1位となっており、JavaScriptはフロントサイドにおいてもサーバーサイドにても最も使用される言語となっております。今後、JavaScriptはますます発展していくプログラム言語であると言えるでしょう。