28
State of the Standardized Web Сергей Константинов, Яндекс, W3C TAG

State of the Standardized Web

  • Upload
    yandex

  • View
    33

  • Download
    2

Embed Size (px)

DESCRIPTION

State of the Standardized Web В 2014 году принципы Extensible Web начали воплощаться в новых стандартах. Поговорим о Web Crypto, Web Animations, Service Worker и других вещах, которые должны принципиально изменить веб-платформу в ближайшем будущем. Сергей Константинов, Яндекс Руководитель группы разработки API Яндекс.Карт. Окончил Южно-Уральский государственный университет. Разработкой API Яндекс.Карт занимается с 2008 года. С 2013 — участник Технической архитектурной группы Консорциума W3C.

Citation preview

Page 1: State of the Standardized Web

State of theStandardized Web

Сергей Константинов, Яндекс, W3C TAG

Page 2: State of the Standardized Web

О себеВ Яндексе с 2008 года Руковожу разработкой API Яндекс.Карт С июля 2013 года в W3CTAG

Page 3: State of the Standardized Web

Web Standards: этапы развития

(с) http://theoatmeal.com/comics/working_home 3

Page 4: State of the Standardized Web

Web Standards: этапы развития

Нулевые4

Page 5: State of the Standardized Web

Web Standards: этапы развития

(с) http://theoatmeal.com/comics/working_home 5

Page 6: State of the Standardized Web

Extensible Web Manifesto

› Focus on adding new low-level capabilities to the web platform that are secure and efficient

› Expose low-level capabilities that explain existing features, such as HTML and CSS, allowing authors to understand and replicate them. extensiblewebmanifesto.org

6

Page 7: State of the Standardized Web

Вкусняшки:уже почти готово

Page 8: State of the Standardized Web

WebCrypto

│Привносит в платформу криптографические алгоритмы: › генерация случайных последовательностей битов › хэширование › симметричная и ассиметричная криптография › цифровые подписи › клиентские сертификаты › производные ключи › использование системного keychain › … и многое другое

www.w3.org/TR/WebCryptoAPI8

Page 9: State of the Standardized Web
Page 10: State of the Standardized Web

Будущее почти здесь

10

Page 11: State of the Standardized Web

Web Animations

│Low-level API для анимаций, призвано заменить собой: › CSS Transitions › CSS Animations › SVG SMIL Animations

w3c.github.io/web-animations

11

Page 12: State of the Standardized Web

Web Animations

Позволяет построить существующие высокоуровневые анимации поверх унифицированного фреймворка

арelem.animate([$ { color: 'blue', offset: 0 },$ { color: 'green', offset: 1/3 },$ { color: 'red', offset: 2/3 },$ { color: 'yellow', offset: 1 }], 2000);

Page 13: State of the Standardized Web

Web Animations

› Статус: Working Draft › Имплементации: Blink (ограниченный сабсет) › Stay Tuned

13

Page 14: State of the Standardized Web

Service workers

│ Веб-приложение получает возможность «установить» скрипт, который будет «жить» в браузере независимо от самого приложения и даже если само приложение закрыто.

14

Page 15: State of the Standardized Web

Service Workers

│Может использоваться для: › работы офлайн › работы с кэшами › приёма push-уведомлений › фоновой геолокации › … много всякого

slightlyoff.github.io/ServiceWorker/spec/service_worker/

15

Page 16: State of the Standardized Web

Service Workers

› Статус: Editor's Draft › Планы по имплементации — …

16

Page 17: State of the Standardized Web

Что дальше?

Page 18: State of the Standardized Web

Rendering

│Сейчас рендеринг в браузере выглядит так:

DOM Tree ➔ Render Tree ➔

18

Page 19: State of the Standardized Web

Шаг 1: getQuadBoxes

│Возвращает массив четырёхугольников,соответствующих некоторому DOM-объекту

› учитывает CSS Transforms

› относительные позиции элементов

dev.w3.org/csswg/cssom-view/#the-geometryutils-interface

$

$19

Page 20: State of the Standardized Web

Шаги 2, 3…

› Работа с CSS в JavaScript: › псевдоклассы › css variables › метрики шрифтов › положения переносов и переводов строк

20

Page 21: State of the Standardized Web

Шаги 2, 3…

› Работа с системными элементами › формы › скроллы › active/focused › contenteditable

21

Page 22: State of the Standardized Web

Sensors

› Сейчас: по API на каждый сенсор › Когда-нибудь: унифицированный интерфейс для разных сенсоров

github.com/dglazkov/tubesgithub.com/rwaldron/sensors

22

Page 23: State of the Standardized Web

Permissions

› Сейчас: Permission Hell › Когда-нибудь: система разрешений по запросу,

когда доступ будет дан в ответ на действие пользователя, с пояснением, зачем этот доступ нужен.

23

Page 24: State of the Standardized Web

Где мы сейчас

24

Будущее почти здесь Есть прогресс Всё плохо, но мы работаем над этим

Web Crypto Web Audio Rendering

Web Animations Push Native Elements

Service Workers Shadow DOM Codecs

URL getQuadBoxes Editing

Fetch Intention Events Sensors

<template> Permissions

Page 25: State of the Standardized Web

Когда-нибудь мир станет лучше.Вопросы?

Page 26: State of the Standardized Web

А что насчёт Web Components?

Идея была хороша: раскрыть принципы работы системных компонентов и дать возможность делать свои

Page 27: State of the Standardized Web

А что насчёт Web Components?

Вторая часть, насчёт «делать свои компоненты», с оговорками, но летит. Но вот с «объяснить, как работают нативные компоненты» ошибочка вышла. Написать с помощью Web Components & Shadow DOM свой тэг <input> нельзя. Поэтому я про них не рассказываю ☺

27

Page 28: State of the Standardized Web

Спасибо!