マイクロソフト「Silverlight」の終焉。 2021年10月12日でサポートが終了

消えたWebページ上でプログラムを実行するための技術

 インターネットが普及して以降、Webは第2のデスクトップと言っても過言ではない状態になった。OSの他のアプリケーションを使う時間よりも、Webブラウザを使う時間の方が長いケースも多々あった。そうなるとWebページ上で動くアプリケーションの方が便利だと考えるのは自然な流れだ。またWebページを見ていて、サーバーと連動した操作をする際に、他のアプリケーションを立ち上げたくないというのも素直な思考になる。  そのため、Webブラウザ上でアプリケーションを動作させる仕組みは、昔から存在していた。登場当時、代表的な存在だったのは Javaアプレットだ。最初の実装は1995年、Netscape Navigator に搭載されたのは1996年である。この年は、Flash の登場時期と同じである。のちに JavaScript となる LiveScript の開発は1995年。Internet Explorer 3.0 に VBScriptセキュリティ上の問題を引き起こした。Webページを開くだけで実行できて、ローカルファイルにアクセスできるなら、悪意のある攻撃をやり放題になる。そうした問題を防ぐ仕組みが発達していったが、同時に脆弱性によって何度もその対策が突破された。メンテナンスにはお金がかかり、維持するのは企業の負担になった。  Java を保有するオラクルは、2017年9月22日にリリースされた Java 9 で Javaアプレットを非推奨にして、2016年1月27日に Java 11 では廃止することを発表した。 Adobe Flash では、2020年末にFlash Playerの開発と配布を終了すると発表している。VBScript は、2013年にリリースされた Internet Explorer 11 の時点で、セキュリティや互換性の設定によって実行しなくなった。Microsoft Edge ではサポート対象外になっている。  途中から参戦してきた Silverlight を含めて、Webブラウザ上でアプリケーションを構築する仕組みは、JavaScript 以外淘汰された。  プログラミング言語や開発環境には流行り廃りがあるが、Webブラウザ上の実行環境では、敗北は死を意味している。Webページを見るだけで実行されるプログラムは、セキュリティ的なリスクがあれば取り除かれる。メンテナンスされないものは排除される。

生き残るのはJavascriptだけか?

 Webブラウザ上でプログラムを実行する方法は、最終的に JavaScript だけになってしまうのか? 実はそれ以外の動きも存在している。  wasm とも称される WebAssembly という仕組みだ。Webブラウザ上でバイナリフォーマットの形で実行可能なものだ。この仕組みを利用すれば、JavaScript 以外のプログラミング言語でプログラムを書き、Webブラウザ上でプログラムを実行することができる。  ネットを見ていると、この WebAssembly を利用して、様々なプログラミング言語でWebアプリの開発をおこなう試みを見ることができる。現在ホットな領域だ。  パイが大きければ、そこを取ろうとするプレイヤーが必ず現れる。最終的に10年後、20年後にどのようになるのか、まだまだ予断を許さない。 <文/柳井政和>
やない まさかず。クロノス・クラウン合同会社の代表社員。ゲームやアプリの開発、プログラミング系技術書や記事、マンガの執筆をおこなう。2001年オンラインソフト大賞に入賞した『めもりーくりーなー』は、累計500万ダウンロード以上。2016年、第23回松本清張賞応募作『バックドア』が最終候補となり、改題した『裏切りのプログラム ハッカー探偵 鹿敷堂桂馬』にて文藝春秋から小説家デビュー。近著は新潮社『レトロゲームファクトリー』。2019年12月に Nintendo Switch で、個人で開発した『Little Bit War(リトルビットウォー)』を出した。2021年2月には、SBクリエイティブから『JavaScript[完全]入門』、4月にはエムディエヌコーポレーションから『プロフェッショナルWebプログラミング JavaScript』が出版された。
1
2