Aqui, jquery é mencionado na categoria de estrutura: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
O jquery é uma biblioteca ou estrutura javascript?
Aqui, jquery é mencionado na categoria de estrutura: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
O jquery é uma biblioteca ou estrutura javascript?
Respostas:
Uma biblioteca. De acordo com a página inicial e com a qual concordo.
Uma estrutura é algo que geralmente força uma certa maneira de implementar uma solução, enquanto o jQuery é apenas uma ferramenta para facilitar a implementação do que você deseja fazer.
Com certeza, é uma biblioteca javascript. Mas sobre ser uma estrutura ou não, acho que não é uma estrutura. Dê uma olhada na definição de estrutura de software da wikipedia :
É uma coleção de bibliotecas de software que fornece uma interface de programação de aplicativos definida.
E o jQuery é apenas uma única biblioteca. Depois disso, diz:
As estruturas contêm os principais recursos de distinção que os separam das bibliotecas normais:
- inversão de controle - Em uma estrutura, diferentemente das bibliotecas ou dos aplicativos normais do usuário, o fluxo geral de controle do programa não é determinado pelo chamador, mas pela estrutura.
Então, acho que não é uma estrutura.
De acordo com o site angularjs
- uma biblioteca - uma coleção de funções que são úteis ao escrever aplicativos da web. Seu código está no comando e ele chama a biblioteca quando
achar necessário. Por exemplo, jQuery.- estruturas - uma implementação específica de um aplicativo Web, em que seu código preenche os detalhes. A estrutura está no comando e chama seu código quando precisa de algo específico do aplicativo. Por exemplo, durandal, brasa, etc.
Framework e libarry não são necessariamente termos mutuamente exclusivos. O Framework geralmente é uma biblioteca ou uma coleção de bibliotecas.
A rigor, o jQuery é uma biblioteca, mas, até certo ponto, atende à definição de uma estrutura de software. Embora muitos argumentem que o jQuery não atende estritamente à definição de uma estrutura de software, o fato é que nenhuma outra estrutura JavaScript atende totalmente à definição de uma estrutura.
Uma das características definidoras de uma estrutura de software é que seu código está protegido contra modificações. Em JavaScript, isso claramente não é o caso. Quaisquer bibliotecas ou estruturas que possam ser chamadas no seu código do lado do cliente são modificáveis, embora seja contra as práticas recomendadas alterá-las. Portanto, se é permitido chamar o Bootstrap ou o AngularJS de estrutura, não há razão para que o jQuery também não possa ser chamado de estrutura. Este link contém uma explicação mais detalhada de como o jQuery atende aos critérios a serem chamados de estrutura.
Talvez a melhor explicação de por que o jQuery é mais uma estrutura do que uma biblioteca, seja o fato de que, como desenvolvedor, você pode optar por não usar nenhuma de suas funcionalidades semelhantes à estrutura. Você pode, por exemplo, misturar uma instrução jQuery simples com uma instrução JavaScript padrão na mesma linha. AngularJS e Bootstrap normalmente não permitem que você faça isso. Portanto, a resposta exata se o jQuery é uma estrutura ou não é "depende se você escolheu usá-la como estrutura ou não".
Eu concordo com todas as respostas aqui que o jQuery em si é realmente uma biblioteca, não uma estrutura. Conforme especificado pela resposta de Saeed, uma das principais características distintivas é a inversão de controle. No entanto, você pode usar a funcionalidade do jQuery para criar sua própria estrutura.
Exemplos: existem projetos criados sobre o jQuery que são definidos como estruturas: jQuery Mobile: uma estrutura da Web otimizada para toque , JavaScriptMVC e sammy.js para citar alguns.
Também existem outras bibliotecas criadas sobre o jQuery, como a jQuery UI
Algumas delas parecem semânticas ao definir o que é uma biblioteca versus uma estrutura, mas esses exemplos ajudam a traçar a linha para mim.
Se falamos sobre Inversão de controle, da qual quase todo mundo fala sobre o tópico acima, o jQuery é um FRAMEWORK.
Ele possui COI, por exemplo, quando escrevemos a função $ (document) .ready {} ... é o contêiner que chama esse método e simplesmente colocamos nosso código dentro dos chavetas. Nós não somos o chamador deste método e, portanto, "Inversão de controle"
Dessa forma, o jQuery é um FRAMEWORK.
ready()
.