Plataformas Node não é uma linguagem, ele é uma plataforma com recursos (APIs) próprias. Seu motor é o V8. Não possui DOM. Tem acesso físico a máquina onde está “hospedado” Navegadores tem motores (engines) que interpretam e executam código javascript. Cada motor pode ter suas particularidades. DOM é presente e constante Node Navegador
Package Manager Ou Gerenciadores de Dependências São ferramentas que (como o nome sugere) gerenciam as dependências dos projetos, facilitando a distribuição e reuso delas.
Foi o primeiro a se popularizar. Possui uma vasta gama de plugins. É relativamente simples (config based) Pode não ser muito flexível ou performático. Grunt
“Concorrente” do grunt. Basicamente tudo que existe para grunt existe para gulp. Extremamente flexível. As tarefas são async e baseadas em streams, assim ele fica mais rápido que o grunt. Ele é script based, assim pode ser mais complexo para algumas pessoas Gulp
Transpilers Source-to-source Compiler Ferramentas que permitem uma escrita com sintaxe ‘alternativa’ do JavaScript. Muitas vezes o objetivo é facilitar a escrita ou dar mais features
Um dos primeiros a se destacar. Possui uma sintaxe similar ao Ruby, pois é inspirado nele. Tem features “extras” ao javascript Seu objetivo é deixar o javascript mais ‘simples’ CoffeeScript
Tem se destacado nos últimos anos. Solução da Microsoft para tipagem estática no JavaScript. Além de tipos ele fornece mais features para o JavaScript. TypeScript
Popular na comunidade React. Solução do Facebook para tipagem estática no javascript. Diferente do TypeScript, o Flow não dá mais features ao JavaScript, apenas tipos. Flow
Babel Babel é um transpiller com o objetivo de permitir a retrocompatibilidade do javascript. Permite escrever códigos ES2015, ES2016, ES2017, ESNext... Mantendo eles compatíveis com navegadores sem suporte.
Bundlers Bundle é o termo usado para descrever um arquivo JavaScript gerado dinamicamente a partir da junção de um ou mais arquivos. Muitas vezes esses arquivos passam por um processo de transformação como Babel, CoffeeScript, TypeScript, JSX, Elm, Flow e similares.
Muito mais que um bundler para arquivos .js Seus loaders permitem processar css, imagens, fontes, scss... É capaz de substituir (em parte) task runners Não é tão simples webpack
Tests Libs, Runners, Frameworks Uma área um pouco obscura... Temos libs, test runners, frameworks, libs de mock, plataformas... TDD, Integração, BDD...