Edge, Spartan и приложения на HTML/JS для Windows

advertisement
Microsoft Developer Tour
Технологическая экспедиция
msdevtour.ru
Microsoft Developer Tour
Технологическая экспедиция
#msdevtour
Edge, Spartan и приложения
на HTML/JS для Windows
Константин Кичинский
Эксперт по стратегическим технологиям, Microsoft
На пути к лучшему вебу
1, 2, 3, 4, 5, вышел зайчик погулять…
Microsoft Developer Tour #MSDevTour
1995
2015
1 2
3
4
4.x
5
5.5
6
7
Trident
8
9
10
11
HTML4, ES3, CSS2
1995
2015
1 2
3
4
4.x
5
5.5
6
7
8
Trident
!DOCTYPE
Quirks
Strict
9
10
11
HTML4, ES3, CSS2
CSS2.1
1995
2015
1 2
3
4
4.x
5
5.5
6
7
8
Trident
!DOCTYPE
x-ua-compatible
IE5
Quirks
IE7
Compatibility
View
IE8
Standards
Mode
9
10
11
HTML4, ES3, CSS2
CSS2.1 HTML5, SVG, ES5
1995
2015
1 2
3
4
4.x
5
5.5
6
7
8
Trident
!DOCTYPE
IE5
Quirks
IE7
Compatibility
View
x-ua-compatible
IE9
Standards
Mode
IE8
Standards
Mode
9
10
11
HTML4, ES3, CSS2
CSS2.1 HTML5, SVG, ES5, CSS3
1995
2015
1 2
3
4
4.x
5
5.5
6
7
8
Trident
!DOCTYPE
IE5
IE7
IE8
Quirks
Compatibility
View
Standards
Mode
IE9
QME
IE10
x-ua-compatible
Standards
Mode
Quirks Mode
Emulation
Standards
Mode
9
10
11
ОХ УЖ ЭТИ IE!
HTML4, ES3, CSS2
Modern Web
Legacy Web
HTML5, SVG, ES5, CSS3
CSS2.1
1995
2015
1 2
3
4
4.x
5
5.5
6
7
8
Trident
!DOCTYPE
IE5
IE7
IE8
EMIE
Quirks
Compat View
Standards
Mode
Enterprise
Mode
IE9
IE10
QME
IE11
x-ua-compatible
Standards
Mode
Standards
Mode
Quirks Mode
Emulation
Standards
Mode
9
10
11
👿 АД ВЕБ-РАЗРАБОТЧИКА
В аду плохого веб-разработчика
заставляют проверять свой сайт
в каждой версии каждого браузера.
МЫ ХОТИМ ОДНУ
ПОСТОЯННО СВEЖУЮ
ВЕРСИЮ ДВИЖКА
Windows
Adaptive
User Interface
Natural
User Inputs
One SDK +
Tooling
One Store +
One Dev Center
Единая Windows-платформа
Cloud
Services
Windows как сервис
Быстрое обновление пользователей
Фрагментация мешает разработчикам радовать пользователей
Добавление новых возможностей по готовности, не дожидаясь следующей
«большой» версии
Windows 10 будет бесплатным обновлением
Доступно через Windows Update
1 миллиард устройств, подключенных к WU и готовых к Windows 10
Windows 7
650M auto-updated to SP1
Windows 8.x
200M auto-updated
to 8.1
WP
Xbox
1.5+ млрд Windows ПК, WP, Xbox
Как помочь все протестировать?
Частые и свежие обновления
Регулярные превью-версии через Windows Insider
Пользователи могут выбрать частоту (“flight ring”)
Постоянная обратная связь
1+ млн отзывов через приложение Windows Feedback
Данные и телеметрия для принятия инженерных решений
Команды нацелены на отзывы пользователей и заказчиков
DEMO
Windows Feedback
Microsoft Developer Tour #MSDevTour
Project Spartan
Проект “Spartan” (это кодовое имя)
Новый браузер для всех устройств на Windows 10
Построен на Universal App Platform
Готовность к будущему
Нет наследия вроде тулбаров и BHO
Современные механизмы защиты (64bit, AppContainer, EPM)
Может запустить IE для совместимости
Продвинутые возможности
Интеграция цифровой помощницы Кортаны
Режим чтения, в т.ч. оффлайн
Встроенный режим заметок и шаринга
DEMO
IE11, Project Spartan
Microsoft Developer Tour #MSDevTour
EDGEHtml
Я смотрел, как Джастин Роджерс, один из наших
инженеров, нажимает “Enter” на коммит, который
форкнет движок. Это займет около 45 минут только на
обработку (просто внесение изменений, не сборку!).
Когда все закончилось, в комнате стояла освобождающая тишина.
Тогда мы могли только представить, что этот шаг позволит нам
сделать: начать удалять код, любимое состояние
катарсиса для каждого разработчика.
Jacob Rosssi
Microsoft EdgeHTML
Microsoft EdgeHTML
Постоянно свежий
Постоянно
свежий
INTEROPERABILITY
COMPATIBILITY
Зачем нужен новый движок?
Приоритеты конкуренции: совместимость и интероперабельность
 Пользователи хотят, чтобы 10-летней давности продолжали работать
 Пользователи хотят, чтобы современный веб «просто работал»
 Разработчики хотят поддержки последних и классных веб-стандартов
Переосмысление предположений
 Версионность режима документов не вписывается в
эволюционирующий веб и быстры цикл обновления
 Список совместимости не масштабируется на длинный хвост сайтов
 Фокус на стандартах не всегда приводит к интероперабельности
Интероперабельность
Interoperability Trident (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
Chrome
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/39.0.2171.95 Safari/537.36
Интероперабельность на практике
IE11 в Windows 8.1
С поддержкой –webkit transitions
Интероперабельность на практике
Windows Phone 8.1
Новый user-agent
Удалена проверка флага
‘installable’ в cross-origin
шрифтах
Интероперабельность на практике
Windows Phone 8.1
С поддержкой –webkit-gradient
НОВЫЕ
ФИШКИ
Новые возможности и обновления
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 capture
HLS
WebAudio
Video Tracks
WAV Audio support
Input & Editing
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
Media & RTC
DOM & Graphics
• SVG foreignobject
• SVG attribute animation
• Complete WebGL support
• DOM event constructors
• DOM Level 3 XPath
• Touch events
•
•
•
•
Pointer lock API
Media Queries L4 - Interaction
Selection API
Gamepad API
Shipped
Preview Release
In development
И еще…
2000+ Interoperability Fixes, Preserve-3d, Touch Events, CSS Filter Effects, DOM Clipboard
Support, HTML Drag and Drop, Web Audio, CSS Position Sticky, CSS @supports, CSS Flexbox,
HTML Beacon, WebDriver, IndexedDB, WebCrypto, Internation Mixed Languages Support, CSS
Grid, CSS Variables, srcset, <picture> element, Web Workers Update, DOM4 Events, Font Loading,
BDI, Cross-domain, HLS Manifest, Block Ellipsis, WAV, @rules, CSS Text(), CSS Border Logical,
Logical Box Model, DOM Gamepad API, DOM FileSystem API, HTML <date> element, HTML
<keygen> element, HTML <main> element, HTML <output> element, HTML <summary>
element, HTML <detail> element, HTML <time> element, Native PDF, AppCache, SVG Hosting,
Mutation Observers, HTML bidirectional, HTML Speech API, SVG animations, SVG transitions, SVG
transforms, Canvas Path, Canvas Accessibility API, CSS Select Control, CSS Masking, CSS Clipping,
Navigation Error Logging, CSS element(), CSS Shapes, ORTC, CSS Escape, Shared Workers, ES6
Modules, ES6 Promises, CSS Intrinsic & Extrinsic Sizing, Web Components, CSS Scoped Styles,
HTTP 2.0, CSS Resize, WebGL, Canvas Blend Modes, CSS Interpolation, CSS Line Grid, CSS Line Box
Contain, CSS Ruby, DOM Event Constructors, HTML <ol> Reverse, Server-Sent Events, Viewport
APIs, Quota API, etc.
Windows 8 и ранее
Internet Explorer: MSHTML
Interoperability & compatibility
Versioned “document modes”
For modern HTML websites, intranet & Enterprise Mode
Windows 10 и далее
status.modern.ie
DEMO
Статус платформы
Microsoft Developer Tour #MSDevTour
Что делать?
Убедитесь, что ваш сайт правильно работает с новым UA
Используйте последнюю версию IE/Project Spartan
Удаленный доступ: https://remote.modern.ie
Windows Insider Program: https://insider.windows.com
Внедряйте проверку доступности функциональности
Feature detection
Не ориентируйтесь на UA (по возможности)
Делитесь отзывами
http://uservoice.modern.ie
https://connect.microsoft.com/ie
@IEDevChat
Приложения на HTML/JS
Когда рушатся стены и стираются границы
Microsoft Developer Tour #MSDevTour
Спектр веб-приложений
Упакованное
веб-приложение
Хостинг
веб-приложения
Веб-сайт
• Обнаруживается и
отображается через
браузер
• Большая часть приложения
хостится на сервере
• Доступ к нативным API
• Распространение через
магазин
• Контент внутри
приложения
• Cordova, WebView,
нативная поддержка
• Распространение через
магазин
Хостинг веб-приложений
Когда вы, почти ничего не делая, получаете много всего и сразу. 
Microsoft Developer Tour #MSDevTour
Хостинг приложений сегодня
App Store (iOS, Android, Windows…)
Native app container
WebView
Web Site
custom bridge
Native Code
Hosted Web App in Windows 10
App Store
Native app container
WebView
Web Site
Native Code
Windows APIs
Хостинг веб-приложений
Гибкость и богатство веба с мощностью приложения
Liberty’s Cafe
Перенести опыт работы с вебсайтом в магазин Windows
Обнаружение, интеграция в оболочку,
закрепление, Кортана,…
Использовать текущие
инвестиции и наработки
Сохранить при этом текущий процесс
разработки
Получить доступ к Universal APIs
Уведомления, камера, контакты,
календарь, …
Хостинг веб-приложений
if (typeof Windows != ‘undefined’) {
// Create an appointment with
Windows.ApplicationModel.Appointments.A
ppointment();
}
Native APIs
Native APIs
Хостинг веб-приложений
Используйте текущий процесс обновления сайта
Code
Push
Stage
Release
Манифейст для приложений
<uap:ApplicationContentUriRules>
<uap:Rule Type="include" WindowsRuntimeAccess="all"
Match="https://rjs.azurewebsites.net/" />
<uap:Rule Type="include" WindowsRuntimeAccess="allowForWebOnly"
Match="https://*.facebook.com/" />
<uap:Rule Type="include" WindowsRuntimeAccess="none" Match="http://bing.com/" />
<uap:Rule Type="include" Match="https://*.microsoft.com/" />
</uap:ApplicationContentUriRules>
W3C Standard
{
"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"
Manifest for Web Apps
http://w3c.github.io/manifest/
}
Упакованные (гибридные)
веб-приложений
Ваши врата в мир приложений на HTML/JS
Microsoft Developer Tour #MSDevTour
Улучшенный контрол WebView
Доступ к Windows Runtime
Свежий движок от Project Spartan
Полная поддержка богатых сценариев
AppCache, IndexedDB, Clipboard
Новые API для гибридных сценариев
AddWebAllowedObject, ClearData
Улучшенная производительность
DEMO
Хостинг веб-приложений в Windows 10
Microsoft Developer Tour #MSDevTour
Cordova в Windows 10
Использует движок Project Spartan
Нативная производительность JS
Поддержка Embedded Cordova
Доступ к Cordova API внутри WebView
Разработка для Windows-платформы, используя существующие
CLI или IDE для Cordova
Развитие веб-платформы
Улучшенная интероперабельность
Новый движок в Project Spartan — insider.windows.com
Всегда свежий (3000+ багов совместимости с браузерами исправлено)
Новые возможности
Более 40 новых веб-стандартов (ECMAScript6, HTTP2, WebGL, …)
Открытый процесс: следите на status.modern.ie или спрашивайте в @IEDevChat
Меньше границ между сайтами и приложениями
Разрешить хостящимся веб-приложениям доступ к Universal APIs
Улучшения в WebView и инструментах для Cordova
Edge, Spartan и приложения
на HTML/JS для Windows
Константин Кичинский
Эксперт по стратегическим технологиям, Microsoft
@kichinsky, konkich@microsoft.com
©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.
Download