Github.com se recusa a usar jQuery e alterna para JavaScript puro

Mislav Marohnić anunciou hoje que os desenvolvedores do Github se livraram do jQuery no front-end do GitHub.com. Parece que não há nada de notável nesse fato, se não por um ponto interessante.

O problema de escolher uma nova estrutura para o front-end foi resolvido radicalmente - decidiu-se fazer sem estruturas em princípio. Em vez disso, as seguintes ferramentas foram usadas:

  • querySelectorAll (que supostamente foi inspirado pelo jQuery de uma só vez),
  • buscar por trabalhar com AJAX,
  • delegated-events para manipular eventos,
  • polyfills para trabalhar com o DOM,
  • elementos personalizados que estão em ascensão.

Além dos elementos personalizados , foi decidido não usar mais nada do Web Components . Os desenvolvedores olharam atentamente para o Shadow DOM e não se importariam de recorrer a ele - no entanto, devido ao fato de a velocidade de pesquisa no DOM deixar muito a desejar para os polyfills, eles tiveram que adiar esse empreendimento por enquanto.

Por que os desenvolvedores basicamente precisam fazer tudo isso? Segundo eles , para “fornecer” menos visitantes a kilobytes, é possível usar uma sintaxe mais explícita para realizar manipulações com o DOM, além de poder usar a biblioteca Flow.JS para análise de tipo estático. Segundo os desenvolvedores, o processo de saída do jQuery levou anos.

imagem

Eddie Osmani, da equipe do Google Chrome, apreciou a velocidade e o carregamento rápidos da nova versão do site

O plugin jquery-pjax foi substituído pelo vanilla pjax , que é especialmente adaptado para o Github, está equipado com melhorias e está intimamente relacionado à base de código - infelizmente, é improvável que o código da versão da biblioteca usada pelo Github esteja aberto devido à dificuldade de suportá-lo no futuro.

A propósito, o Github coloca muitos de seus componentes da Web em código aberto - você pode vê-los por referência , no futuro a lista será expandida. Para navegadores que não possuem suporte a busca nativa, o Github criou seu próprio polyfill ; para delegar eventos, a biblioteca de eventos delegados é usada. Ambas as bibliotecas estão disponíveis sob a licença MIT.

Source: https://habr.com/ru/post/pt418257/


All Articles