Новые экспериментальные функции Safari в iOS 12, о которых Apple не рассказала на презентации

Егор
ios_12_release_date_rumours_concept_image_1600home_thumb1200_4-3.jpg
В iOS 11 Apple впервые стала включать в систему экспериментальные функции движка Webkit, которые доступны в Настройках > Safari > Дополнения > Experimental Features:

IMG_2783.PNG

И если в iOS 11 их было всего несколько штук, то в первой бета-версии iOS 12 их стало более чем два десятка — рассмотрим, что они дают: 
  • Accessibility Object Model — экспериментальный JavaScript API, который позволяет разработчикам изменять дерево доступности браузера, иными словами — новый удобный доступ к структуре сайта.
  • Async Frame Scrolling — скроллинг, не привязанный к частоте обновления дисплея (нужен для того, чтобы на экранах с частотой в 120 Гц не было визуальных задержек при отображении контента, созданного под меньшую частоту обновления).
  • Cache API — система для хранения и получения сетевых запросов и соответствующих ответов. Это могут быть регулярные запросы и ответы, созданные в ходе запуска приложения, или они могут создаваться исключительно для хранения некоторых данных в кеше.
  • Color Filter — возможность использовать фильтры постобработки, такие как оттенки серого, режимы для людей с нарушениями зрения, и т.д.
  • Constant Properties — не позволяет изменять настройки на веб-страницах с различными настройками. Другими словами, предотвращается изменение веб-сайта или изменение его свойств после его загрузки.
  • Cross-Origin-Options HTTP Header — часть механизма CORS, который защищает сайты от взлома через встраивание куска сайта в песочницу (или наоборот, можно разрешить использовать куски своего сайта на чужих страницах)
  • disabled-adaptations — из такого описания сложно понять, что Apple имеет ввиду, но скорее всего это отключение адаптации сайта под мобильный Safari. Может как дать возможности десктопного сайта, так и вообще сломать загрузку сайта на iOS-устройстве.
  • Modern Encrypted Media API — позволяет управлять воспроизведением цифрового контента, защищенного, к примеру, DRM-ключами.
  • Fetch API Request KeepAlive — функция для сбора аналитики, работает даже тогда, когда сайт не было загружен до конца.
  • From-Origin Response Header — еще одна часть механизма CORS по защите сайтов.
  • Fullscreen API — функция, позволяющая отображать некоторые элементы сайта (не обязательно видео) в полноэкранном режиме. К примеру, это нужно для браузерных игр.
  • ImageBitmap and OffscreenCanvas — фунции, сильно ускоряющие рендеринг графики на странице благодаря использованию многопоточности процессоров и прямому доступу к «железу».
  • Secure Contexts API — функция, суть которой — убедиться, что данные на устройство были доставлены по безопасному протоколу (HTTPS) и не были перехвачены злоумышленниками.
  • Link Preload — функция, предназначенная для предотвращения очистки предварительно загруженных ресурсов после проведения синтаксического анализа.
  • Enable MDNS ICE candidates — функция, которая может ускорить работу с внешним трафиком благодаря тому, что другие устройства в сети будут «указывать» трафику на ваше устройство. Разумеется, чтобы это имело смысл, все устройства должны поддерживать эту функцию.
  • ITP Debug Mode — режим отладки для функции интеллектуального отслеживания поведения пользователя.
  • CSS Spring Animation — функция, позволяющая сделать реалистичную с точки зрения физики анимацию элементов на сайтах.
  • Storage Access API — функция, дающая доступ разработчику к сторонним cookie-файлам, хранящимся на устройстве. 
  • Prompt for Storage Access API Requirements — собственно, сам запрос на доступ к кукам.
  • SubresourceIntegrity — еще одна функция для обеспечения безопасности. Ее суть — владелец ресурса может указать его криптографический хэш, который потом сверяется с хэшем, вычисленным уже после загрузки ресурса на самом устройстве.
  • VisualViewportAPI — механизм изменения свойств той части страницы, которая на данный момент находится на экране.
  • Web Animations — включение анимации на сайтах, написанной на JavaScript.
  • WebGL 2.0 — программная библиотека для языка программирования JavaScript, позволяющая создавать на нем интерактивную 3D-графику.
  • ASTC Texture Support — адаптивная функция для сжатия текстур.
  • WebGPU — позволяет использовать графический процессор для обработки информации на сайтах.
Как видите, большая часть функций полезна скорее разработчикам, чем обычным пользователям, однако некоторые из них (к примеру, тот же WebGPU) полезен для всех. При включении всех функций результат в html5-тесте увеличился на 13 очков — достаточно неплохо, результат в итоге даже выше, чем у браузера Microsoft Edge, хотя до Chrome еще далеко:

IMG_2790.PNG
8

Будь в курсе последних новостей из мира гаджетов и технологий

Мы в соцсетях

Комментарии

+117
Ну в принципе ничего нового, куча программных плюшек, а если из полезного что-то выделить, так это 120гц айфон х+ (или как он там будет называться) конфирмед. Правда это не удивительно...
5 июня 2018 в 20:14
#
+100
Всю жизнь ненавидел IE за кучу настроек. При этом он умудрялся по-моему глючнее всех работать с сайтами, чаще всего (имхо) на нем переставали работать определенные ресурсы.

Короче, имхо не нужно это все iOS. Пользователи не будут это юзать. На месте apple я бы это убрал вообще у обычных пользователей.
5 июня 2018 в 22:45
#
+6
Ну вообще то, они и так находятся в бете для разрабов. Наверняка выпилят из финального релиза в сентябре
6 июня 2018 в 03:48
#
Егор Морозов
+1764
Не выпилят, часть из них можно включить и в стабильной 11.4.
6 июня 2018 в 09:50
#
–662
что мешает просто не заходить в эти настройки?
6 июня 2018 в 12:38
#
+100
В принципе, вы правы, можно просто не заходить. Это с одной стороны.
С другой стороны, любой дополнительный пункт меню — это минус. Попробуйте виртуально добавить еще 100 подобных пунктов в разные места меню, в том числе и в корень. Это все захламит систему и ухудшит ее с точки зрения удобства.
Минимализация интерфейса — это необходимость, и apple всегда это понимала.
Лично я не вижу большой необходимости в этом пункте и лично я бы его убрал. Возможно там все-таки есть такой функционал который никак по-другому не реализуешь и он потенциально востребован.
6 июня 2018 в 14:20
#
babdima
+676
Новая функция, которую заметил, когда ночью воткнул зарядку. Спрашивается: HAXYЯ?!
10 июня 2018 в 02:43
#
–11
5 июля 2020 в 11:19
#