В последнее время во фронтенде появляется столько нового и внедряется настолько быстро, что не все успевают осознать последствия. Хорошо это или плохо? Рассмотрим некоторые новинки с точки зрения «за», а главное – «против».
13. “Проприетарные фичи, которые не
прошли процесс стандартизации
обычно имеют плохой дизайн,
даже когда идея была хорошей.”
– Lea Verou
Каждый раз, когда вы выдаете проприетарную фичу за CSS3 — умирает котенок
http://habrahabr.ru/post/138252/
13
14. В идеале
• предложение и обсуждение
• черновик стандарта
• пробные реализации
• стандарт
• официальные реализации
14
15. В идеале
• предложение и обсуждение
• черновик стандарта
• пробные реализации
• стандарт
• официальные реализации
14
с префиксом или
«за флагом»
16. В идеале
• предложение и обсуждение
• черновик стандарта
• пробные реализации
• стандарт
• официальные реализации
14
с префиксом или
«за флагом»
можно
безопасно
использовать
17. В действительности
• предложение и обсуждение
• черновик стандарта
• пробные реализации
• стандарт
• официальные реализации
15
25. Должно было быть
!
var promiseSupported = 'Promise' in window;
23
26. В действительности
var NativePromise = window['Promise'];
var nativePromiseSupported =
NativePromise &&
// Some of these methods are missing from
// Firefox/Chrome experimental implementations
'resolve' in NativePromise &&
'reject' in NativePromise &&
'all' in NativePromise &&
'race' in NativePromise &&
// Older version of the spec had a resolver object
// as the arg rather than a function
(function(){
var resolve;
new NativePromise(function(r){ resolve = r; });
return typeof resolve === 'function';
})();
24
27. “Успех – паршивый учитель.
Он заставляет умных людей
думать, что они не могут
проиграть.”
– Bill Gates
25
35. DOM4
• декабрь 2013:
«Черновик стандарта DOM4 включает в себя Promises
как примитив языка...»
WSD: Сергей Константинов — Что интересного готовит нам W3C
www.slideshare.net/yandex/w3c-28967881
32
36. DOM4
• декабрь 2013:
«Черновик стандарта DOM4 включает в себя Promises
как примитив языка...»
WSD: Сергей Константинов — Что интересного готовит нам W3C
www.slideshare.net/yandex/w3c-28967881
• январь 2014:
Promise исключены из DOM4 – теперь просто часть ES6
32
37. Ссылаются на DOM4
• Web NFC
• Quota Management
• Web Cryptography
• Web MIDI
• Device Capabilities
• Messaging
• Contacts Manager
• Web Telephony
33
Вот так одна
спецификация может
"отравить" другие
38. Ссылаются на ES6
34
• CSS Font Loading
• Web animations (с июля 2014)
• Service Workers
• TCP and UDP Socket
• Streams
• Battery Status
• Task Scheduler
40. “Promises should be for
one-and-done, non-interruptible,
atomic-ish operations.”
– Domenic Denicola
Автор Q, Promises/A+, ES6 promise spec
36
41. one-and-done, non-interruptible,
Да вы
“Promises should be for
упоролись!
atomic-ish operations.”
– Domenic Denicola
Автор Q, Promises/A+, ES6 promise spec
36
101. DOM Level 2 Traversal and Range
• 2000й год выпуска!
• основа для работы с текстом
• все браузеры ведут себя по разному, свои баги
• не используется из-за нестабильности и
неконсистености
• лучшая альтернатива – <canvas>
93