Google Blink не реализует события указателя W3C


Поскольку для создания Blink он отделился от движка рендеринга WebKit, Google был свободен выбирать, что будет реализовано. Теперь у нас есть новости о том, что он решил игнорировать спецификацию W3C для событий касания.

Если вы думали, что стандарты W3C существуют для обеспечения того, чтобы браузеры работали одинаково согласованно, то вам может не понравиться новость о том, что Blink поддерживает WebKit о том, какой API событий касания использовать.

Это еще один пример того, как Apple против Microsoft, где Google находится где-то посередине.

Apple реализовала API Touch Events в WebKit. Это было на пути к тому, чтобы стать стандартом W3C, но возникли некоторые проблемы с патентами, и весь процесс был сорван. Microsoft выступила со своим собственным AP Pointer Events, которому не угрожало вмешательство патентов. В результате W3C сделал Pointer Events стандартом, хотя стало ясно, что патенты не будут проблемой для Touch Events.

События указателя Microsoft более сложны, чем события касания, потому что они предназначены для обработки всех типов ввода – сенсорного ввода, стилуса, мыши и т. Д. – с использованием одной и той же структуры. С точки зрения программиста явно желательна возможность записи в один API независимо от типа устройства ввода.

В движке рендеринга Blink уже есть Touch Events, и проблема как для Apple, так и для Google заключается в том, следует ли реализовать стандарт W3C. Конечно, можно сказать, что у них действительно нет выбора, и стандарт – это стандарт, но … в реальном мире стандарт – это то, что реализует большинство браузеров. Mozilla усердно работает над реализацией событий указателя в Firefox, и, конечно же, Microsoft уже поддерживает события указателя в IE. Таким образом, два из четырех больших браузеров работают со стандартом: Apple поддерживает собственные Touch Events, а Google – реальный выбор.

Теперь мы знаем, что голосование в конечном итоге разделено на два-два, поскольку Google теперь решил не реализовывать события указателя, несмотря на то, что это стандарт W3C. Вы даже можете сказать, что голосование за Touch Events составляет 2,5, поскольку Opera также использует Blink. Будет интересно посмотреть, продолжит ли Mozilla работать над событиями указателей.

Так каковы причины Google?

Сообщение в блоге, объявляющее о решении, гласит:

“1) Сеть, ориентированная на мобильные устройства: события указателя, скорее всего, никогда не вытеснят события касания в сети (особенно без поддержки со стороны Safari). Поскольку события касания никуда не денутся, поддержка другой в значительной степени избыточной модели ввода сопряжена с высокими долгосрочными затратами на сложность веб-платформа “.

По сути, это говорит о том, что, поскольку Apple не собирается поддерживать стандарт, шансы на то, что события указателя заменят события касания, равны нулю, и нам нужен только один API для работы. Apple отказывается работать с W3C над любыми стандартами ввода, поэтому вполне вероятно, что Safari будет придерживаться Touch Events.

Это, кажется, основная причина, потому что две технические причины не кажутся достаточно сильными, чтобы заставить кого-либо отказаться от стандарта. Аргумент состоит в том, что события указателя влияют на производительность, потому что они требуют проверки на попадание при каждом движении.

«Мы не хотим добавлять какие-либо функции, которые увеличивают производительность Интернета по сравнению с родными мобильными платформами».

Второе возражение заключается в том, что для событий указателя требуется статический экран без прокрутки и что обработка событий во время прокрутки – это то, что оказалось необходимым.

У Google, похоже, есть план по расширению поддержки Touch Events таким образом, чтобы сделать возможным создание библиотеки полифиллов, которая сглаживает различия между Touch и Pointer Events.

Таким образом, похоже, что вместо двух API-интерфейсов мы должны рассчитывать на три и неизвестно сколько библиотек полифилов.


Добавить комментарий