ReadWrite Japan 第127回

MozillaのWebAssemblyとは何か? : よりパワフルなWebアプリ

Mozilla Firefoxのエンジニア主導の下、様々なブラウザメーカーによって先週驚くべき改革がなされた。Webに次の革命をもたらすための共同プロジェクトは秘密裏に進められていた。「MozillaがChromium、Edge、そしてWebKitのエンジニアたちと新しい標準規格、WebAssemb

ReadWrite Japan

2015年7月13日 22:00

Mozilla Firefoxのエンジニア主導の下、様々なブラウザメーカーによって先週驚くべき改革がなされた。Webに次の革命をもたらすための共同プロジェクトは秘密裏に進められていた。

「MozillaがChromium、Edge、そしてWebKitのエンジニアたちと新しい標準規格、WebAssemblyを作り上げるために協力し始めたことが報告できてうれしい」と、プロジェクトリーダーの一人であるルーク・ワグナーはブログに投稿している。

WebAssembly(略して「wasm」)の影響が即座に現れるのはブラウジングが早くなることだが、これは数ある利点の中で最もエキサイティングではないポイントだろう。

この標準規格により、開発者はかつてデスクトップ向けソフトだけが可能だったCPUパワーを必要とするエクスペリエンスをオンラインで実現することが可能になる。

WebAssemblyにより開発が複雑になりすぎることもない。これは逆にWebアプリ作成のプロセスを効率化するものだ。

アプリ主体の今日においてこの事が意味することは多い。ほとんどの場合において、開発者およびユーザーはアップルのiOSやOSX、グーグルのAndroid、マイクロソフトのWindows等々のプラットフォームの選択を余儀なくされる。

WebAssemblyによってパワフルなWebアプリが可能になれば、プラットフォームにあわせてアプリを開発(もしくは移植)する事にうんざりしている開発者は、いつまでも続くポーティング作業からおさらばできる事になる。

今のところ最も大きなポイントは、この標準規格がサポートされているかどうか悩まなくてすむというところだ。そもそもがWebの標準規格についての競合他社同士のコラボレーションの結果であることから、この規格は主なブラウザでサポートされることになる。

Wasmを阻むもの

技術的な規格において、普及は小さな問題ではない。これにより生き延びる規格もあれば、忘れられていくものもある。

ワイヤレス充電を例に挙げると、3つのメジャーな団体がそれぞれ異なるアプローチを支持して譲らないという状況であり、メーカーはそのうちから一つを選ばなければならないという状況にある。3団体のうち2団体は統合したが、それでも諍いはまだ収まっていない。

方やWebAssemblyはChromium、WebKit、Edgeのエンジニアたちによるドリームチームであり、世界の代表的なブラウザであるChrome、Safari、IEとその後釜のEdge、そしてFirefoxでサポートされる事を目標とするものだ。

ライバル同士のこの様なコラボレーションは、この業界の競争が激しいものであることを考えると特異な事だ。しかしこの事は優秀な人たちが気持ちを一つにすれば何が達成できるのかという事も教えてくれる。

WebAssemblyはWebアプリにデスクトップクラスのパフォーマンスを、ゲームからビデオ編集、VRにいたるまで幅広く提供するためのものだ。ユーザーはこれらのアプリにダウンロードやインストール抜きでどこからでもアクセスできるようになる。

これはVRの様な技術を大きく進歩させる可能性もある。開発者は自分たちの成果物を公表する方法を多く持つことになり、ユーザーのエクスペリエンスもリッチなものになる(YouTubeが360度カメラのサポートを始めた理由の一つでもある)。

WebAssemblyが技術的基盤になることで開発者達にとって更に喜ばしい事もある。

JavaScriptを終わらせるものではない。むしろJavaScriptを進歩させるものだ

JavaScriptのエキスパート、アクセル・ロシュマイヤーは彼のブログでWebAssemblyを「JavaScriptエンジンという基盤の上に成り立つ新機能だ」と評した。

もう少し紐解いてみよう。今日、ほとんどのWebサイトでは1995年にかつてNetscape/Mozillaに在籍していたブレンダン・アイクによって作られた言語であるJavaScriptが使われている。これがなくては静的なWebページのコード量は際限なく増えてしまう。

JavaScriptによって我々は、簡単なゲームやアニメーションに、ブックマークアプレット、本格的なWebアプリといった動的要素を手にする事ができる。

JavaScriptは唯一の選択肢というわけではないが、最も人気があるものだ。WebAssemblyはさらによりパワフルに、より簡単になるよう改良を加える事が目的だ。そういう意味ではこの新しい規格の事をJavaScriptキラーと呼びたい向きもあるだろう。しかしそれは不正確だ。WebAssemblyはJavaScriptに取って代わるものではなく、JavaScriptの上に成り立つものであり、また埋められるべき大事な穴を埋めるために基盤の基礎となる部分にまで手を加えるものだ。

Mozillaとその仲間たちによって、開発者はWebにおけるバイナリーフォーマットを得ることになる。それにより更に低レベルまで触ることが出来るようになり、結果としてやりたいことは何でも出来るようになる。

技術的な詳細を掘り下げていけば、WebAssemblyの良さも分かってくることだろう。例えば、開発者はより容易なコードのコンパイル方法を得ることになる。コンパイラーによってソースコードは実行可能なプログラムに変換される。開発において重要な部分であり、wasmはJavaScrpitの処理を助けるためのコンパイル時のターゲットとして働く。ローシュマイヤーはWebAssemblyが最も役立つのはパフォーマンスを求められるコードおよび、他の言語(特にC/C++)をWebプラットフォームでコンパイルする場合だろうと述べている。

アイクは自身のブログでWebAssemblyに触れる傍ら、JavaScriptはまだまだ終わりを迎える事はなく、今後も発展を続けるという点についても述べている。

JavaScriptとwasmが共に進化することで、ここ数年のうちに主要なブラウザの全てが複数の言語に対応したJavaScriptエンジンをサポートすることになると考えている。JavaScriptは更に多くのAPIサポートやハードウェアのアフォーダンスを得るだろうが、あらゆる物をという訳には行かない。wasmに期待されるのはその欠けている部分をカバーすることだ。

WebAssemblyはまだまだ初期段階にあるが、その潜在能力はすでに高いものの様に思われる。これが抱いている構想が現実のものになってくれることを祈る。未だにWebは十分に早く効率的でパワフルなものになっていないからだ。

画像提供:Shutterstock

Adriana Lee
[原文]

※本記事はReadWrite Japanからの転載です。転載元はこちらをご覧ください。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30