Dúvidas sobre JavaScript

Gente tenho uma dificuldade grande com javascript.
O que é angular.js, vue.js, node.js ? (com o .js)
O que é typescript ?
O que é node ? (sem o .js)
O que é Angular ? (sem o .js)
O que é Vue ? (sem o .js)
O que é React ?
O que é SASS ?
Para que serve aquele programa chamado node (sem o .js) que gera um monte de arquivo ?
Pergunto aqui no fórum porque aqui tem profissionais que dão uma visão certa de muitas dúvidas.
Fico grato desde já quem souber me ajudar. JavaScript não sei o porque mas é o meu fraco, consigo fazer muitas coisas com java, c, c++, jsp mas javascript não entendi os princípios básicos.
Grato pessoal desde já.

Sobre TypeScript

Basicamente, TypeScript (https://www.typescriptlang.org/) é uma linguagem contruída em cima do JavaScript adicionando tipagem estática. Todo código JavaScript é válido em TypeScript, mas código TypeScript não é valido em JavaScript.

TypeScript funciona da seguinte forma:

  • Vc escreve código TypeScript
  • Vc usa o compilador TypeScript para gerar JavaScript
  • Vc faz o deploy do JavaScript gerado.

Eu recomendo fortemente que vc assista a playlist abaixo para saber mais. O Willian Justen tem uma didática muito boa.

Sobre Node.js®

Pensa assim: para executar bytecode Java vc precisa da JVM, correto? Pois então, para rodar JavaScript vc precisa de uma JavaScript Engine.

O Navegadores já possuem essa engine, por isso são capazes de executar JavaScript. A engine usada pelo Google Chrome chama-se V8 (https://v8.dev/).

Acontece que pessoas inteligentes pegaram a V8, juntaram com mais alguns componentes de software e criaram o Node.js®, um ambiente de execução JavaScript completo.

Simplificando ao máximo, Node.js® é o que te permite executar JavaScript em uma máquina sem a necessidade de um navegador.

Muita gente se refere ao Node.js® apenas como “Node”, mas o nome mesmo é Node.js.

Depois que vc instala o Node.js na sua máquina, o comando que vc vai usar é “node”. Enquanto no Java vc executaria um programa assim:

java Program

No Node.js vc executaria assim:

node program.js

Sobre Angular

Não existe “angular.js”, o que existe é AngularJS (https://angularjs.org/) e Angular (https://angular.io/).

AngularJS foi lançado primeiro e foi até a versão 1.8.x. Segundo esta página, ele só está recebendo correções de bugs, mas somente até o final deste ano.

O time do AngularJS decidiu que na versão 2 muita coisa mudaria. A mudança foi tamanha que decidiram mudar até o nome, que passou a se chamar apenas Angular. Ou seja, AngularJS foi até a versão 1.8 apenas, a partir da versão 2, ele passou a se chamar Angular.

Uma das caracteristicas mais marcantes do Angular é que ele usa TypeScript.

Não se preocupe em aprender AngularJS (a menos que vc tenha que dar suporte para aplicações antigas que o utilizam). Foque no Angular, que atualmente está na versão 12.2.0.

Sobre Vue.js

Vue se define como:

Vue (pronuncia-se /vjuː/, como view, em inglês) é um framework progressivo para a construção de interfaces de usuário.

Leia mais aqui: https://br.vuejs.org/v2/guide/index.html

Sobre a questão da diferença entre “Vue” e “Vue.js”, dá para assumir que ambos se referem à mesma coisa, um framework JavaScript, pois na documentação oficial eles usam as 2 palavras normalmente.

Sobre React

React se define como:

Uma biblioteca JavaScript para criar interfaces de usuário

Leia mais aqui: https://pt-br.reactjs.org/

Sobre o nome, eu percebi que é comum encontrar artigos que usam os termos “React.js” ou “React JS”, porém, eu notei que no site oficial eles se referem à biblioteca o tempo todo como “React”, nunca “React.js” ou “React JS”. Só a URL do site mesmo que é “reactjs.org”.

Então dá pra assumir que quando vc vir “React.js” e afins, eles estão falando sobre a mesma coisa, a biblioteca React.

Sobre Sass

Sass tem nada a ver com JavaScript. Ele é uma linguagem de estilos assim como CSS.

Todo código CSS é válido em Sass, só que além disso, Sass tem funcionalidades próprias.

Para vc ter uma ideia, em Sass vc tem estruturas condicionais, loops, definição de funções e muito mais.

Depois que vc escreve seu código Sass, vc usa o compilador do Sass para transformar o seu código em CSS puro que pode ser usado por um Navegador normalmente.

Considerações

É comum vc encontrar artigos e dúvidas sobre a diferença entre Angular, Vue e React.

Como vc pôde ver, Vue e React fazem a mesma coisa, servem para construir interfaces de usuário. Cada um faz isso a sua própria maneira; são excelentes ferramentas e para vc entender bem a diferença entre eles, eu recomendo seguir pelo menos um pouquinho do tutorial oficial de cada um.

Já com Angular a coisa muda. Enquanto o Vue e React tem um foco muito específico, Angular tenta abranger todas as partes de uma aplicação. Ele te fornece quase tudo que vc precisa para construir apps complexos sem a necessidade de adicionar bibliotecas extras de terceiros. Recomendo fortemente seguir o tutorial inicial para ter uma ideia: https://angular.io/tutorial

1 curtida

Obrigado. Agora vai.

1 curtida