30
Microsoft Edgeで サポートされる 新しい API について 日本マイクロソフト株式会社 デベロッパーエバンジェリズム統括本部 物江 修 (@osamum_MS)

Microsoft Edgeでサポートされる新しい API について

Embed Size (px)

Citation preview

Page 1: Microsoft Edgeでサポートされる新しい API について

Microsoft Edgeでサポートされる

新しい API について日本マイクロソフト株式会社

デベロッパーエバンジェリズム統括本部

物江 修 (@osamum_MS)

Page 2: Microsoft Edgeでサポートされる新しい API について

Windows 10 の Web ブラウザー~ 2 つの Web ブラウザーが搭載 ~

Windows 10

Internet Explorer

Edge

Page 3: Microsoft Edgeでサポートされる新しい API について

Windows 10 の Internet Explorer

• Windows 7、8.1 と同じもの• 旧バージョンとの互換性目的• マイナーアップデートはされる

Page 4: Microsoft Edgeでサポートされる新しい API について

Microsoft Edge~新規に開発された Web ブラウザー~

Edge

• 他の Web ブラウザーとの相互運用性• Web 標準• Windows 10 のエクスペリエンス• 既定の Web ブラウザー

Page 5: Microsoft Edgeでサポートされる新しい API について

MICROSOFT CONFIDENTIAL

Th

e M

ob

ile W

eb

Web 標準準拠と他ブラウザ互換~Edge の目指すところ~

Page 6: Microsoft Edgeでサポートされる新しい API について

A break from the past,

220k+Unique LoC Removed

6 document modes

300+ APIs removed

300k+Unique LoC Added

49 New Major Features

4200+ Interop Fix

Page 7: Microsoft Edgeでサポートされる新しい API について

旧「IE 対応」と Edge のジレンマ~旧 IE 向けのコンテンツは正しく動作しない~

If(userAgent==“MSIE”)||(userAgent==?)

旧 Internet Explorer か未知のブラウザー向けコンテンツ

Page 8: Microsoft Edgeでサポートされる新しい API について

Edge モードの userAgent~旧 IE 用コンテンツの弊害回避~

Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36 Edge/12.0

Page 9: Microsoft Edgeでサポートされる新しい API について

Edge モードの userAgent~旧 IE 用コンテンツの弊害回避~

Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36 Edge/12.0

え、なんすか?

Page 10: Microsoft Edgeでサポートされる新しい API について

EdgeとInternet Explorer~ 異なるレンダリングエンジン~

EdgeHTML.dll MSHTML.dll

相互運用性

既定のブラウザ

モダン Web サイト向け

集中を妨げない画面、注釈、Cortana 統合のようなユニークなユーザー体験

互換性

主にイントラネットかエンタープライズモード サイト

IE11 IE10 IE9 IE8 IE7 IE5.5

Edge

Page 11: Microsoft Edgeでサポートされる新しい API について

Microsoft Edge 拡張機能~ 旧バージョンの Internet Explorer との互換性はない ~

• ActiveX

• VBScript

• Browser Helper Objects (BHO)

• Vector Markup Language (VML)

• DirectX Filters and Transitions

• Flash

• Acrobat(pdf)• JavaScript ベースの新しい拡張モデル(予定)

• Chrome、Firefox のプラグイン (予定)

廃止 有効

Page 12: Microsoft Edgeでサポートされる新しい API について

Web サイトの Edge 対応

•ドキュメントモードを使用しない•新しい JS ライブラリ/フレームワークを使用する•ブラウザープラグインを使用しない• CSS ベンダープレフィックスを使用しない•ブラウザーの検出を使用しない• 条件付きコメント

http://dev.modern.ie/tools/

Page 13: Microsoft Edgeでサポートされる新しい API について

EdgeとInternet Explorer~ 異なる互換性への方向性~

クロスブラウザ 旧 IE 互換

• ドキュメントモード• エンタープライズ

モード• ActiveX

旧 IE への互換機能はサポートされない

マイナーアップデート

頻繁なアップデート

進化 既存資産の保守と活用

Page 14: Microsoft Edgeでサポートされる新しい API について

相互運用性への意気込み

In cases where these changes necessarily differ

from standards, we’re following through with

standards bodies and other browsers to update

specs and implementations to reflect the

interoperable behavior.

IEBlog – “Living on the Edge – our next step in helping the web just work” (November 12, 2014 ) より抜粋

Page 15: Microsoft Edgeでサポートされる新しい API について

Edge の Windows 10 エクスペリエンス

ペン/マーカー クリップ Cortana 統合

注釈 リーディングリスト(オフライン)

共有

Page 16: Microsoft Edgeでサポートされる新しい API について

あたらしくサポートされる機能

Page 17: Microsoft Edgeでサポートされる新しい API について

Edge : Platform Status~新しい機能実装状況が公開~

Page 18: Microsoft Edgeでサポートされる新しい API について

Experimental features の有効化~先行実装された機能を使用可能に~

アドレスバーに以下を入力

about:flags

Page 19: Microsoft Edgeでサポートされる新しい API について

開発者から見たMicrosoft Edge の新機能

Page 20: Microsoft Edgeでサポートされる新しい API について

Microsoft Edge の新機能

JS

DOM グラフィックス JavaScript

セキュリティネットワークメディア

Windows 10 版 Microsoft Edge 開発者向けガイド

http://bit.ly/msedge_devguide

Page 21: Microsoft Edgeでサポートされる新しい API について

Game Pad API~ゲームパッドでの操作を可能にする機能 ~

//ゲームパッドの ID を取り出すfunction controlLoop() {

var gamepads = navigator.getGamepads();var length = gamepads.length;

for (var i = 0; i < length; i++) {var pad = gamepads[i];if (pad) {console.log(pad.id);}

}window.requestAnimationFrame(controlLoop);

}window.requestAnimationFrame(controlLoop); //ループ処理

XInput 対応のゲームパッドが必要

Page 22: Microsoft Edgeでサポートされる新しい API について

Media Capture and Stream~ カメラやマイクにアクセスする機能~

//Web Cam を起動して映像を表示navigator.getUserMedia({video: true}, function (stream){

if (typeof (video.srcObject) !== 'undefined'){video.srcObject = stream;

} else {video.src = URL.createObjectURL(stream);

}}, onFailSoHard);

Page 23: Microsoft Edgeでサポートされる新しい API について

Web Audio API~ 音声を処理・合成するための機能 ~

//オーディオファイルの再生var audioCtx = new AudioContext();audioCtx.decodeAudioData(xhr.response,

function (buffer) {var source = audioCtx.createBufferSource(); source.buffer = buffer; source.connect(audioCtx.destination); source.start(0);

});

Page 24: Microsoft Edgeでサポートされる新しい API について

ASM.js~ JavaScript を事前コンパイルして高速に動作させる~

//文字列の長さを返すfunction strlen(ptr) {'use asm';

ptr = ptr|0; var curr = 0; curr = ptr; while (MEM8[curr]|0 != 0) {

curr = (curr + 1)|0; } return (curr − ptr)|0;

}

Page 25: Microsoft Edgeでサポートされる新しい API について

ご提案、フィードバッグを募集しています。

Internet Explorer Platform Suggestion Box!

IE development discussions from MSDN forums

Internet Explorer Beta Feedback

Page 26: Microsoft Edgeでサポートされる新しい API について

さ既存資産との互換 最新の Web 標準

後方互換と最新機能サポートの両立

まとめ

Windows 10

Page 27: Microsoft Edgeでサポートされる新しい API について

参考 1/3

http://dev.modern.ie/platform/status/

Edge のロードマップ

Page 28: Microsoft Edgeでサポートされる新しい API について

参考 2/3

http://bit.ly/msedge_devguide

Windows 10 版 Project Spartan 開発者向けガイド

http://dev.modern.ie/platform/faq/

FAQ (Edge)

Page 29: Microsoft Edgeでサポートされる新しい API について

参考 3/3

monoe’s blogbit.ly/monoe_blog

Page 30: Microsoft Edgeでサポートされる新しい API について