Na seção de perguntas e respostas desta palestra , Douglas Crockford diz que o jQuery não é tão escalável quanto outras bibliotecas populares. O que ele quer dizer com isso, e o que há nas outras bibliotecas que as tornam mais escaláveis?
Na seção de perguntas e respostas desta palestra , Douglas Crockford diz que o jQuery não é tão escalável quanto outras bibliotecas populares. O que ele quer dizer com isso, e o que há nas outras bibliotecas que as tornam mais escaláveis?
Respostas:
Se você assiste ao vídeo, ele não fala formalmente sobre o jQuery. É uma resposta rápida a uma pergunta um tanto offtopic de alguém após a apresentação .... no final da apresentação, cerca do minuto 1:29.
Ele diz muitas coisas boas sobre o jQuery. A parte sobre isso não está bem dimensionada, ele diz que não acredita que o jQuery seja dimensionado muito bem para aplicativos muito complicados (comparando-o com outras coisas como YUI). .
É difícil dizer sem assistir ao vídeo, mas acho que é porque o jQuery não oferece todos os recursos da maioria das outras bibliotecas que facilitam a programação JavaScript. O objetivo do jQuery é facilitar a manipulação do DOM , simplificando o endereçamento de elementos via seletores CSS e fornecendo uma estrutura fácil para alterar esses elementos. Ele oferece algumas outras novidades, como solicitações do Ajax , gerenciamento básico de eventos, modelagem e outras funcionalidades rudimentares, mas é isso.
Outras bibliotecas, como Prototype , MooTools , Ext JS e Dojo, fornecem muitas outras funcionalidades para criar objetos, gerenciar matrizes e coleções, manipular strings e fazer todas as outras coisas importantes que nós, como programadores, esperamos poder fazer.
Em resumo, o jQuery não possui as ferramentas que você deseja para aplicativos JavaScript em larga escala. É muito incomum encontrar sites pesados com JavaScript usando jQuery, por esse motivo. Por exemplo, o Mint.com é baseado no YUI . O serviço da web MobileMe da Apple é executado no SproutCore (o site principal da Apple usa Prototype).
Pelo menos, é o que eu acho que ele quer dizer.
O jQuery não permite muitas reutilizações, como o MooTools, por exemplo.
É uma decisão de filosofia / design: o jQuery não é muito código para cenários de ignorar.
Quando você cria experiências JavaScript discretas (geralmente apenas aprimoramentos de página), isso funciona muito bem e requer muito pouco código. Quando você cria o Google Docs ... nem tanto. Você deseja mais conceitos de OOP que outros projetos expõem, como herança, mecanismos semelhantes a interfaces, etc.