JScript と  VBScript



 
JavaScript とJScript
 

 Netscape が、Sun と共同で JavaScript を開発したのが 1995 年のことでした。
  1995 年、Windowsを無事デビュウさせたMicrosoft は、JavaScript同等機能を Internet Explorerに搭載することを考えていました。Netscape は Microsoft へのJavaScriptライセンスを認めませんでした。そこで、 Visual Basic を元に開発した VBScript とともに、JScriptを組み込んだ Internet Explorer 3.0 を世に送り出しました。 1997 年のことです。JScript と VBScript は、スクリプトを解釈する部分はそれぞれですが、ウェブページを操作する部分は共通です。Microsoft は後発会社としてJavaScript互換の建前と自社テクノロジーの本音の二本立てで勝負を賭けたことが分かります。
  当時、Sun Microsystems社のネットワークテクノロジーJavaがネットを制覇すると見られていました。アプレットというプログラムを送信することでインターラクティブなネット社会が思い描かれていました。これに対抗するMicrosoftの答えがActiveXでした。

 

JScript
 

 NetscapeのjavaScriptはオブジェクト指向言語として開発されました。ブラウザをコントロールするものです。ページを閲覧するクライアント側で有効ですが、サーバー側からjavaScriptをコントロールすることは出来ません。ページのjavaScriptにはドライブのファイル読み書きの機能はありません。フォームからの入力は、サーバーとクライアント間でやり取りされるデータに環境変数として乗せて送られます。パソコンに記録されることはありません。
 このブラウザと連携して双方向の会話が出来るのがサーバーサイドのCGIです。 フォームからの入力を受け取り、ページを書き直して返送します。すべてサーバー側で処理が完結します。唯一、クライアント側のパソコンのCOOKIEという決められた場所だけにデータを書き込むことができます。
 javaScript互換機能のJScriptはファイル入出力をサポートしています。さらに、 ActiveXオブジェクトを通じてアプリケーションやOS自体にアクセスできます。 このJScriptと連携するVBScriptはサーバー側でも使えます。すべてMicrosoftWindowsOSという限られた範囲限定ではありますが、シームレスにスクリプトが動作可能です。ブラウザの機能制限オプションのみがセキュリテイの決め手となります。極めて重要なポイントです。

 

ActiveXオブジェクト
 

 MicrosoftWindowsOSはアプリケーションに対して基本機能をAPIとして提供する構造です。それと引換えに、アプリケーションは直接ハードウエアにアクセスしないのがルールです。この構造は、アプリケーションが共通部品から構成されている事を意味し、アプリケーション間の連携が容易なことは想像できます。
 Windows 95をリリースすると即刻、Microsoftはインターネットを戦略の前面に掲げ Windows 98でOLEをActiveXコントロール (コンポーネント) に模様変えしました。インターネットのブラウザは当然ActiveXコントロールから組立てられています。
 ActiveXコントロールの本質はCOM(Componet Object Model)と呼ばれるアプリケーション間通信です。
 システムとして大規模になったパソコンOS,アプリケーションですが、OSの部品はEXCELのようなアプリケーションにも利用されます。ブラウザにも利用されます。パーツであるプログラムは形が決まっていません。利用する時に初めて値を決めます。プログラム用語の「オブジェクト」がこのパーツに対応すると考えていいでしょう。「インスタンス」という用語がよく出てきますが、オブジェクトにインスタンスを与えるということは、この事を反映している訳です。
 共通部品を利用するには、インターフェースがいります。中身を一々点検しなくてもインプットに対してアウトプットが保証されていなければ利用できません。このルールがインターフェースです。ネットにIPアドレスがあるように、部品にもアドセスがあります。ActiveXコントロールは対応するアドレスをPCのレジストリに記録します。アプリケーションは、使うActiveXコントロールがある場合、レジストリに記録されたIDを調べます。対応するプログラムを識別して利用を開始します。OSメーカー Microsoftはプログラムの世界にインターネットテクノロジーを導入したと言えます。
 OSを制するMicrosoftの立場から眺めれば、サーバーから、わざわざコンポーネントをダウンロードする必要もありません。大抵のものは、OSレベルのActiveXコントロールとしてPCの中にすでにあるのですから。JavaおよびjavaScriptは、MicrosoftWindowsOS以外のネット社会のものである訳です。MicrosoftにとってVBScriptが今後の戦略核になることが見えてきます。


 

技術文書
 

 BASIC にオブジェクト指向を取り入れ、GUI アプリケーション開発を可能にした Visual Basic は、Microsoft の主力製品です。ワープロソフト Word や表計算ソフトの Excel のマクロをこの VB にした「Visual Basic for Applications (VBA)」が活用されています。VBScriptはそのHTML対応版といえます。
 オブジェクト指向言語としてjScriptとVBScriptに大きな違いはありません。
document.write ”おはよう”

「動く」ホームページ。ここからjavaScriptを操っていて、部分的にVBScripを使うと、上のような方言に戸惑うことはある。write に()がない。行末に ; がない。慣れるしかない。

 WebページのScriptは、あくまでNetscapeの思想の上で使うべきだ。つまり、ローカルPCのI/Oレベルにタッチできるツールは使うべきでない。これが当社のコンセプト。だが、HTMLスキルでアプリケーションができる。Scriptは、100%利用すべきだ。これも当社のコンセプト。内と外の境界を明確にし、外にはVBScriptページを発信しない。そう決めています。
 CAD市場NO.1のAutoDeskがWeb用に開発したDWF。このビュワー、WHIP!のマニュアルを眺めるとVBScript版が充実していることがわかる。javaScript版には機能しないコマンドもある。やむをえずVBScriptを操ることにした。バイリンガルの器用さは僕にはないのだが、いたしかたない。


WHIP!3.1レファレンス(VBScript)

2004.1.3
by Kon