Qual é a diferença entre javascript e jquery e node.js e angular.js e react?

Eu escrevi uma visão geral bastante completa de Javascript e JQuery aqui. Isso fornece uma boa base para explicar o que são Nó, Angular e Reagir.

Como uma breve revisão disso, o Javascript é uma linguagem de programação e agora é poderosa o suficiente para escrever código para fazer quase tudo, mesmo estando longe da melhor opção para todos os tipos de casos.

O JQuery é uma biblioteca Javascript - é escrita em Javascript e fornece um conjunto de ferramentas para tornar a escrita em Javascript um pouco mais fácil, desenvolvida em meados dos anos 2000, para superar o fato de que, na época, diferentes navegadores manipulavam o Javascript de maneira diferente. Antes do jQuery, as pessoas geralmente tinham que escrever 2-3 versões diferentes de alguns tipos de código para diferentes navegadores. Além disso, o jQuery executou algumas tarefas que poderiam ter sido, digamos, 10 linhas de código e forneceu uma abreviação para fazê-lo em, digamos, 1 linha. Isso tornou a codificação mais rápida e tornou mais fácil para as pessoas, especialmente iniciantes, lidar com coisas que talvez não fossem óbvias.

Angular e React são ambos frameworks. Uma estrutura é como uma biblioteca, na medida em que visa tornar o código mais rápido e fácil por um programador de ter que "reinventar a roda" para tarefas comuns, mas é diferente porque as estruturas têm uma espécie de "estrutura" de como esperam um aplicativo a ser desenvolvido.

Uma simplificação bruta é a seguinte: digamos que você esteja construindo uma casa. Uma biblioteca como o jQuery fornece alguns componentes básicos como paredes, janelas, portas e etapas que você pode usar para criar algo. Isso é ótimo se o que você está construindo é bastante simples e não é necessário personalizar excessivamente, por exemplo, como as portas funcionam. Isso economiza algum tempo, mas você ainda precisa descobrir como conectar corretamente todas as peças para criar um edifício seguro e como lidar com encanamentos, instalações elétricas etc.

Uma estrutura, por outro lado, tem maneiras "embutidas" de lidar com coisas como encanamento e instalações elétricas de um lugar para outro. Ele tem maneiras definidas de conectar componentes diferentes, como portas instaladas em um buraco.

As estruturas podem levar mais tempo para aprender, mas, uma vez que você o faz, elas podem economizar muito tempo, pois fazem muito do "trabalho pesado" para você. Por outro lado, se você quiser fazer algo de uma maneira personalizada que a estrutura não obtém, pode levar algum tempo para descobrir a maneira mais "graciosa" e eficaz de conectar sua parte a todos os pré-requisitos. coisas construídas no quadro.

Por fim, embora o Node.js seja uma coisa, ele é usado de duas maneiras diferentes em contextos diferentes. Primeiro, é uma maneira de executar Javascript em um servidor (mais abaixo), e segundo, e provavelmente mais usado, é algo que você precisa para executar o NPM (o gerenciador de pacotes Node, usado no desenvolvimento de programas front-end com frameworks) como Angular, React e outros).

Primeiro, o Node.js é uma maneira de escrever programas Javascript executados em um servidor da Web, em vez do navegador de um cliente. Isso permite que os programadores usem Javascript para coisas como gravar um arquivo em um servidor (por exemplo, um nome de usuário e senha quando um usuário cria uma conta) e enviá-lo de volta para o usuário posteriormente.

Ele foi projetado para ser leve e flexível e usa um modelo de programação geralmente mais rápido do que algumas outras opções, porque usa o que é chamado de entrada e saída (sem bloqueio) de entrada e saída (E / S). As tecnologias de servidor mais antigas estavam frequentemente "bloqueando" - elas esperam que uma coisa termine antes que outra coisa possa começar.

Como exemplo, digamos que quando chegar em casa do trabalho, você deseja lavar roupa, tomar banho, fazer o jantar e assistir TV. Em um modelo de E / S de "bloqueio", você começa a lavar a roupa, espera que ela termine, coloca-a no secador, espera que ela termine e depois passa para a próxima tarefa. Você não está tão ocupado durante esse período, mas fica sentado e espera que uma coisa seja feita antes de começar as outras. Em um modelo não bloqueador como o de Node, você pode colocar a roupa na lavadora, tomar banho, colocar a roupa na secadora, começar a preparar o jantar, colocar o jantar no forno, tirar a roupa da secadora, dobrar comece a assistir TV, tire o jantar do forno e coma-o quando estiver pronto. Você janta mais rápido dessa maneira e tem mais tempo para assistir à TV.

Isso, mais o fato de muitas pessoas saberem escrever Javascript o tornou muito popular.

No entanto, a maioria das pessoas que instalou o Node.js provavelmente não está executando um servidor Web (voltado para o cliente) no computador. Em vez disso, instala-o porque as pessoas que criaram o Node.js também criaram um gerenciador de pacotes muito poderoso e eficiente, que facilitou a instalação de "módulos" ou pacotes de códigos e itens relacionados em um computador.