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.
Eddie Osmani, da equipe do Google Chrome, apreciou a velocidade e o carregamento rápidos da nova versão do siteO
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.