※本ページはプロモーションが含まれています

小僧の教えてIT

Webアプリの主役に躍り出た! プログラム言語夜話 第8話 JavaScript

2024年7月29日


浦和レッズというサッカーチームは、Jリーグが始まった1993年、ぶっちぎりの最下位でした。
チームは、バラバラ、まとまりなく、勝てる気配もありませんでした。
翌年、ドイツ代表のギド・ブッフバルトが移籍するとチームが見違えるように動き出し上昇開始
一時は、J2に落ちたけど2006年ついにリーグ優勝することができた。
その時の監督は、選手時代からレッズを支えてくれたギド・ブッフバルトであった。

異論は、あると思いますが、ギド・ブッフバルトという選手が加入したことにより生まれ変わった浦和レッズ
当時サポーターであった自分は、彼が、サッカー王国から来た救世主に見えました。

今回の小僧の教えてITは、
Webアプリの主役に躍り出た! プログラム言語夜話 第8話 JavaScript
と題して
現在絶好調のJavaScriptという言語について
「なるほどこれは、主流になるわけだ」
ということを覚えていただけたら幸いです。

注意:このブログは、JavaScriptの解説やテクニック講座ではありませんのでご注意ください。

スポンサーリンク

Netscape(ネットスケープ)生まれ

Netscape Navigator(ネットスケープ ナビゲーター)というブラウザをご存知でしょうか?
現在、Chrome(クロム)というGoogle製のブラウザが主流ですが、インターネットが普及し始めた1995年ごろ普及したブラウザです。
当時は、MicrosoftのInternet Explorer(略称 IE)と2分する人気でした。
このNetscape Navigatorは、現在のブラウザ(ChromeとかSafari)などでも使われているCookie(クッキー)やFrame(フレーム)を備えたもので先進的なものでした
JavaScriptの開発者は、Netscape Navigatorの開発会社であるNetscape Communications Corporation(ネットスケープコミュニケーションズ)ののブレンダン・アイク(英: Brendan Eich、1961年 - )です。

ブラウザ戦争

今では、信じられないと思いますが、当時(1995-1997)は、ブラウザによって表示できたりできなかったりというページが、当たり前のように存在していました。
やがて、MicrosoftのInternet Explorerが主流となりNetscape Navigatorは、シェアを落としてしまいます。

そのNetscape Navigatorに搭載されていたのが、JavaScriptです。
Netscape Navigatorは、1995年にCookie(クッキー)やFrame(フレーム)そしてJavaScriptというインターネット(ブラウザ)の発展に大きな影響を与えた3つを発明していたのです。

発表当時は、LiveScriptと呼ばれていましたが、Javaの開発で有名になったSun Microsystemsと提携していたためLiveScriptは、JavaScriptと命名されました。
ですから、Javaという言語と関わりは、名前以外、まったくありません。

JavaScriptは、当初、Netscape Navigatorでしか動作しなかったため、使っているブラウザで判断してJavaScriptを使うかVBScript(Internet Explorerのスクリプト)を使うかプログラムを分けて記載していました。

自分は、1996年ごろ、Eコマースの仕事をしていたので覚えていますが、Netscape Navigator用、Internet Explorer用と同じサイトで2つ作成して2つのブラウザで試験をしていました。
他のブラウザは、無視です。

というぐらいNetscape NavigatorとInternet Explorerは、2大勢力が争っていました。
やがて、Internet Explorerが、いろいろな理由でシェアを獲得し、互換性のためにJavaScriptを取り込んだのですが、これがまた、方言があったので同じプログラムが使えず、サイトを2つ作成して2つのブラウザで試験をしていました。

やがてNetscape Navigatorは、FireFoxへとつながり、Internet Explorerは、Edgeへと発展しますが、Googleが開発したChromeが、シェアを奪っていきました。
AppleのSafariは、Netscape Navigatorの流れになります。

[amazonjs asin="4873116767" locale="JP" title="ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化"]

統一は血を流す?

Netscape Navigatorは、シェアを奪われ衰退しましたが、JavaScriptは、支持され、1997年に情報通信システムの標準化組織(Ecmaインターナショナル)で認証され標準化されます。
やっと、JavaScriptは、プログラム言語としてほとんどのブラウザで使えるようになったのです。
1995年~1997年の混乱した時代は、終了、私のようにブラウザの違いで苦労していたプログラマーに光が見えてきました。
しかし、ブラウザ互換問題は、2000年ごろまで続き、ブラウザの違いで泣いていた記憶があります。

特徴

JavaScriptは、基本、スクリプト言語でコンパイラーは、ありません。
HTMLという形式で書かれたWebページに組み込んで使われることが多く、速度もそれほど速くありませんでした。
現在では、速度も改善されました。

JavaScriptは、インターネットの発展とともに標準化され、Ajax、jQueryなどの拡張機能やライブラリー(便利なものの集合体)、ダイナミックHTML (DHTML)という 動的な動きを実現させる技術が開発、単に文字と画像しか表示できなかったWebページに多彩な表現方法が加わることになります。
ただし、セキュリティの問題があるため、原則、OSやローカルファイルには、触れないようになっています。

サンプル

例のごとく Hello World
console.log("Hello World!");

これだけでは、雰囲気が伝わらないのでHTMLに組み込んだ形でご紹介します。

この<script></script>に囲まれたところが、JavScriptとなります。


一般的には、上記のようにHTMLというWebページを構成している中に記載することが多いです。

Node.jsの登場

現在のWebページは、高速にサクサクと動き、オフラインでも動作するのが当たり前になりつつあります。

そのテクノロジーは、Node.jsという画期的なソフトウェアが登場したことからはじまりました。
2009年、ライアン・ダール(Ryan Dahl)は、Node.jsというテクノロジーを発表しました。

Node.jsは、米グーグル(Google)が「Chrome」用に開発したJavaScriptエンジン「V8」を取り出し、デスクトップPCやサーバー上で実行できるようにしたソフトウエアです。
Node.jsは、オープンソースとして開発されていて、様々なOS上で移植されています。

基本的にJavaScriptは、ブラウザ上でしか使えませんでした。
しかし、Node.jsを使うことによって、同時に大量のデータを捌き、動画配信やチャットアプリ、ゲームの開発、複数のユーザーが同時接続等が実現可能となったのです。

詳しい技術的な話は、専門書に任せるとして
Webページという情報表示が主であった表現手段が、アプリケーションとして動き始めたのです。

将来性

今までのWebページ開発は、
サーバ側
PHP,Java
ブラウザ側
JavaScript
というのが一般的でした。

Node.jsの登場で
サーバ側
JavaScript
ブラウザ側
JavaScript
となります。

そうです。
JavaScriptとNode.jsが使えれば、高速にサクサクと動き、オフラインでも動作するアプリケーションが作れるようになりました。

単一言語ですべて開発できるので開発コストも抑えることができるため、JavaScriptとNode.jsというコンビ技が現在主流となりつつあります。
求人もJavaScript使いが、増えてきました。

JavaScriptですべて開発できることをUniversal JavaScriptと読んでいます。
現在、ネットフリックス(Netflix)や米ペイパル(Paypal)など、多くのIT企業でUniversal JavaScriptが採用されています。

暫くの間は、ブラウザで動作するサービスは、このNode.jsとJavaScriptが主流になることでしょう。

[amazonjs asin="487311621X" locale="JP" title="開眼! JavaScript ―言語仕様から学ぶJavaScriptの本質"]

まとめ

浦和レッズは、ギド・ブッフバルトの加入でチームが変わりました。
JavaScriptは、Node.jsの登場でWebサービスの主流となりつつあります。

スマートフォンのアプリケーションもWebアプリケーションを使っているものが増えてきました。
WebアプリケーションならばiPhoneとAndroidでの開発コストを下げることが可能なのです。

Javaから名付けられたJavaScriptは、Javaが有料化さえるという状況でさらに注目されることになるでしょう。
どこかの企業が権利を所有しているというわけではないので開発に使用しても大丈夫そうです。

JavaScriptは、今が旬と言えるかも知れません。

では、また、次回 お楽しみに・・

プログラム言語 夜話 前夜祭

今週から新しく連載を開始いたします。 そのタイトルは、ズバリ! 「プログラム言語 夜話」 この連載では、星の数ほどあると言われているプログラム言語から、毎週1つをピックアップ プログラムの書き方をレク ...

-小僧の教えてIT
-,

Copyright© IT小僧の時事放談 , 2024 All Rights Reserved Powered by AFFINGER5.