Diferença entre jQuery x AngularJS x Node.js [fechado]

106

Estou apenas começando o desenvolvimento web e até agora sei:

HTML - layout do site

CSS - deixe-o bonito

JavaScript - funcionalidade

Então, o que é jQuery , AngularJS e Node.js ?

Depois de fazer uma pesquisa rápida, descobri que jQuery é uma "biblioteca JavaScript", AngularJS é "framework de aplicativo da web front-end de código aberto baseado em JavaScript" e Node.js é "JavaScript runtime environment".

Eles parecem estar todos relacionados ao JavaScript, então são novas linguagens? O que significa 'framework / biblioteca'?

Uma resposta simples seria apreciada. (Estou apenas começando a programação web, mas estou familiarizado com programação).

K Split X
fonte
2
Uma "biblioteca" é basicamente apenas uma coleção de funções úteis que outra pessoa escreveu e testou para você - jQuery é uma coleção de funções JavaScript. Uma "estrutura" é um tipo de abstração em que o código da estrutura do aplicativo comum foi escrito para você e você pode substituir partes dele conforme apropriado para as necessidades específicas do seu aplicativo. NodeJS é uma ferramenta que permite que você execute JavaScript em algum lugar diferente do navegador (geralmente em um servidor web, em vez de Java ou DotNET ou PHP ou qualquer outro).
nnnnnn
3
Você vai ficar bem. Você sabe porque? Porque você fala inglês. Já existem toneladas de coisas para você. Você só precisa ter tempo e aprender. No meu país, o inglês é um grande problema. Eu conheço muitas pessoas, lutando para aprender a programar (muitos desistiram e mudaram para outros empregos) só porque lá o inglês não é bom. Ainda assim, como eu disse, vai demorar muito de você.
vothaison de
Veja também esta questão .
nnnnnn de

Respostas:

202

jQuery é uma biblioteca (lado do cliente)

jQuery é uma biblioteca JavaScript rápida, pequena, leve, "escreva menos, faça mais" e rica em recursos.

Ele torna as coisas como a passagem e manipulação de documentos HTML, manipulação de eventos, animação e Ajax muito mais simples com uma API fácil de usar que funciona em vários navegadores.

AngularJS é uma estrutura MVC (lado do cliente)

AngularJS é uma estrutura JavaScript MVC do lado do cliente para desenvolver um aplicativo Web dinâmico.

Ele permite que você use HTML como sua linguagem de modelo e permite que você estenda a sintaxe do HTML para expressar os componentes do seu aplicativo de forma clara e sucinta. A vinculação de dados e a injeção de dependência do AngularJS eliminam muito do código que, de outra forma, você teria que escrever. E tudo acontece dentro do navegador, tornando-o um parceiro ideal com qualquer tecnologia de servidor. AngularJS foi originalmente iniciado como um projeto no Google, mas agora é uma estrutura de código aberto.

Node.js é uma plataforma e ambiente de execução (lado do servidor)

Node.js é um ambiente de tempo de execução de plataforma cruzada de código aberto para o desenvolvimento de aplicativos do lado do servidor e de rede construídos no JavaScript Engine (V8 Engine) do Google Chrome. Os aplicativos Node.js são escritos em JavaScript e podem ser executados no tempo de execução do Node.js no OS X, Microsoft Windows e Linux.

Node.js também fornece uma rica biblioteca de vários módulos JavaScript que simplifica o desenvolvimento de aplicativos da web usando Node.js em grande medida. O Node.js usa um modelo de E / S não bloqueante e orientado por eventos que o torna leve e eficiente, perfeito para aplicativos de tempo real com muitos dados que são executados em dispositivos distribuídos.

Biblioteca vs. Framework

A principal diferença entre uma biblioteca e uma estrutura é “Inversão de controle”. Ao chamar um método de uma biblioteca, você está no controle. Mas com um framework, o controle é invertido: o framework chama você.

Insira a descrição da imagem aqui

Biblioteca

Uma coleção de funções que são úteis ao escrever aplicativos da web. Seu código está no comando e chama a biblioteca quando achar apropriado. Por exemplo, jQuery.

Estrutura

Uma implementação específica de um aplicativo da web, onde 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, AngularJS, Durandal , Ember.js , etc.

Aruna
fonte
27

Em palavras simples,

  • jQuery - é uma coleção de funções JavaScript para manipular HTML e CSS
  • AngularJS - é uma estrutura JavaScript que ajuda a organizar HTML e CSS
  • Node.js- é um tempo de execução de JavaScript ... mais ou menos como um navegador em seu servidor ou máquina local, mas sem todo o mecanismo de renderização do navegador e extras .. é apenas um tempo de execução

A principal diferença de estrutura vs. biblioteca em palavras simples:
Quadro impõe certa arquitetura e espera que a aplicação a seguir suas expectativas
Biblioteca é uma coleção de baixo nível blocos de construção muitas vezes fornecendo funções granulares destinadas a resolver problemas muito específicos (ie jquery.post () função)*

Dmitry Matveev
fonte
17

jQuery

jQuery é uma biblioteca que faz muitas coisas para você. Ele contém muitas funções úteis e comumente usadas para que você não precise escrever este código sozinho. É uma espécie de diferença entre ser um carpinteiro na idade da pedra ou ter uma série de ferramentas elétricas à sua disposição.

AngularJS

AngularJS é uma estrutura usada para construir interfaces gráficas de usuário (GUIs) front-end para sites e aplicativos da web interativos. Faz uma combinação poderosa quando usado junto com Node.js

Node.js

Node é uma estrutura usada para construir serviços da web de backend , como terminais REST de API que extraem dados para você em segundo plano. Você pode conectar botões e elementos de GUI a esses terminais usando AngularJS para construir aplicativos da web e relatórios da web ricos e baseados em dados. Sendo RESTful, esses serviços aguardam até que o front end envie uma solicitação (o usuário clica em um botão) e executam uma consulta de banco de dados ou lêem um arquivo e devolvem alguns dados, que o aplicativo da web pode então exibir ao usuário.

Frameworks em geral

Estruturas na analogia do carpinteiro anterior são como contratar uma equipe de construtores profissionais para fazer o trabalho por você. Você descreve o trabalho com detalhes suficientes e eles assumem e realmente o realizam. Assim, sua tarefa se reduz a chegar às especificações do trabalho na linguagem correta para que a equipe de construtores entenda, em vez de fazer o trabalho você mesmo.

O AngularJS seria como a equipe de design de interiores junto com o elétrico, e o Node.js seria todo o resto. Exageradamente simplificado? Talvez. Mas você pediu uma explicação simples.

Portanto, você pode pensar em AngularJS e Node.js como opostos, mas eles podem ser usados ​​juntos no mesmo aplicativo ou projeto. Eles preenchem finalidades diferentes, mas ambos usam JavaScript (e jQuery até certo ponto) para fazer isso.

Tim
fonte
7
  • Estrutura : descreve uma determinada estrutura de como você deve apresentar seu código. Muito parecido com um modelo de código, junto com alguns ajudantes, construtores, etc. para resolver / simplificar um problema específico ou colocar sua arquitetura em "ordem". Exemplos, Backbone.js , RequireJS, Socket.IO . Uma estrutura encapsula a funcionalidade comum do aplicativo, permitindo ao desenvolvedor se concentrar nas partes que são exclusivas de seu aplicativo.

  • Biblioteca : É um kit de ferramentas completo que abstrai altamente camadas diferentes, como navegadores, modelos DOM, etc. Além disso, como um bom kit de ferramentas, oferece muitas ferramentas e coisas legais para trabalhar, o que, em geral, simplifica sua experiência de codificação. Os exemplos são jQuery e MooTools .

Procure aqui mais informações.

Yaser
fonte
"Biblioteca: é um kit de ferramentas inteiro" - observando que poderia ser um kit de ferramentas muito pequeno se seu propósito fosse lidar, digamos, apenas com dados de data / hora.
nnnnnn
7

Aqui estão porque eles estão ficando mais populares a cada dia:

jQuery

  • Os códigos Jquery são relativamente mais curtos. Às vezes, apenas cinco linhas de código jQuery são equivalentes a 25 linhas de código JavaScript convencional (por exemplo, carregar um arquivo de dados com AJAX). Isso significa menos código e arquivos muito menores.
  • Grande biblioteca: jQuery permite que você execute hordas de funções em comparação com outras bibliotecas JavaScript.
  • Super fácil trabalhar com Ajax: jQuery permite desenvolver modelos Ajax com muita facilidade, Ajax permite uma interface mais elegante, onde as ações podem ser executadas nas páginas sem exigir que a página inteira seja recarregada.

AngularJS

  • Ligação de dados bidirecional: Embora você possa escrever um evento de ligação de dados bidirecional simples em jQuery, as bibliotecas JavaScript MVC fornecem uma maneira mais declarativa (usando HTML) de conectar modelos à sua visualização.
  • Ótimo para SPA ( aplicativos de página única ): Bibliotecas como AngularJS, Aurelia, Ember.js e Meteor fornecem todo o encanamento para você em vez de escrever tudo no jQuery

Node.js

  • É rápido: além da execução extremamente rápida do JavaScript, a verdadeira mágica por trás do Node.js é o loop de eventos. O loop de eventos é um único thread que executa todas as operações de E / S de forma assíncrona. Tradicionalmente, as operações de I / O são executadas de forma síncrona (bloqueio) ou assíncrona, gerando threads paralelos para realizar o trabalho.
  • Tempo real facilitado: se o Node.js se destaca em muitas conexões simultâneas, faz sentido que ele se destaque em aplicativos da web multiusuário e em tempo real, como bate-papo e jogos. O loop de eventos do Node.js cuida do requisito multiusuário.
ab29007
fonte
2
"5 linhas de código jQuery são equivalentes a 25 linhas de código JavaScript convencional" - Dependendo do que você está tentando fazer. Para algumas tarefas há uma diferença mínima, para outras há uma grande diferença. "Isso significa arquivos menores e páginas da web com carregamento mais rápido." - Exceto que o código que o jQuery evitou que você escrevesse para você mesmo está todo contido no arquivo jQuery, que também deve ser baixado para o navegador. Portanto, a quantidade total de código é provavelmente maior.
nnnnnn
esses arquivos são carregados enquanto o documento é carregado. já que a prática recomendada é não usar js até que o DOM seja carregado. eles não fazem diferença na velocidade de execução de seus eventos de clique ou foco
ab29007
Em sua resposta, você disse "carregamento mais rápido". Isso não é verdade, ou certamente não é universalmente verdadeiro. Os arquivos carregados "enquanto o documento carrega" ainda precisam ser baixados e (dependendo da página) precisam ser baixados antes que o usuário possa interagir de forma significativa com a página. (Observação: não estou dizendo que jQuery é uma coisa ruim, apenas que sua descrição é enganosa, na melhor das hipóteses.)
nnnnnn
ok .. se você acha que eu removeria o carregamento mais rápido
ab29007
Posso escrever JQuery e javascript no mesmo programa
K Split X
6

Você usa HTML, CSS e JavaScript para criar sites interativos.

jQuery é uma ferramenta escrita em JavaScript.

AngularJS é uma ferramenta escrita em JavaScript.

React é uma ferramenta escrita em JavaScript.

Essas ferramentas ajudam a gerenciar as interações entre HTML, CSS e JavaScript de acordo com suas próprias regras. Quando uma ferramenta se torna realmente grande, ela pode assumir um nome como "biblioteca" ou "estrutura", dependendo de suas características.

Freqüentemente, executamos JavaScript em um navegador da web. Mas, alguns anos atrás, surgiu uma coisa chamada Node.js que nos permitiu executar facilmente o JavaScript fora do navegador. Gosto de pensar nisso como "um programa que executa JavaScript fora do navegador" (o que significa ... não há HTML ou CSS para examinar).

terobinkim
fonte