ExtensibleWebの世界
ExtensibleWebとは
ExtensibleWebとはざっくりいうと標準化団体やブラウザベンダではなく、開発者が中心となってWebの未来をより良くしていくことを指します。 実際の取り組みはこちらのマニュフェストを参照してください。 最近だとjavascriptを使う人であれば知らない人はいないぐらい有名なjQueryなどがその例になるかと思います。 そういう流れをさらに加速させるためにブラウザベンダーが低レイヤなAPIを公開してWEB開発者がより開発しやすい環境を構築することが必要になります。 裏を返すと、低レイヤAPIがブラウザベンダに公開されるまでは、(様々なPolyfillが提供さてれるとはいえ)ExtensibleWebの世界が到来したとは言い難い気がします。
スマホでのWebの存在感
スマートフォンが台頭し、アプリ量産され、スマホ利用時の大半は何かしらのアプリを操作に時間が費やされているそうです。 しかし絶対数が多くなり自分の求めるアプリにたどり着くのが困難になりつつあるうえ、インストールしなければならず、また、更新にはアップデートを必要とします。 なかなか気軽とは言い難いものがあるように思えます。 そんな中、本当にアプリであることに優位性はあるのでしょうか。
WEBとブラウザ
ブラウザはWebで今まで培ってきたノウハウもあり、低レイヤAPIが公開されてきつつあるため、これからさらにアプリでしかできなかったことが実現されていくことが予想されます。 この過程でブラウザは今までOSが担っていた機能をも有していくと考えられます(バックグラウンド処理やPush通知など)。 ほとんどのユーザーはWebがあれば事足りるはずで、パフォーマンスなどの理由などで、より端末に特化したものを作る場合のみネイティブコードでアプリを書けば良いと、これからはそんな時代が来ると個人的には思っています。
また日本で使っている人をほとんど聞きませんがブラウザをOSとしようとする試みのChromeOSの思想は素晴らしいと思っています。 データはローカルに置かずサーバーに置くことでPCを持ち運ぶ手間がなくなり、また日本で起きている大半の人的情報漏えいは防げるのではないかとも思っています。
Webのこれから
まさに今はWebの過渡期だと思います。 新しいAPIがどんどん追加され、表現の幅も広がりもう数年もすると今までの内容物がかなり陳腐化すると思います。 PhysicalWeb(Eddystone)を始めリアルな世界でもさらにWEBと連携し、重要性が高まることが予想されます。 まだまだブラウザによって対応状況が異なるとはいえ、今から新しいとされる技術に触っておくことが後々のアドバンテージになると予想しています。 いろいろあって何から手を付ければいいか悩む場合は ServiceWorker から学んでみることをお勧めします。 ServiceWorkerを使うとWebPushやオフライン対応、バックグラウンド動作など今までのWEBでは実現できなかったことが実現できるようになります。
最後に
勉強会などに参加してここ半年ぐらいで得た知識を書きました。 誤っている箇所などありましたらコメントで指摘して頂けると助かります。 またExtensibleWebをはじめとした最近のWeb界隈のTopicについて発表した時の資料があるので、良ければ見てみてください。
この資料では下記の内容に触れています。
- Web Push
- オフライン
- asm.js
最後まで読んで頂きありがとうございました。