O time do Chromium anunciou em Agosto que a Google não está mais trabalhando com a implementação Pointer Events no Chrome para focar no Touch Events, passando o controle da biblioteca do Pointer Events Pollyfill para a Fundação jQuery que agora busca “direcionar a adoção do desenvolvimento desse sistema de evento unificado” e eventualmente ver “todos os navegadores implementarem esse padrão nativamente”.
O WC3 recentemente avançou o processo de padronização do Pointer Events para o estágio de proposta de recomendação, apesar da falta de apoio da Apple e Google. O Pointer Events foi proposto pela Microsoft e inicialmente a Google apoiava o projeto. O time do Polymer criou uma biblioteca de implementação, mas agora eles perderam o interesse devido ao “crescente consenso na Google de que o Blink não deveria ter investido nos eventos Pointer neste momento. Não descartaram, mas não existem planos para implementar”, de acordo com uma discussão entre representantes dos principais navegadores que ocorreu em Junho de 2014. A Apple propôs o Touch Events e está permanecendo com ele.
O Pointer Events foi criado pela Microsoft como uma generalização dos eventos iniciais do mecanismo de mouse, permitindo aos desenvolvedores uma transição simples do desenvolvimento desktop para mobile, provendo a capacidade de lidar com múltiplos dispositivos de entrada: toque, caneta de desenho (aquela que os designers usam para trabalhar com editores de imagem e animações), mouse, etc. Enquanto isso foi “muito atrativo” para a equipe Blink dois anos atrás, agora eles dizem que “isso não se encaixa com as prioridades atuais”, que são:
-
"Mobile First": Pointer Events fazem sentido em “uma perspectiva desktop”, mas a Google considera que vivemos agora em um mundo onde os dispositivos móveis estão em primeiro plano, frisando que os “eventos de touch estão aqui para ficar”. Os desenvolvedores web vão precisar aprender a codificar nesta tecnologia e o Chrome terá de suportá-los. O desejo é que “façamos nossa história no desenvolvimento móvel como foi em plataformas já existentes: focados apenas no touch”.
-
Desempenho: A Google afirma que o Pointer Events para um “teste de acertos e um duplo evento de despacho” totaliza cerca de 2.5% do tempo do frame, diferente do código nativo em dispositivos móveis. Além disso, um manipulador de “pointer move/enter/leave/over/out em qualquer lugar da página iria requerer um teste de acerto, mesmo que a maioria do código estivesse usando touch events”.
-
Características: A Google argumenta que o Pointer Events não permite “efeitos de interação do scroll, como rolar/arrastar páginas ” e eles não estão dispostos a sacrificar recursos com os efeitos citados.
Está cada vez mais difícil para os desenvolvedores manterem dois mecanismos de tratamentos de eventos, porque os representantes da Microsoft querem “a web funcionando independentemente do dispositivo que você possua” e que “as pessoas possam registrar [apenas] um conjunto de eventos”.
Outro problema a ser considerado é que os tipos de entrada podem mudar numa sessão, e alguns websites desprezam outros dispositivos de entrada se os eventos de touch estão ativados, o que é um problema para os usuários com múltiplos dispositivos de entrada, como os laptops touch screen.
Uma vez que a Apple e Google dominaram o mercado de desenvolvimento móvel, o Pointer Events irá enfrentar uma batalha complicada, já que a Google pretende “investir gradativamente em touch events, talvez para torná-lo melhor ao lidar com múltiplos dispositivos”.
Os desenvolvedores ainda tem a opção de utilizar o Pointer Events, agora que o jQuery irá continuar o desenvolvimento da sua implementação em código aberto. A biblioteca do polyfill funciona nas versões: Chrome +18, Safari 6+, Internet Explorer 10, Firefox +14, parcialmente no Opera 12-14. Mas nativamente, apenas o IE e o Firefox (via developer flag) suportam a biblioteca.