Internet Explorer: Перехід до живого Edge-режиму - наступний крок до того, щоб веб просто працював



Сьогодні ми випускаємо нову збірку превью Windows 10 з істотним оновленням Internet Explorer в сфері інтероперабельності. Відповідно до нашими планами, це оновлення включає більше 2000 виправлень проблем інтероперабельності, додає підтримку 20 нових можливостей в платформі і привносить нові підхід в архітектурі IE. Ми раді поділитися нашим прогресом в цьому напрямку на ранніх стадіях розробки, щоб зібратися максимальна кількість відгуків саме в цей момент. Ми також випускаємо цю збірку для користувачів сервісу RemoteIE, доступного для Windows, Mac OS X та інших платформ.


«Живий» Edge режим документа
Ключовий елемент цього оновлення Internet Explorer — це платформа «Edge»-режиму — нового режиму документа, спеціально спроектованого з прицілом на інтероперабельність. Вводячи цей режим ми переносимо вкрай успішну стратегію інтероперабельності Windows Phone 8.1 на Windows Update 10.

Як ми анонсували в серпні 2013 року, ми послідовно відмовляємося від режимів документів, починаючи з IE11. У нашому останньому оновленні платформи необхідність у застарілих режимах документів в основному обмежена сумісністю з корпоративними веб-сайтами. З новими архітектурними змінами, дані режими документів будуть ізольовані від змін в «живому» Edge-режимі, що допоможе нам гарантувати набагато більш високий рівень сумісності для тих користувачів, які залежать від цих режимів, і в той же час більшу швидкість внесення змін до Edge. Наступна «велика» версія IE буде враховувати режими документів лише в інтранет-сайтах, сайтах у списку сумісності і при використанні Enterprise-режимі.

Публічні інтернет сайти відображаються в новому Edge-режимі, ігноруючи X-UA-Compatible. Наша мета в тому, щоб Edge був «живим» режимом документа і, починаючи з цього моменту, не з'являлося жодних нових режимів документа. Нам потрібна ваша допомога в тестуванні цього режиму, так що ми включаємо його за замовчуванням для невеликої кількості користувачів Windows Insider і тих з вас, хто вручну вибере даних режим (див. нижче).

Edge-режим оновлює рядок User Agent, спроектовану з тим, щоб працювати з сучасним веб-контентом, уникаючи застарілий, створений спеціально для IE. Природно ми намагаємося при цьому переконатися, що IE веде себе саме так, як це очікується для сучасних сайтів.

У випадках, коли необхідність в однаковій поведінці з іншими браузерами призводить до відхилень від стандартів, ми працюємо з стандартизирующими організаціями та іншими браузерами, щоб оновити специфікації та реалізації.

Нові можливості в превью
Також Edge-режим додає ранні реалізації кількох нових можливостей, над якими ми зараз активно працюємо:

CSS Preserve-3D — популярний запит від розробників, ця можливість дозволяє CSS-трансформації над безліччю елементів як частиною 3D сцени замість того, щоб склеювати їх разом.


Content Security Policy 1.0 — CSP — це наступний крок після введення HTML5 Sandbox для попередження крос-сайтовых. Сторінки можуть описувати правила поведінки через заголовки Content-Security-Policy. Ця політика визначає джерела, з яких дозволяється завантажувати ресурси на сторінці (JS, CSS, плагіни, зображення тощо). Таким чином, з'являється додатковий захист у попередженні вставки шкідливого контенту на сторінці. Ресурси, заблоковані за CSP, відображаються у протоколі, доступному через інструменти F12, і, опціонально, інформація про них відправляється назад на сервер.



CSS Interaction Media Queries (Level 4) — ключовий компонент для чуйного дизайну, що дозволяє гнучко враховувати способи введення. Ми говорили раніше про адаптацію UX з урахуванням різних типів введення, дана можливість — це додатковий інструмент для веб-розробників у цьому напрямку. Таблиці стилів тепер можуть описувати медіа-запити для покажчиків і при наведенні з тим, щоб адаптувати інтерфейс на підставі того, наскільки точним є «механізм» натискання з боку користувача (точний або грубий) і підтримує пристрій облік наведення вказівника на об'єкти.

@media pointer: coarse) {
button {
min-width: 40px;
min-height: 40px;
}
}
@media (hover: hover) {
.menu:hover .submenu {
display: block; 
}
}


Gamepad API — ми вже писали про перших реалізаціях раніше в цьому році, тепер Gamepad API доступний в превью Windows 10. Підключайте до комп'ютера джойстик для Xbox One або Xbox 360 і спробуйте нашу демку на GitHub.

WAV Audio — цей аудіо формат використовує PCM для забезпечення якості без втрат. У цьому релізі ми додали підтримку WAV в елемент і з часом додамо його підтримку Web Audio в майбутніх релізах.

Selection API — ми покращуємо нашу інтероперабельність для виділення об'єктів, реалізуючи такі API, як Selection.extend(), containsNode() і setBaseAndExtent(). Ми також допомогли перевести специфікацію W3C Selection API до першого публічного чорновика стандарту, тепер він включає всі ці API.

Можливості ECMAScript 6
Нові можливості мови з останнього чернетки специфікації ES6 «Harmony»:
  • Classes — синтаксис для визначення класів у ES6.
  • Promises — більш легкий і чистий код для асинхронних викликів. Додає конструктор Promise constructor, а також утилітарні методи 'all' і 'race' для самої мови.
  • Iterators — дозволяє ітерації по итерируемым об'єктів (включаючи масиви, массиво-подібні об'єкти, ітератори і генератори), дозволяючи робити послідовні запити на значення всіх (різних) властивостей об'єкта.
  • Arrow Function — стрілка (=>) — це коротка запис ключового слова «function» з лексичним зв'язуванням «this».
  • Математика, Number, Object, String — безліч нових утилітарних функція і властивостей для роботи з даними.
  • Object Literal Enhancements — додавання обчислюваних властивостей, короткі визначення методів, коротка запис властивостей, чиє значення ініціалізується однойменними змінними.
  • Spread — оператор трикрапки розширює итерируемые висловлення на окремі аргументи. Наприклад, a.b(...array) — це приблизно те ж саме, що і a.b.apply(a, array).
  • Template Strings — запис рядків, що дозволяє виконувати вираження і склеювати рядка.
  • Symbols — дозволяє додавати властивості до існуючих об'єктів без можливості накладення на існуючі властивості, змін видимості або іншим вчинення клієнтом ненавмисних змін з боку іншого коду.
  • Proxies — дозволяє JavaScript-розробникам реалізовувати об'єкти з новими типами поведінки.
  • Weak Set — набір таких об'єктів, що вони будуть збиратися складальником, якщо на них більше не буде ніяких посилань зовні.


Експериментальні можливості
Також це реліз додає нову сторінку в браузері експериментальних можливостей доступну about:flags. Тут ви можете дозволити підтримку в платформі наших нових експериментів, щоб спробувати їх на ранніх етапах. Майбутні експерименти можуть включати нові стандарти, над якими ми працюємо, виправлення інтероперабельності, які ми тестуємо, нові архітектурні підходи до поліпшення продуктивності або безпеки та інше.
Враховуючи великий обсяг змін до Edge-режимі, ми збираємося розгортати новий режим поступово, вибираючи випадковий набір користувачів програми Windows Insider, в той час, як інші користувачі будуть залишатися в режимі документів IE11. Наші інженерні команди на основі відгуків користувачів і анонімної телеметрії будуть керувати процесом розкочування, паралельно ми будемо покращувати нашу платформу.
Якщо вам, як розробнику, необхідна підтримка нової функціональності або ви хочете перевірити сумісність, ви можете просто перейти на сторінку about:flags і вибрати явно Edge-режим, встановивши прапор «Enable Experimental Web Platform Features» в «Enabled» («Automatic» поверне вас до вихідного стану, а «Disabled» дозволить вам порівняти поведінку з режимом документів IE11).



У будь-який момент розробники можуть визначити поточний режим сторінки через інструменти F12. Зауважимо, що динамічне перемикання між режимом Edge і іншими режимами документа через F12 в даний момент не підтримується (як ми сказали, ми експериментуємо!). Зараз для перемикання слід використовувати about:flags.

Відгуки
Ми ділимося з вами планованими змінами раніше, ніж коли-небудь раніше, щоб зібрати більше відгуків саме на перших етапах. В минулому місяці ми представили IE Platform Suggestion Box на UserVoice, в рамках якого розробники можуть вносити свої пропозиції і голосувати за поліпшення в платформі. У цьому релізі ми додаємо інструмент для залишення відгуків прямо в інтерфейсі.



Просто натисніть смайлик, щоб відправити ваше невдоволення виникла на сайті проблемою. Якщо сторінка працює в Edge-режимі, ви також можете спробувати перезавантажити її в режимі сумісності (поведінка IE11). Як і раніше, ви також можете відправити відгук про проблему через Connect або додаток Windows Feedback app в первью Windows 10.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.