HTML5Experts.jp

【及川卓也・清水亮・羽田野太巳・藤村厚夫】すごい人達呼んで「Webは死ぬか?」をマジメに語り合ってもらった(後編)

スゴい人たちに集まってもらって、「Webは死ぬか」について語り合っていただいたスペシャル企画。前半は「Webメディア・コンテンツ」について、それぞれのご意見を伺いました。

メディアビジネスからCookie、ディープラーニングまで──ビジネス面に注目した 前半とは異なり、後半はWebのテクノロジー面にフォーカスして、「死ぬか?」を論じていただきたいと思います。今回は、(含蓄を多量に含んだ)脱線多めで失礼します!

「ブラウザ」の存在感が薄れていく時代

白石 前半はビジネス面に注目してお話いただいたので、後半はテクノロジー面にフォーカスしていきたいと思います。いわば、「Webテクノロジーは死ぬか?」というお話になるかと思います。例えばよく取り沙汰されるのがネイティブ vs Web、みたいな話ですが…

羽田野 そういう話もいいですが、僕はWebの位置付けから話したいですね。Webというものを一般の人々がどう見るか、がここ数年でずいぶん変わったんじゃないかと思うんです。

昔はWebにアクセスしようとすると、ブラウザをまず立ち上げていました。でも今はそうじゃなくて、モバイルで何かしようとするとまずアプリを立ち上げますよね。

白石 「Webブラウザを(意識的に)立ち上げる」という行動は、モバイルデバイス上ではめちゃくちゃ減ってそう ですよね。検索するときくらいでしょうか?検索って行動自体、スマホユーザはそれほど頻繁に行っているのかどうかも疑問ですが…うちの妻なんかは、だいたいLINEかゲームか、という感じです(笑)。

羽田野 それは人によりそうですよね。うちの家族なんかは、割と検索はしてるみたいです。でも、ブラウザという言葉は知らないでしょうね。たぶんうちの子供なんかは、Webという言葉も知らない。

白石 こういうお話って、ブラウザ作ってる方からするとどうですか。少なくとも消費者にとっては、「ブラウザ」という存在がかつてほど重要じゃなくなっているのではないか、という指摘だと思いますが。

及川 そうですね…まずはWebをどう捉えるか、「Webとは何か?」という話から始める必要があると思います。その上で、ブラウザとは何なのか?を考えてみる。

僕はここ数年、Webとは何か、Web技術とは何かをずっと考えてきました。例えば「プロトコルとしてのHTTPを使っていればWebである」という話もあれば、コンテンツやアプリのプラットフォームという側面もある。コンテンツという点で言えば、セマンティック性を持つHTMLという技術は未だに非常に重要だし、(Webは)それに依存している。だからクローラがHTMLを機械的に処理することもできる。検索エンジンそのものも、HTMLに深く依存しているし、いまだにスケールしているところであると。

もう一方で、どうやってユーザにそれ(コンテンツ)をリーチさせるかというところに関してはどうでしょう。例えば、RSSがなくなりつつある。そもそも(RSS)フィードと呼ばれるものだって、あれはパーマネントなリンクってものの集まりだったなわけじゃないですか。そうすると、URL、URIが持つ強みってところが非常に大きいんですよ。

例えばある人から見た場合には、中身、コンテンツはなんでもいいんですよ。もしかしたら、HTMLが書かれていなくてもいいかもしれない。CSVでもいいかもしれない。単なるテキストでもいいかもしれない。URI/URLの、インターネットという巨大な名前空間の中で、一意に特定できるというパワーはすごい わけです。

白石 なるほど。

及川 考えてみた場合、HTMLとURIはどちらもすごく重要だし、いまだにリプレースできるものはないくらいの存在なわけですね。少なくとも技術という面で見た場合、この二つ(HTMLとURI)は非常に強力だし、今後も生き続けていくんじゃないかと思います。

そしてブラウザ云々というのはここにまさしく関わっていて、その両方をパッケージとしたものだったわけです。ここ20年近く使われている、いわゆるWebといったものを使うためには、ブラウザというものがフロントエンドに必要だった。しかしその一部しか使わないのならば、そのフロントエンド部分というのは、ネイティブアプリでもいいし、何でもいい。それでもWeb技術を使っているのは間違いない。

例えばIoTの文脈でも、デバイス間がつながるというところでURIを使いましょう、というのをGoogleが実験的に提唱しているんですが…。

白石 Physical Webってやつですね。

及川 そうです。例えばそれを使うとなった場合、「Web技術を使ってるでしょ」と言われればまさしくその通り、というわけです。

Webの本質とは何か?

羽田野 Webって言葉がすごく曖昧ですよね。ある人にとってはプロトコルですが、僕らにとってはブラウザの上で動くアプリのことだったりするし。

及川極端な話をすると、Webアプリを作るぞとなったときに、HTTPじゃなくてWebSocketを使うことにして、さらにそこにバイナリを流して…ってなったら、ほぼUnixのソケットアプリケーションみたいになるわけですよ。そしてバイナリを紐解くところに例えばNative Client (※)を使うとなったら、HTMLもJavaScriptも使っていないわけです。それは果たしてWebなんでしょうか?でも、ブラウザで動いているわけですよね。

こう考えると、Webの本質というのは考えてみると難しくて。何を持ってWebと呼ぶか?先ほど僕は、HTMLとURIはどちらも重要と申し上げましたが、HTMLを使わないWebは容易に考えうるわけです。

だから僕が最近思うのは、Webの本質ってURIかな、と思っています。「一意に決まる」ということ。

白石 Webから、代替可能なものを全て削ぎ落とすと、URIが残るという感じでしょうか。

及川 そうですね。そもそもインターネットって、シンプリシティ(単純さ)から始まっている んですよ。OSI参照モデルって昔やってたんですけど、OSIってとてつもなく分厚い技術書があるわけです。あんなの実装できるわけないんだけど─4年くらいかかって実装したDECだとか、大変な目にあったわけですが。(※及川さんは元DEC)

一同: (笑)。

及川 ああいうのをやっていた当時の技術者からすると、そこに出てきたTCP/IPなんていうのは、当時の技術者からすると「バカにしてんのか?」っていうくらいシンプルだった。テキストでTelnetでつないでサーバと会話できちゃう、っていう。「なんだこれ?」の世界ですよ。でも、あのシンプリシティが「勝った」わけですね。

RESTに関しても、2000年代前半にあったいわゆる「(XML) Webサービス」も、今やほとんど使われてなくて、ほとんどの場合RESTが使われるようになっている。それも単純さが持つ力です。そうした単純さを突き詰めると、結局Webの本質は、URI/URLというところに行き着くのかな、と思っています。

羽田野 まさに、IoTの世界にもURI/URLは食い込もうとしていますしね。誰も異論はないところかな、と思いますよ。

清水 HTTPも2になっちゃうと、ずいぶん変わっちゃうわけで。もはや、僕らが知っている牧歌的なHTTPではない。Webと言った場合、もはやプロトコルすら指していないんじゃないかとは思いますね。

及川 そのとおりですね。HTTP/1って今の時代には必ずしも最適化されていないんです。SPDYを始め、2も出てきていて、そこ(プロトコル)もリプレースされていくのはそのとおりだと思いますね。Googleも、まだ標準化の方には進めていないですが、QUIC(※)なんてプロトコルも作っていたりしますし。

※ Native Client…Googleが開発した、Webページ上でC/C++のコードを安全に実行するための仕組み(Wikipedia
※ QUIC…Googleが開発している実験的なトランスポートレイヤーネットワークプロトコル(Wikipedia

エンジニアにとってのWebの「安心感」

清水 ところで急にエンジニアっぽくないことを言うんですが、Webの安心感ってすごい んですよね。

白石 安心感?どういう意味ですか?

清水 例えば今、ディープラーニングとかやっていて、Facebookが作ったTorchってやつとか、NVIDIAのDIGITSっていうツールセットとかあるんですが、フロントエンドがWebなんです。

インストールして起動するとnginxが立ち上がって、操作は全部Webブラウザからしてください、と。CUIもあって、コマンドラインはコマンドラインである種の安心感あるんだけど、Web(画面)が出てきた時の安心感ってすごくて(笑)。「(エンジニアが)ハンドルできる」っていうのが伝わってくるっていうか。この安心感って、Webが持ってる強力な力かな、と。

あともう一つは、先ほどの及川さんの「単純さ」の意見に賛同するものですが、一回画面レンダリングしたら終わり、っていう世界観が元々のWebにはあったわけで。それって、書いてる方もすごく安心なんですよね。

今うちの会社は、紆余曲折あってPHPを全社的に使っているんですが、画面を一回書けばおしまいっていうのが、可用性的に安心して使えるんです。これがJavaだったら、どこか一箇所に間違いがあったらシステム全体デプロイしなおさなくちゃいけないところが、PHPだったら、「今見てる人は前のバージョン、次来た人は新しいバージョン」っていう割り切りができる。リクエストごとにトランザクションが終了する、っていうのが、実はシンプルかつ強力な機能なんです。

React(の仮想DOM)なんかは、そこまでもバーチャルにして効率的なやりとりをしましょう、というのはわかりつつも、そもそも元々Webが持っているパラダイム、頭からお尻まで書いてトランザクション終了、っていう思想を、今風にカッコよくしただけのものだとも思っています

それくらいWebが持っていたシンプリシティっていうのはすごく強力で、Webで操作できるってことはつまり、プロトコルがRESTで用意されているってこと。ってことは、プログラム同士も繋げられるし、サービス同士も繋げられるし、要はマッシュアップできるっていう。Webが流行り始めてもう20年くらいになると思うんですが、この20年でそういう傾向ってますます強くなってると思うんです。

及川 ユニバーサルだというのはすごい強みですよね。何でも繋げる安心感、と清水さんはおっしゃいましたが、例えば家電でも何でもいいんですが、ネット接続をしたいと思った時に、ちゃちいWebサーバを内蔵しておけばいいんですよね。アクセスポイントがその代表例ですが、(HTMLで書けるので)設定画面を用意する労力も大したことないですし。

アプリ内ブラウザのセキュリティ

白石 ちなみに、僕らにとってURIって絶対なくならないものですし、Webの本質であるというご意見にも賛成です。が、ユーザからするとURIって全然見えないものになっているのではないかと思うんですが。

及川 それは全然構わないんじゃないでしょうか。先ほどお話しあったように、ブラウザが使われなくなってきていて、アプリの中で使われるようになってきているのなら、URIは裏で使われるというので全然構わないと思います。

白石 いきなりあんまり関係ない話なんですが、今まで誰かに聞きたかったんで聞いちゃいます。今までフィッシング詐欺防止のために、ブラウザベンダーは一生懸命アドレスバーの表示方法を工夫していたかと思うんですが、アプリ内ブラウザ(WebView)の場合、URLが全く見えない状態になります。それって、セキュリティ上大丈夫なんでしょうか?

及川 それは、アプリ内ブラウザ作ってる人に聞いてほしいですが(笑)。でもやっぱりモバイルになると、スクリーンが小さいという制限があって、セキュリティをきちんと確保して安心だと言いつつ、でも不必要な情報を出さないようにしなくちゃいけない。アドレスをユーザが確認できるようにしたところで、アドレスがすごく長かったりしたら、どこか1文字違っていたりしても絶対にわからないわけです。

だから、アドレスを全部表示するのがセキュリティ上優しいわけでもないという前提で、そこをどうすればいいかというのを、アプリ内ブラウザであっても普通のブラウザも考えなくちゃいけない所です。

最近はセキュリティめちゃくちゃ厳しくなってきてます。例えばWebをHTTPSオンリーにしようという議論がなされていたり、HTTPSにしたとしても怪しいSSL証明書なんて山のようにあるので、それらを全部banしていくようにしたり。要は、ユーザがサイトの安全性を目で確認する、という時代じゃなくなってるんですよね。むしろ、そうしない限りはWebが破綻します

アプリにも、URI(つまりWeb)の力が必要だ

及川 あと、前半藤村さんがリンクの透過性の話をしていらっしゃいました。あれは結局のところ、アプリにもURIの力が必要だ、という話なんですよね。モバイルアプリを皆さん一生懸命作りますが、実際にユーザが何個入れているか、そのうちのいくつをアクティブに使っているかというと、すごく少ない。USのデータで見ると、確か31個とかしか入れていなくて、そのうちの10個くらいしか日常的に使っていない。

でも、世の中にはアプリなんて山のようにあって、ランキングが上の方のやつしかインストールされない。ランキングが下の方のやつなんて、一生懸命作ってもインストールさえされない。

彼らがもしWebをやめちゃったら、ユーザにリーチさえできなくなるし、エンゲージできなくなりますよね。そこをブーストさせるには、もしかしたら検索エンジンでロングテールのコンテンツにリーチさせるのと同じ論理が働くんじゃないかというところで、App Indexingだったり、App Linksみたいな話になるわけです。

検索した結果、「こんなアプリもあります」とアプリのインストールをうながしたり、インストールされていたならば「ここから先はアプリで見ませんか」とユーザーをナビゲートしてあげる。ここはハイブリッドなアプローチが必要です。ここでいうハイブリッドというのは、WebViewを使う云々の話だけじゃなくて、ユーザリーチ、ユーザとのエンゲージメントという点においても、Webとのハイブリッドなものが必要になる ということです。

羽田野 そういう点だと、Webの方が安心ですね。アプリの中で競争に勝てと言われると、ちょっとつらい。膨大なアプリの中で、自分の作ったアプリがユーザにリーチする確率がどれほどかと考えると、かなり厳しい。 僕から見ると、アプリの世界ってゼロかイチの世界に見えます。

一方Webは、良くも悪くも分散しているので、しょぼいサイトを作ったとしても、ニーズにマッチしてさえいればそれなりに人が集まる。ゼロにはなりません。スモールスタートをやるには、Webってすごいいいな、と思います。今はアプリの世界は、スモールビジネスが成り立たない世界になっちゃっているかな、と。

清水 探したくもならないもん。こういうアプリあるかな、と思って探したらいっぱい出てきすぎちゃって、嫌になっちゃう。

白石 確かに…。

Web技術は、21世紀のマシン語である

白石 ただここで、あえてWebに不利な論調を持ち込んでみたいです。せっかく「Webは死ぬか?」を話す機会なので。最近僕の知り合いがプログラミングの教育ビジネスをやってるんですけど、Web教えないんですよね。AnrdoidやiPhoneアプリの作り方から教えるんです。これでは、Web技術が広まっていかないぞ、と…

及川 でも、僕もそうですよ(笑) 。今でも東日本大震災の被災地の方でたまに教えていたりするんですけど、Corona SDKっていうのを使ってスマホアプリ教えてます。

白石 えー(笑)。

羽田野 僕、思いますけど、ゼロから覚えるならアプリのほうが楽なんですよ。

及川 なんでかわかります?Webは自由度が高すぎる んですよ。スクリーンサイズから何から、前提とするものが少なすぎる。でも子どもたちがやりたいのは、自分が持ってるスマホで、自分のアプリを動かしたいだけなんです。どんな簡単なものであっても、自分の持っているスマホで動くと嬉しい訳ですよね。

Corona SDKとかって、簡単な物理エンジンが乗っかっていて、高校生くらいなら1日もやればそれなりのものが作れるんですよ。教科書通りに写経して、ちょっとここ変えようね、くらいのレベルであれば。はじめて作ったものが、自分の手元でコントロールできる喜びっていうのは、やっぱりアプリのほうが上なんですよね。

羽田野 僕は自分の息子や娘にWeb技術教えられるかって言うと、ちょっとつらいですよね。だったら、Androidアプリとか教えるほうが手っ取り早い。だって、HTMLの構文教えるだけでも結構大変ですよ。それに加えて、CSS教えて、JavaScript教えて、なんて言ったら…

清水 そこは僕一つ考えがあって。今のHTML, CSS, JavaScriptっていうのは、21世紀のマシン語 なんですよ。概念的にも、実際的にも。

実際UnityのHTML5プレイヤーなんてまさにそうで、Emscripten(※)使って、人間が読むことを想定しないコードを吐き出している。それがV8 (※)とかでJITコンパイルされながら動くわけですよね。これ、昔の「べーしっ君」(※)ですよ。

もう、今のWeb技術はマシン語だから。HTMLからやれっていうのは、マシン語からやれって言ってるのと一緒なんですよ。 それにWeb技術って、いろんな歴史の澱(おり)が積み重なってる。86でいうセグメントみたいな。呪われた概念っていうか(笑)

※ Emscripten…C/C++のコード(厳密にはLLVMコード)からJavaScriptを出力するコンパイラ
※ V8…Googleがオープンソースで開発するJavaScriptエンジン。Google ChromeやNode.jsで利用されている。
※ べーしっ君…ASCIIが発売していたBASICのJITコンパイラ

Extensible Webの可能性

及川 たしかに現状、Webの後方互換性を保つためのレガシーなコードが、ブラウザにはたくさん入っている。今改めて必要な要素技術を考えるとしたら、ブラウザに今入っているものとは大きな隔たりが出てくるでしょう。

でも今おもしろいのは、Extensible Web の考え方です。

低レベルのAPIを整備して、なんか新しいAPIだったり要素だったりを作るとしても、それらの組み合わせで作れるようにしましょう、ってところから始まっている。そうなると、今後はAPIのレイヤー化が進むはずです。そうなると、下のレイヤーがどんどんマシン言語化していくってことですよね。で、上のレイヤーっていうのは、どんどんいろんなモノが乗っかって、その時に一番ポピュラーだったやつだけがブラウザに初めから組み込まれている、ビルトインされているって形になるかもしれないですね。

羽田野 将来のブラウザに期待したいのは、下位互換性を全て捨てた新しい、軽いブラウザが欲しいですね。marqueeとか、古い要素の実装もすべてない。Web閲覧のためのWebブラウザと、アプリの実行環境としてのWebブラウザって、用途が違うじゃないですか。アプリの実行環境として使うのであれば、古いものがなくたって困らない。そういう実装があってもいい気はしますね。

及川 Extensible Webの考え方が進んで、レイヤー化されてコンポーネント化されたものが許されるならば、それもあり得るかもしれませんね。ブラウザには、デフォルトでは本当にミニマムなエンジンだけが入っていて、必要に応じてレガシーな要素のコードがダウンロードされるみたいな。

白石 Extensible Webは、そこまでの未来を志向しているんでしょうか?

及川 そこまではまだわかりません。ただ、今Webの機能って、APIができたんだけど使わない、使えないっていうものが山ほどある わけですよ。よく言われるのがEditing。contentEditable (※)なんてのは最悪 です。あれでほんとにベーシックなエディタ機能を作ろうと思ったって作れないわけですよ。

結局みんなどうしているかって、みんなそんなの諦めちゃって、みんな何千行か何万行かあるJavaScriptエディタを一生懸命書いてるわけですよね。だとしたらそんなの(contentEditable)全部なくしちゃえ、そのほうがブラウザ軽いし、と。むしろ、そういうエディタたちが持っているミニマムな機能を標準化して、互換性のある形で全てのブラウザに入れてください、のほうがハッピーなわけです。

contentEditableが代表例ですが、要は入っていても使われないとか、使えない機能がたくさんある。

※ contentEditable…HTML5で規定された、編集可能なWebページを作成するための仕様

ハイブリッドアプリの現状

白石 ここで、Webテクノロジーとモバイルといえば絶対に外せない話題として、アプリカン (※) というハイブリッドアプリのフレームワークを作っていらっしゃる羽田野さんにお聞きしたいんですけど、ハイブリッドアプリの現状はいかがでしょう?

羽田野 正直なところ、現状はやはりそれほど盛り上がってはいないですね。

白石 一番のネックはUIのパフォーマンスだったと思うんですけど、現在どうなんでしょう。


羽田野 やはり、時代が進むにつれて、ほぼ問題はなくなっていっています。今のスマホって、マシンパワーすごいじゃないですか。今でもAndroid2をサポートしなくちゃならないというお客さまにとっては、WebViewだときついですけどね。例えば無限スクロールのない情報表示系アプリとかであれば、全く問題のないレベルです。であれば、マルチデバイスで動作するWeb技術には大きなメリットがあるというのが、僕らの想いです。

清水 日本はゲームアプリが多いから、パフォーマンス上の要件も厳しいってのもあると思いますけどね。うちの会社で、enchant.jsで作ろうって提案すると、社員に反対されるんですよ(笑)。「(エフェクトとか)いっぱい出すと重くなるからダメです」って。ゲーム作る人間は、ギリギリまでパフォーマンス追求したいんです。

※アプリカン…http://www.applican.com/

いい機会なので、清水亮にenchantMOONについても聞いてみる。

白石 清水さん、自己紹介の時にオーサリングツールとしてenchantMOONを作ったとおっしゃってましたけど、それって、先ほどの「Web技術はマシン語だ」というところとつながるんでしょうか?Web技術には、オーサリングツールが必要だと?

清水 必要かどうかはわからないですが、プログラミングとかオーサリングとかのハードルを下げたい という想いはありますね。

コンピュータの性能がここまで上がってしまって、人間の何百倍の性能になってしまっているときに、コンピュータを使う方法って、アプリケーションじゃないだろう、と思っている。今って、例えばワープロにしても、「コンピュータに使われている」みたいな状態になってると思う。「コンピュータが提出する文章をお前さんが書きなさい、この枠組みで」みたいな。そこを逆に人間が主体になって、「おれはこういう情報がほしい」とか「こういうのが書きたい」みたいなことをこいつ(コンピュータ)に命令して、こいつが書くようにならなきゃいけない、みたいな一つの思いがあって。

白石 なるほど。それがハードルを下げたい、っていうことなんですね。

清水 僕ブログ流行った時に、「こんなに書きたい人が世の中にいるんだ」って感動したんですよ。それまではHTML書かなきゃダメって世界だったものが、誰でも普通に書けるようになって、いろんな人が書くようになったと。そういう意味では、その中で実はみんな自分を表現したいという人は、実はたくさんいるんじゃないかなと。

ただ、まだやっぱりハードルが高い。文章書くのは難しいとか、写真撮るだけだったらできる、っていうんでTwitterやInstagramが流行る。で、簡単だからやってるっていう話と、文章書くの難しいとかプログラミング難しいって話はリンクしてるなあ と思っていて。

だったら、もう少しそこら辺のハードルを下げてあげる。プログラミングとかオーサリングとかのハードルを下げてあげた時に何が起きるんだろう、っていうのが僕が思っているところで。ちなみにこれは僕のシンギュラリティ (※) に向けた心構えでもあるんですけど、プログラミングを克服しないと人類は次の世代にいけない と思っています。

enchantMOONはもともと、「パソコン大好きオジサンが怖いもの見たさで買う」というターゲティングでした。とはいえ、買った人はほとんど使いこなせていないんです。むしろすごく使いこなした人たちっていうのが、女子中学生なんです。

一同: へえ!!

清水 品川女子学院で、貸してくれって言うから貸してあげたんです。一時間くらいしか説明しなかったんですけど、気がついたら爆発的にデカいコンテンツ作ってる。

で、逆にそれをプログラマとかに渡すと、作れないんですよ。自分で作ったほうが速いから。でも文化系とか、コンピュータリテラシ高くない人に渡すと、ものすごいエネルギーでもってなんか作り始めるっていうのが、MOONを作って一番感じたターニングポイントです。

自分が表現したいこと、迷路を作ったりとか、ブロックを組み合わせてシューティングゲーム作ったりとか、そういうものを自分たちの力で作れるっていうのに、魅力を感じてくれたみたいで。そういう人たちにとっては、遅いとか重たいとかほぼ問題にならなくて。取り合いになったって聞いて、すごく嬉しかったです。文化祭とかあれで発表するみたいな。小さな話ではあるんだけど、僕にとっては自信になりました。

だから例えば、仮に今のWeb技術というのがマシン語であるならば、それに対するライトウェイト言語みたいな、ハードルを格段に下げる方法があったならば、コンテンツのビッグバンっていうのはもっと起きるんじゃないかと。

商業メディアって滅ぶ方向にいくんじゃないかという話をしました。でも、もっとハードルが下がって、もっと表現力が上がって、もっと人々に開放されることによって、もっといろんな人がそこに参加してきて、大きな流れが起こっていくんじゃないかな、っていうことを漠然と思っています。

※ シンギュラリティ…人工知能が人間の能力を超える、とされている特異点のこと(Wikipedia

まとめ、感想、エトセトラ

白石 ではそろそろお開きにしたいと思います。今回の対談に関する感想をお願いできますか?

及川 えーと、Webは死にません!(笑)。楽しかったです。いろんな見方があるな、と。

藤村 僕は後半、ちょっと食い足りないところがありましたね。話をちょっと戻せなかったんだけど、基本僕ら(スマートニュース)が作っているネイティブアプリは、圧倒的にモノづくりの人にとっての利便性というよりも、消費者にとっての完成度みたいなのが問われるところがあって。消費者にとっての消費財って、モノづくりの人にとっての利便性ってどうでもいいんですよね。

そこでどのくらい完成度の高いものを作れるかってこだわって作っていく時に、Webってこういう風に作れるって聞いてても、ピンと来ないところが僕にはあって。良い反応速度を出そうとギリギリまで頑張っているっていうのが、ネイティブアプリを選択している我々の中には重要な要素なんですよね。そういうところをもう少しうまく言えればよかったな、と。

後半の文脈って、開発する人にとってのWebの意味、みたいなところが割と語られていたんだけど、使う人とか楽しむ人とか、ゲームやる人にとっての視点だったらどうだったのかっていうのは、ちょっと語りきれていない気がしています。

白石 スマートニュースなんかは、UXにすごくこだわっていると評判のアプリですもんね。

藤村 羽田野さんもさっき言われていましたが、スマホの上では圧倒的にネイティブが採用されているという事実もあるわけで。ゲームがたくさん時間をとっているからだ、っていういろんな解釈はあるんだけど、そうはいってもアプリが選択されちゃっているということに、踏み込まなきゃいけなかったんだけど、そこには踏み込み足りなかったと…悔いが残ります。

白石 そこはこちらも突っ込んで聞きたいところでした。ぜひまた、次の機会にお願いします。では、清水さんいかがですか?

清水 さっき結構しゃべったんで、特にないです(笑) 。まあ、Webは死なないでしょう。 個人的には、もっとマシン語化が進んでいくかな、と思いますね。

白石 もっと上位レイヤーが充実してくるという感じですか。

清水 いや、まだ効率が悪いので。WebGLとCSS3の住み分けとかもまだ微妙な感じですし。そこらへんがもっとスマートになればいいな、と。あと、主流になるかは怪しいですが、HoloLensとかOculusとか、あの手のコンテンツをWebで書く日が来るのかなあ、と漠然と。

白石 Mozillaが、MozVRっていうのやってますよね。

及川 GoogleもChrome ExperimentsでCardBoard向けのやつがあります

清水 あと一つ言い忘れていたのは、Webの良い点は、フロントエンドからバックエンドまで全てオープンソースだということですね。JavaScriptの実行エンジンから、レンダリングエンジンから、Webサーバから、全部オープンソース。フロントエンドから全てオープンソースっていうのはすごいな、と。ありそうでなかった画期的なもので、だから、エンジニアとしてはWebは安心して使える。少なくとも僕が死ぬまでは、こうした知見が活かせるんじゃないかと、僕は結構楽観的に考えていて。

っていうのは、Unixが出てきて40年経ったけど、結局まだみんなUnix使っているわけですよ。オープンソースで枯れているコードって使われ続けていくので、Webも同様の理由で、あと半世紀残っても全然おかしくないな、と思ってますけどね。残ってほしい、死なないでほしい、という願望もありますが。

羽田野 OperaのCTOで、CSSの発明者であるホーコン・リーさんも、「活版印刷は500年使われている。Webも今後500年使われるだろう」という言葉を残していらっしゃいますね。

白石 では最後に、羽田野さん、今日の感想をお願いします。

羽田野 これ以上何もありません。同じWeb側の人なのに、見え方が違ってるんだな、と。特に僕的にウケたのは、JavaScriptはマシン語であるというご意見でした。時代が変わるって怖いな、と。(マシン語でのコーディングにこだわる)老害的な存在になってしまわないよう気をつけないと。「DOMを直接叩け!」とか言ってたら疎まれる時代がそのうち来るんでしょうね(笑)。

白石 では、本当に名残惜しいんですが、そろそろお開きにしたいと思います。本日は本当に、ありがとうございました!