XMLHttpRequest とはなんだったのか | blog.jxck.io

XMLHttpRequest とはなんだったのか | blog.jxck.io
この API が最初に実装されたのは 1998 年頃だそうだ。 1998 年といえば、 IE は 4 で Windows は 95 だ。今のように WiFi もなく有線接続が当たり前で、 Google 検索も普及しておらず Yahoo の巨大リンク集みたいなところからサイトを探していた時代だ。
W3C はすでにあったが、今のように新しい API が次々に標準化される世界観になるのはざっくりと HTML5 以降で、このころはブラウザが差別化のために独自の機能を盛り込み生き残りをかけて戦う、ブラウザ戦争の真っ只中

1998 年は、データ交換として XML が非常に盛り上がっていた時代だ。 XHR は、実際は XML を必須としない API であるにも関わらず MSXML というライブラリに同梱されて Ship された。それが最も簡単にリリースする口実だったようだ

Ajax も JSON も、すでに存在し実装として使われていたものに名前をつけただけだ。よってこれらは、「策定」や「実装」ではなく単なる「命名」というか「言語化」だ。筆者は実装の中から見出したので「発見」という表現を気に入っている
命名や言語化は発見

画面遷移せずにグリグリ動かせる Google Map がある。当時こうしたサイトを実装するのは Flash や ActiveX が基本だった(実際 XHR のフォールバックは ActiveX だった)、それがプラグイン無しで動くことに気づいた他の Web 開発者は、雷に打たれていただろう。画面を下にドラッグしたら南側をグレーで塗りつぶし、四角く切った画像を非同期で取ってきてタイル状に並べるなんて発想は、当時の Web 開発にはなかった。
Google Map の実装を血眼になって読んだのなつかしいなあ

XHR で叩く API のアーキテクチャとして REST が、 API 共有するために CORS が、共有の権限付与のために OAuth が、それぞれミッシングピースを補うように整備されマッシュアップにより様々なサービスが作られた。 "Web サイト" は "Web アプリ" になり、できることが増える一方出来ないことが浮き彫りになり、そのギャップを埋めるために HTML5 時代に突入していく

技術的にはすでに数年前からあり、一部では使われていたものでも、そこに名前をつけ、言語化し、輪郭を示し、多少の夢を振りかけてマーケティングを成功させれば、世界に大きな影響を与えるというわかりやすい実例だと思う。まさしく Web3 が追いかけている背中なのかもしれない
Web3ってバズワードっぽい感じでやだなとおもってたけど、マーケティングと考えれば納得のいく感じもする

低レベル API の整理は、 Extensible Web という標語で語られたこともあったが、実際には Fetch のリファクタリングの副産物だった
Extensible Web ってもうあんまり聞かなくなった気がするけど、もうすっかり extend のサイクルに入れてるってことでいいのかなあ

DHTML 以上に発展してなかった世界線では、その後我々が直面した HTML5 も、 PWA も、 SPA もないだろう、 JS API を中心とした今の Web のエコシステムは発展していただろうか? フロントの JS も大して書いてない開発者に、 Node が今ほど受け入れられていただろうか? Frontend Engineer という職種が生まれることも無かったかもしれない
Adobe Airがもっとすごかった世界線とかあったらどんなだったろうなとおもうことはある

#20221014 #1014


関連ページとランダムに選ばれたページ

筆者について

jigsaw(ジグソウ、1991年6月12日-)は日本のプログラマ、会社代表。本名は小林貴也(こばやし たかや)。主にウェブ、フロントエンド領域で活動している。カミング・スーン合同会社の代表社員。
さらに詳しく

寄附について

面白かったらBTCETHでの寄附をお待ちしております。
寄附のきろく