Depois de ler outra pergunta sobre JQuery e CDN, é possível que ferramentas como JQuery "acompanhem" o navegador, reduzindo / eliminando a necessidade do primeiro download de uma CDN ou de seu próprio servidor host.
Os arquivos JQuery especificamente são muito pequenos, portanto você pode facilmente ter um número (todos?) Das diferentes versões como parte da instalação do navegador. Agora, é justo, isso aumentaria a pegada de instalação e o tempo de download do próprio navegador.
Em seguida, os sites poderiam verificar "local" primeiro, antes da CDN (que é armazenada em cache), antes de finalmente fazer o download no próprio servidor do site.
Se isso é possível, já foi feito e, se não, por que não foi feito?
jquery
web-browser
ozz
fonte
fonte
Array.prototype.forEach
,Array.prototype.indexOf
,Object.create
São todos exemplos de código que foi empacotado para o motor de JavaScript em si.Respostas:
Não há razão tecnológica para que eles não pudessem. No entanto, não é necessário e é contra a filosofia fundamental da web. Não é necessário, porque você pode conseguir quase a mesma coisa com um cabeçalho expirado no futuro distante. Isso é contra a filosofia da Web, porque faz com que haja uma autoridade centralizada, de cima para baixo, na qual as bibliotecas devem / não devem ser agrupadas com o navegador.
Edit: As bibliotecas JS estão lá, principalmente, para facilitar o tratamento do DOM. Não acho que agrupar bibliotecas de terceiros com o navegador seja o caminho certo para tornar a API do DOM mais agradável.
fonte
Na verdade, o que você está descrevendo já existe há anos. Isso se chama cache . E está disponível não apenas para JQuery, mas para tudo o que seu navegador pode baixar.
É exatamente isso que todo navegador faz. Ele verifica primeiro o cache local e, em seguida, baixa um da CDN, se necessário. Com a configuração de cache adequada, não há até mesmo ida e volta ao servidor (para verificar a versão mais recente) por meses.
A inclusão do JQuery na configuração do navegador:
Adicione complexidade desnecessária ao aplicativo e configuração do navegador,
Adicione complexidade desnecessária ao processo de atualização,
Aumente o número de atualizações para manter a versão atualizada do JQuery, mesmo para pessoas que não precisam,
Acrescente confusão: por que o JQuery e não o Prototype, ou alguma outra estrutura, imagem, arquivo CSS etc.?
etc.
Aumentar a complexidade de um produto de software sem benefício em termos de recursos, desempenho etc. é uma péssima idéia.
fonte
Não esqueça que o jQuery é uma biblioteca js, parece que se tornou a de fato e vista como uma panacéia (a ponto de se tornar digna de nota no SO), mas é apenas uma biblioteca js.
Tudo o que é padronizado para script (EMCAScript) já está incluído no navegador; qualquer outra coisa adicionada a outros navegadores se tornaria não padrão e você acabaria com os problemas entre navegadores de navegadores não padrão (como o modelo de evento do IE ) que influenciam parte do motivo pelo qual bibliotecas como o jQuery foram criadas em primeiro lugar.
Resposta curta: eles poderiam ser incluídos, mas não deveriam.
fonte
O cache do navegador fornece algo muito parecido com o que você está falando. Deve acontecer que o jQuery ou qualquer outra biblioteca JS seja baixado uma vez e depois recuperado do cache em solicitações adicionais.
Embora o jQuery possa ser a biblioteca JavaScript mais onipresente, ela não é a única e parece-me que torná-lo um componente instalado do navegador seria ruim para o ecossistema JS. A concorrência é saudável e geralmente leva à inovação, e nós, desenvolvedores e usuários de software, não seríamos bem atendidos, dando ao jQuery uma posição especial.
Depois de levar em conta o cache, a vantagem que você ganha é muito, muito mínima. A versão reduzida do jQuery é de apenas 31K. Isso não é lógica para mudar nada .
fonte