microsoft edge и платформа веб-приложений в windows 10 /...

79
Константин Кичинский Эксперт по стратегическим технологиям Microsoft Microsoft Edge и платформа веб- приложений в Windows 10

Upload: ontico

Post on 14-Apr-2017

399 views

Category:

Engineering


6 download

TRANSCRIPT

Константин Кичинский

Эксперт по стратегическим технологиям

Microsoft

Microsoft Edge и платформа веб-приложений в Windows 10

MICROSOFT EDGE

EDGEHTMLCHAKRA

WEB APPSBRIDGE

Новый движок Windows 10Новый браузер

Все меняется

Новый Microsoft

НОВЫЙ

CEO

УМНОЕ

ОБЛАКО

ДЛЯ ВСЕГО

ПЕРЕНОСИМЫЙ

МОБИЛЬНЫЙ

ОПЫТ

НОВЫЙ

ВЗГЛЯД

ПОМОЧЬ

ЛЮДЯМ

ДЕЛАТЬ

БОЛЬШЕ И

ДОСТИГАТЬ

БОЛЬШЕГО

НОВЫЙ

ПОДХОД

ОТКРЫТОСТЬ

И ПРОЗРАЧНОСТЬ

ШИРОКОЕ

ВЗАИМОДЕЙСТВИЕ

ИННОВАЦИИ

И ЭКСПЕРИМЕНТЫ

Новый браузер

Microsoft Edge

…🗟🖊

👇

Чего люди ожидают от браузера?

🏥🚀🔋🗪🎓

Правильное время двигаться дальше!

Тяжкое наследие прошлого

1995

3 41 2 5.5 65 7 84.x 9

2015

9 10 11

КЛАССНЫЙ

СОВРЕМЕННЫЙ

ПРОРЫВНОЙ

БРАУЗЕР

1995

3 41 2 5.5 65 7 84.x 9

2015

9 10 11

HTML4, ES3, CSS2

!DOCTYPE

QUIRKS STRICT

1995

3 41 2 5.5 65 7 84.x 9

2015

9 10 11

IE5QUIRKS

IE7COMPATIBILITY

VIEW

IE8STANDARDS

MODE

CSS2.1HTML4, ES3, CSS2

!DOCTYPEx-ua-compatiblecontent="edge"

1995

3 41 2 5.5 65 7 84.x 9

2015

9 10 11

IE8STANDARDS

MODE

IE9STANDARDS

MODE

CSS2.1HTML4, ES3, CSS2 HTML5, SVG, ES5

!DOCTYPEx-ua-compatiblecontent="edge"

IE5QUIRKS

IE7COMPATIBILITY

VIEW

1995

3 41 2 5.5 65 7 84.x 9

2015

9 10 11

IE5QUIRKS

IE8STANDARDS

MODE

IE9STANDARDS

MODE

CSS2.1HTML4, ES3, CSS2 HTML5, SVG, ES5

IE7COMPATIBILITY

VIEW

!DOCTYPEx-ua-compatiblecontent="edge"

QMEQuirks Mode

Emulation

IE10STANDARDS

MODE

1995

3 41 2 5.5 65 7 84.x 9

2015

9 10 11

IE5QUIRKS

IE8STANDARDS

MODE

IE9STANDARDS

MODE

IE7COMPAT.

VIEW

!DOCTYPEx-ua-compatiblecontent="edge"

QMEQuirks Mode

Emulation

IE10STANDARDS

MODE

Legacy WebCSS2.1

Modern WebHTML5, SVG, ES5, CSS3HTML4, ES3, CSS2

EMIEEnterprise Mode

IE11STANDARDS

MODE

👿 АД ВЕБ-РАЗРАБОТЧИКА

В аду плохого веб-разработчиказаставляют проверять свой сайт в каждой версии каждого браузера.

Включая мобильные!

1995

3 41 2 5.5 65 7 84.x 9

2015

9 10 11

КЛАССНЫЙ

СОВРЕМЕННЫЙ

ПРОРЫВНОЙ

БРАУЗЕР

ActiveX (COM/OLE)BHOs (Actions)DX Filters/TransitionsVML VBScriptРежимы документов (IE8)Условные комментарии…

1995

3 41 2 5.5 65 7 84.x 9

2015

9 10 11

КЛАССНЫЙ

СОВРЕМЕННЫЙ

ПРОРЫВНОЙ

БРАУЗЕР

ActiveX (COM/OLE)BHOs (Actions)DX Filters/TransitionsVML VBScriptРежимы документов (IE8)Условные комментарии…

1995

3 41 2 5.5 65 7 84.x 9

2015

9 10 11

КЛАССНЫЙ

СОВРЕМЕННЫЙ

ПРОРЫВНОЙ

БРАУЗЕР

ActiveX (COM/OLE)BHOs (Actions)DX Filters/TransitionsVML VBScriptРежимы документов (IE8)Условные комментарии…

УДАЛЕНО

220k+Уникальных

строчек кода

6 режимов

документов

300+ APIs

Я смотрел, как Джастин Роджерс, один из наших инженеров, нажимает “Enter” на коммит, который форкнет движок. Это займет около 45 минут только на обработку (просто внесение изменений, не сборку!).

Когда все закончилось, в комнате стояла освобождающая тишина.Тогда мы могли только представить, что этот шаг позволит нам

сделать: начать удалять код, любимое состояние катарсиса для каждого разработчика.

Jacob Rossi

1995

3 41 2 5.5 65 7 84.x 9

2015

9 10 11

КЛАССНЫЙ

СОВРЕМЕННЫЙ

ПРОРЫВНОЙ

БРАУЗЕР

БОЛЬШЕ ВЕБ-СТАНДАРТОВБОЛЬШЕ СКОРОСТИБОЛЬШЕ НАДЕЖНОСТИБОЛЬШЕ ПРОДУКТИВНОСТИБОЛЬШЕ ПЕРСОНАЛЬНОСТИБОЛЬШЕ СВЕЖЕСТИ

1995

3 41 2 5.5 65 7 84.x 9

2015

9 10 11

КЛАССНЫЙ

СОВРЕМЕННЫЙ

ПРОРЫВНОЙ

БРАУЗЕР

БОЛЬШЕ ВЕБ-СТАНДАРТОВБОЛЬШЕ СКОРОСТИБОЛЬШЕ НАДЕЖНОСТИБОЛЬШЕ ПРОДУКТИВНОСТИБОЛЬШЕ ПЕРСОНАЛЬНОСТИБОЛЬШЕ СВЕЖЕСТИИ РАСШИРЕНИЯ…

MSHTML

СОВМЕСТИМОСТЬ

СО СТАРЫМИ ВЕРСИЯМИ

И ДРУГИМИ БРАУЗЕРАМИ

Веб, интранет, корпоративный режим

Наследие прошлого: ActiveX, BHO, …

WINDOWS 8 и ранее

Internet Explorer 11: MSHTML

СОВМЕСТИМОСТЬ

СО СТАРЫМИ ВЕРСИЯМИ

Веб, интранет, корпоративный режим

Наследие прошлого: ActiveX, BHO, …

Microsoft Edge: EdgeHTML

СОВМЕСТИМОСТЬ

С ДРУГИМИ БРАУЗЕРАМИ

Постоянно обновляемый движок

Свежий браузер для современных сайтов

Без бинарных расширений (безопасность++)

WINDOWS 10 и далее

Новый движок

EdgeHTML, Chakra

КЛАССНЫЙ

СОВРЕМЕННЫЙ

СОВМЕСТИМЫЙ

БРАУЗЕР

ДОБАВЛЕНО

300k+Уникальных

строчек кода

49 новых больших

возможностей

4200+ исправлений

совместимости

EdgeHTML

Когда просто следовать стандартам не достаточно

Совместимость

с другими браузерами

Совместимость не так проста

Мо

би

льн

ый

веб

Совместимость не так проста

Мо

би

льн

ый

веб

Microsoft Edge (EdgeHTML)

Mozilla/5.0 (Windows NT 10.0;

WOW64) AppleWebKit/537.36

(KHTML, like Gecko)

Chrome/36.0.1985.143

Safari/537.36 Edge/12.0

EdgeHTML

User-Agent String

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)

Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko)

Version/8.0 Safari/600.1.25

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)

Chrome/40.0.2214.93 Safari/537.36

Mozilla/5.0 (Windows NT 10.0; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0

User-Agent String

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)

Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko)

Version/8.0 Safari/600.1.25

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)

Chrome/40.0.2214.93 Safari/537.36

Mozilla/5.0 (Windows NT 10.0; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0

Inte

rop

2

Inte

rop

1

Inte

rop

3

Inte

rop

0

Работало в IE11

Используется на

реальных сайтах

Работает в других

браузерахМы считаем, что

сайты скоро

начнут это

использоватьРеальное

использование не

скоро или никогда

Приоритеты совместимости

Запрос новых

возможностейчерез UserVoice

dev.modern.ie

Новые возможности и обновленияCSS

• @supports

• Flexbox standards update

• dppx unit

• transform-style: preserve-3d

• Filter effects

Storage & networking

• HTTP/2

• Content security policy

• Web Crypto API updates

• HSTS (HTTP Strict Transport

Security

Media & RTC

• Media capture

• HLS

• WebAudio

• Video Tracks

• WAV Audio support

Input & Editing

• Touch events

• Pointer lock API

• Media Queries L4 - Interaction

• Selection API

• Gamepad API

JavaScript

• ES6 Math, Number, String,

RegExp & Object built-ins

• Arrow functions, Enhanced

object literal, Template strings,

Default, Rest, Spread

• Map, Set, Weakmap, __proto__,

Proxies

• Let, Const, Promises, Classes

DOM & Graphics

• SVG foreignobject

• SVG attribute animation

• Complete WebGL support

• DOM event constructors

• DOM Level 3 XPath

Shipped

Preview Release

In development

Chakra

Возможности железаМногопоточность JIT

Многоуровневая компиляция

ОптимизацияРеальные сценарии (минификация)

Встраивание функций

Работа с массивами

Сборка мусора

Asm.js

ES’15 I18N

SIMD

ES’16

Benchmarks

0

20

40

60

80

100

120

140

160

Internet Explorer

11

Microsoft Edge Chrome Canary

43.0.2369.0

Firefox Alpha

40.0a1(04-14)

JetStream

0

5000

10000

15000

20000

25000

Internet Explorer

11

Microsoft Edge Chrome Canary

43.0.2369.0

Firefox Alpha

40.0a1(04-14)

Octane 2.0

about:flags

MSHTML.dll

JSCRIPT9.dll

СОВМЕСТИМОСТЬ

СО СТАРЫМИ ВЕРСИЯМИ

EdgeHTML.dll

Chakra.dll

СОВМЕСТИМОСТЬ

С ДРУГИМИ БРАУЗЕРАМИ

WINDOWS 10 и далее

User Agent

StringИзбавляйтесь от

детектирования

браузера

ТестыСтавьте Windows 10

или используйте

виртуальные

машины

ПожеланияИспользуйте

UserVoice, Twitter,

Connect

Сайты превращаются…

Веб-приложения

VS.

Как люди получают доступ к сервису?

+

Как люди получают доступ к сервису?

VS.

Откуда люди получают доступ к сервисам?

Откуда люди получают доступ к сервисам?

+

Веб-сайтHTML

CSS

JS ОС

Упакованные приложения

Packaged Apps

HTML

CSS

JS

ОС

app

HTA (1999)

Prizm (2007)

CEF (2009)

WinRT + UWP

Electron

NW.js

HTML

CSS

JS

ОС

app

HTA (1999)

Prizm (2007)

CEF (2009)

WinRT + UWP

Electron

NW.js

Windows

FirefoxOS

ChromeOS

…TV

Apache

Cordova

HTML

CSS

JS

ОС

app

HTA (1999)

Prizm (2007)

CEF (2009)

WinRT + UWP

Electron

NW.js

Windows

FirefoxOS

ChromeOS

…TV

Apache

Cordova

Хостящиеся приложения

Hosted Apps

Веб-сайтHTML

CSS

JS ОС

Веб-стандарты

Закрепление сайтов

Расширения

Веб-сайтHTML

CSS

JS ОС

Веб-стандарты

Закрепление сайтов

Расширения

Manifest for Web Appshttp://w3c.github.io/manifest/

W3C Standard

Manifest for Web AppsЕдиное место для описания метаданных, связанных с веб-приложением<link rel="manifest" href="manifest.json">

Спецификацияhttp://w3c.github.io/manifest/

{"name": "Super Web App","short_name": "SuperWA","start_url": "http://www.example.com",

"icons": [{"src": "tiny.png","sizes": "70x70"

},{"src": "square.png","sizes": "150x150"

},{"src": "apple-touch-icon-72x72-precomposed.png","sizes": "72x72"

},{

"src": "niceicon.png","sizes": "128x128"

}],"display": "standalone","orientation": "landscape"

}

Веб-сайтHTML

CSS

JS ОС

Manifest for Web Appshttp://w3c.github.io/manifest/

Веб-сайтHTML

CSS

JS ОС

Manifest for Web Appshttp://w3c.github.io/manifest/

Веб-сайтHTML

CSS

JS

.appx

ОС

Manifest for Web Appshttp://w3c.github.io/manifest/

Windows 8.1 & Windows Phone 8.1

Web Application Template (WAT)http://wat.codeplex.com/

Веб-сайтHTML

CSS

JS

.appx

ОС

Manifest for Web Appshttp://w3c.github.io/manifest/

Windows 8.1 & Windows Phone 8.1 + Android

Web Application Template (WAT)http://wat.codeplex.com/

Веб-сайтHTML

CSS

JS

.appx

ОС

Manifest for Web Appshttp://w3c.github.io/manifest/

Windows 8.1 & Windows Phone 8.1 + Android

Web Application Template (WAT)http://wat.codeplex.com/

WebView

Custom BridgeNative Code

Ограниченный

доступ к WinRT

Веб-сайтHTML

CSS

JS

.appx

ОС

Manifest for Web Appshttp://w3c.github.io/manifest/

Windows 10

Universal Windows Platform

“Project Westminster”

Безопасный прямой

доступ к WinRTCSP, Manifest Rules

WebView

Native Code Windows APIs

HTML

CSS

JS

.appx

ОС

Manifest for Web Appshttp://w3c.github.io/manifest/

Windows 10 (UWP)

“Project Westminster”

🗓

Windows APIs

if (window.Windows) {

// Create an appointment

Windows.ApplicationModel.Appointments.Appointment();

}

Trip to Barcelona3/25/2015 All Day

Notes: Return to work

Безопасный прямой

доступ к WinRTCSP, Manifest Rules

DEMOХостящееся веб-приложение

Веб-сайтHTML

CSS

JS

.appx

ОС

Manifest for Web Appshttp://w3c.github.io/manifest/

Windows 10 (UWP)

WebView API

addWebAllowedObjectclearTemporaryWebDataAsync

Безопасный прямой

доступ к WinRTCSP, Manifest Rules

WebView

Native Code Windows APIs

"MSWebViewNewWindowRequested""MSWebViewPermissionRequested"

Я не хочу завязываться на WinRT?

И как же веб-стандарты?

Что если…

Веб-сайтHTML

CSS

JS

.appx

ОС

Manifest for Web Appshttp://w3c.github.io/manifest/

Windows 10

Apache Cordova + UWP

“Project Westminster”

Безопасный прямой

доступ к WinRTCSP, Manifest Rules

Native

Code

Windows

APIs

Текущий процесс для обновления контента

Code

Visual Studio

Notepad++

Brackets

Vim

ATOM

Sublime Text

Emacs

Push

Git

SVN

Visual Studio Online

GitHub

Bitbucket

Gitlab

Host

Amazon WS

Heroku

Parse

Private Cloud

Microsoft Azure

Release

В ОСНОВЕ ВАШ САЙТ

РАСШИРЕНИЕ ОПЫТА

ПРОЦЕСС РАЗРАБОТКИ

Доступ к UWP APIs и нативному коду

в «оболочке»

Практически без изменений

Вы управляете кодом приложения

в любой момент

EdgeHTML.dll Chakra

MICROSOFT EDGE

EDGEHTMLCHAKRA

WEB APPSBRIDGE

Новый движок Windows 10Новый браузер

Развитие веб-платформы

Улучшенная интероперабельностьНовый движок в Microsoft Edge — insider.windows.com

Всегда свежий (4200+ багов совместимости с браузерами исправлено)

Новые возможностиБолее 40 новых веб-стандартов (ECMAScript6, HTTP2, WebGL, …)

Открытый процесс: следите на dev.modern.ie или спрашивайте в @MSEdgeDev

Меньше границ между сайтами и приложениямиРазрешить хостящимся веб-приложениям доступ к Universal APIs

Улучшения в WebView и инструментах для Cordova

RoadMap

Windows 10 как сервис3млн.+ Windows Insiders

Запуск Windows 10 RTM – летом 2015

1млрд. устройств через 2-3 года

Microsoft EdgeНезависимое регулярное обновление

После RTM Windows 10: Расширения

Дополнительные сценарии с Cortana

Object RTC, Pointer lock

Новые технологии

Константин КичинскийЭксперт по стратегическим технологиям, Microsoft

@kichinsky, [email protected]

Microsoft Edge и платформа

веб-приложений в Windows 10

©2015 Microsoft Corporation. All rights reserved. Microsoft, Windows, Office, Azure, System Center, Dynamics and other product names are or may be registered trademarks and/or

trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this

presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee

the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN

THIS PRESENTATION.