最近の Microsoft Edge の動向(Mar 2016:Extention,Web Assembly)


Microsoft Edge については、Microsoft Edge Dev Blog などでなかなか活発に情報が出ているのですが、予算の関係もあってか以前の IE blog のころとは違い日本語記事が出ていません。

今回は Edge の動向について、本家 Microsoft Edge Dev Blog に最近投稿された記事から要点をかいつまんで紹介します。

(※)“かいつまんで” と書いたのは、英語の分量のわりには意外と内容が薄かったりするものがあったりするからです。けっして英語の得意でない私が一生懸命翻訳した長い文章すべてが、本質とはまったく関係ないジョークめいた言い回しだったりするともう徒労感が半端なくてですね…、それをふたたび日本語でわざわざ書くという行為について精神的なわだかまりが払拭できないからです。たとえばなのですが、”We’re excited..(私たちは…することに興奮しています)”とか、ほんと、どうでも良くないですか? この言い回しが 1 つの記事に 4 回も出てくるともう、お願いですからいつまでも興奮してないでどうか落ち着いて早いとこ本題に入ってください、ほんとお願いします、ひらにお願いしますと、どうかお願いします、と言いたくなります。

 

今回は新しい順に以下の3 つの記事について紹介します。

 

拡張機能のプレビュー版の公開 (Mar 18, 2016)

記事「Microsoft Edge extensions now available to preview」では、Edge の拡張機能のプレビュー版を公開したことをアナウンスしてします。

この記事で紹介されているプレビュー版の拡張は以下のページから入手することができますが、その機能を実際に試すには、Windows 10 Insider Preview のビルド 14291 が必要です。

この拡張機能の開発方法についての詳細は記載されていませんが、「Web 開発者が慣れ親しんだ方法」で開発されるとのことです。

今回公開された拡張機能は、インストールするのに手動でサイドロードする必要がありますが、後述のとおり正式リリース時にはインストールは Windows ストア経由で行われるようになります。

なお、実際の一般向けの提供開始時期は今年 (2016年) の後半になるとのことです。

Edge の拡張機能については、以前からイベントなどで 「Chrome と Firefox の拡張がそのまま動作するようになる」と言われてきましたが、今回の記事で触れられていないのは気になるところです。

 

余談ですが、Edge のプレビュー版の拡張について MVP の方が以下のような記事を書かれているので、興味をひかれた方は参照してみるのも良いでしょう。

Micorosoft Edge(プレビュー)の拡張を作ってみる - ぷろじぇくと、みすじら。
Micorosoft Edge(プレビュー)の拡張について調べる、デバッグする方法- ぷろじぇくと、みすじら。

 

Web Assembly への対応について (Mar 16, 2016)

記事、「Previewing WebAssembly experiments in Microsoft Edge」 では、Edge の Web Assembly の実装状況ついて紹介しています。

実際の記事の内容について紹介する前に、Web Assembly について簡単に説明しておきましょう。

 

Web Assembly とは

Web Assembly は、Microsoft、Google、Mozilla、WebKitプロジェクトのメンバーより共同開発されている Web アプリケーションの新しいバイナリフォーマットです。

このバイナリは、C や C++ といった言語で書かれたコードをコンパイルして生成し、Web ブラウザーや他のエージェント上で直接動作させることができます。

コンパイル済のバイナリが実行されるため JavaScript よりもポータブルでロード時間や実行のパフォーマンスに優れたアプリケーションを実現することできます。また、ソースコードの記述は今後 C/C++ 以外の開発言語でも記述できるようになる可能性があります。

つまり、将来 C# や Java といった任意の言語で Web ブラウザー上で動作するためのプログラムが書けるようになるかもしれません。

Web Assembly についてのさらに詳細な内容は、GitHub 上の Web Assembly リポジトリOverViewFAQ の内容をご覧ください。

 

「Previewing WebAssembly experiments in Microsoft Edge」の内容

記事によれば、Edge 開発チームは 昨年の 6 月から、 WebAssembly の原則とデザインを W3C コミュニティ グループの中で前進させ続けるために、Firefox、Chrome、WebKit、そしてコミュニティと密接に協力してきたとのことです。

記事には、Edge のアーリープレビュー版に暫定版の WebAssembly の機能を組み込んだインターナルビルドの Edge によるデモとして、AngryBots を動作させた以下のビデオが掲載されています。なお、AngryBots は、同時期に公開された、WebAssembly の機能を組み込んだ FirefoxChrome の紹介記事でも同じくデモとに使用されています。

 

 

 

今回の実行は、初期の実装にもかかわらず 、デモの開始も WebAssembly バイナリのほうが asm.js だけを使用するものよりもファイルサイズが小さく、大幅に高速であり、またパースもプレーンな JavaScript をパースする必要がある asm.js より迅速だったとのことです。

WebAssembly の実装は、オープンソースとなった ChakraCore の GitHub の ChakraCore リポジトリWebAssembly branch ですべての開発が行われています。

Edge 開発チームは、ブラウザを横断する WebAssembly の進歩についてさらにデザインを進め、WebAssembly のパワーを Web および将来の Microsoft Edge のリリースにもたらすよう、Firefox、Chromq、 WebKit、およびコミュニティと引き続き協業するとのことです。

 

2016年における Edge の開発者向け機能実装について (Feb 3, 2016)

記事「Looking ahead: Microsoft Edge for developers in 2016」では、2016 年中に実装する予定の機能について、その展望が紹介されています。

なお、この記事は、少ない予算をやりくりして翻訳に出しているので、そのうちにきちんと日本語に翻訳されたものがどこかで紹介される予定ですので、ここからの記事は参考程度にご覧ください。

 

Edge チームは次の EdgeHTML について、ユーザーからのフィードバックと開発トレンドの確認、パートナーと世界中の開発者とのミーティングの結果から以下のものを 2016年優先順位として挙げています。

 

EdgeHTML の 2016年優先順位

  1. Web テクノロジと Windows ストアによるモダンな拡張プラットフォームの提供
  2. アクセシビリティと包括的なデザインを通じてすべての Microsoft のエッジお客様に力を与える
  3. Microsoft Edge の基本機能の強化の継続,セキュリティ、パフォーマンスと効率
  4. Web の未来のための思慮深いビルド
  5. コミュニティからのフィードバックおよび参加のためのより多くのチャネルを受け入れる

 

上記 5 つの項目について簡単に紹介していきましょう。

 

拡張機能

拡張機能は、最もリクエストが多い機能であり、Edge チームでは拡張のプラットフォームを Web 技術や開発者に馴染んだ方法で構築しています。

ブラウザの拡張性は、悪意に満ちたソフトウェアに利用される可能性もあるため、Edge の拡張は Windows ストアを通して調査、提供、管理されるようになるとのことです。

拡張機能の実装は今まさに進行中であり、 前述の「Web Assembly への対応について (Mar 16, 2016)」にあるように Windows Insider プログラム経由でにアーリープレビューを共有していきます。

 

アクセシビリティ

Edge チームは、"“the web should just work for everyone.(Web はすべての人に対しきちんと動作すべきである)"ということをモットーに相互運用性に対するコミットメントを強調しています。

ちなみにこの文の “Everyone” はすべてのブラウザーだけでなく、すべてのデバイスと能力に関係なくすべての人を含んでるそうです。

 

Edge チームは、遡ること昨年の 9 月に以下の記事を公開し、Edge での一般的な支援技術のサポートの状態のアウトラインとそのサポートを向上させるロードマップを共有しました。

Accessibility: Towards a more inclusive web with Microsoft Edge and Windows 10

 

これらのゴール上にあるメジャーな進歩にフォーカスをあて以下のの機能の開発を開始しました: 

  • Windows 10上の HTML5 と CSS3 をがサポートするアクセシビリティシステムの近代化
  • HTMLコア アクセシビリティ API のマッピングを有効に
  • Accessible Name and Descriptionの処理および API のマッピングを提供
  • アクセシビリティ対応の HTML5 コントロールと新しいセマンティック要素を追
  • 高コントラストのサポートを改善
  • 近代的なキャレットブラウズと新しい入力様式
  • 視覚障碍者の読みやすさ、フォーカス、および選択を改善
  • 構築のためのツールとテスト用のアクセス可能なサイトの提供

また Web Speech API やスクリプト ベースのユーザー補助のような長期的な投資を行っています。

 

基本機能

Web 開発者が安全で機能的なコードを書くことに責任を持つかぎり、ブラウザはコードがユーザーを傷つけないことと、それらの信頼を破らないことを保証する責任があります。それは予期したように機能し、システム安定性、またはバッテリの寿命への不釣合なインパクトを持ちません。

これらが「完了」しないかぎり、Edge チームは以下を含む 2016 の基本機能にフォーカスし続ける、とのことです。

  • JavaScript のベンチマーク パフォーマンスで業界をリード
  • 複数の次元を横断する製品セキュリティを推進する(たくさんのサプライズがやってきます)
  • キーボードのすくローリングパフォーマンスとインタラクティブ性の強化
  • Adobe Flash を別のプロセスに分離し、不必要なコンテンツを一時停止
  • ネイティブ Windows グラフィックを介して GPU の境界をプッシュし続ける
  • バックグラウンドタブのサスペンション(停止)、タイマーと処理の改善

これらのハイライトに加えて、ユーザーにもっとも影響を与えている信頼性とパフォーマンスの不具合を確認するために、テレメトリーとフィードバックを絶えず詳細に調べています。

 

Web の未来のためのビルド

Edge チームは、HTML5 に代表される新しい技術について、どの機能を実装するべきか選ぶか、そして、どのペースで行うについて、十分な心遣いが重要であると考えています。

最新の技術は、人気をあつめますが、さまざまな理由で断念される可能性もあります。

そういった、急速な進化を受けるあまり望まない混乱を Web デベロッパーに与えてしまわないよう、新しい Web 標準機能を実装するにおいて正しいアプローチを探すことをゴールとしています。

Edge チームでは、次にどの標準機能を実装するか決める際には、スペックの安定性および成熟性、数億の Web サイトから bing クローラーを経て収集されたデータ、パートナーと Web 開発者コミュニティからの実世界のシナリオが持つ要求、などの組み合わせを使用します。

これらを念頭に、以下の技術の開発をスタートしました :

 

上記のほか、ドラッグ & ドロップディレクトリ(非推奨の FileSystem API のサブセット)を既存のフォルダーのアップロードシナリオとともに相互運用性のために実装しています。

将来標準化されるフォルダーアップロード シナリオについて、WICGでDirectory Upload 仕様を継続して作業し続けるとのことです。

昨年、Edge チームは、Microsoft Edge and Web Components という記事で、Web Cpmponents ついてのアウトラインを紹介しました。チームは、DOM の再設計への投資を終え、次に Shadow DOM のプロトタイプを作るつもりですが、標準が安定するまでは、それが長期投資であると思っています。

 

2016 年に成熟すると思われる以下の新しい標準を楽しみにしています。

  • FIDO 2.0:Google、PayPal とその他とともに  FIDO 2.0 の提案を 11 月に W3C に提出しました。
    これらの標準を改良し Edge に実装することで、API を採用する Web サイトへのログインに Windows Hello を使用することができるようになります。
  • Web Payments: W3C の Web Payments  ワーキンググループは、ブラウザーによってホストされるサービスを使用して統合の支払いできるように API のさまざまな提案を検討しています。
  • ECMAScript 2016:ECMAScript 2016 年の機能を開発する ECMA の TC39 委員会に深く従事していきます。

これは業界とともに開発を進めている基準の数十の小さなハイライトで、これらの機能は、ナイトリー ビルドですぐに見え始めることでしょう。

 

コミュニティへの解放

製品フォーカスエリアに加えて、Web コミュニティとオープンにと対話できる方法も広がっています。

Edge チームはユーザーからのフィードバックを歓迎し、また推奨しています。

ユーザーは Microsoft Edge Dev Blog や Platform Status pages 実装の進捗状況を確認したり、Suggestion Box 上の Uservoice で実装してほしい機能のリクエストや投票を行うことができます。また単に Twitter で @MSEdgeDev に接触しても良いでしょう。

 

まとめ

今回は Microsoft Edge Dev Blog に投稿された最近の記事のから Edge の動向について紹介しました。

最新の Insidler ビルドでは、この記事に載っていない機能が、早期実装されていますのでご興味のある方はお試しください。(ただし、Insider ビルドはまさに開発中のものであり、安定性に欠けるためテスト目的以外でのご利用はお勧めしません)

また、引き続き Edge と Windows 10 へのフィードバックをよろしくお願いします。

 

Real Time Analytics

Clicky


Comments (0)

Skip to main content