Pular para o conteúdo principal

Questão de Programação — JavaScript — FGV 2024

ProgramaçãoJavaScript
Código
fg075164
Banca
FGV
Órgão
AL-PR
Ano
2024
Nível
Superior
Cargo
Analista Legislativo - Desenvolvedor de Sistemas
Os arquitetos de um projeto estão indecisos entre utilizar a tecnologia JavaScript com Node.js ou Java com o framework J2EE.Assinale a opção que compara corretamente os dois utilitários de gerenciamento, NPM (Node.js) e Maven(J2EE).
  1. AA velocidade de build e gerenciamento de dependências do Maven pode variar mas, apesar do NPM se sair melhor em termos de instalação de pacotes ele não tem comandos para disparar os servidores
  2. BNPM não pode ser usado em todos os tipos de Projetos por outro lado Maven é excelente para lidar com projetos multi-módulo, permitindo uma gestão eficiente de submódulos e dependências entre eles.
  3. CMaven não tem recursos de instalação de pacotes ou módululos mas o NPM facilita a execução de scripts personalizados definidos em package.json, proporcionando flexibilidade para automatizar tarefas de desenvolvimento e build.
  4. DNPM tem uma curva de aprendizado menor em comparação com o Maven, tornando-o mais acessível para iniciantes e Maven não pode ser usado para desenvolvimento frontend moderno, ao contrário do NPM que está diretamente ligado ao ecossistema frontend.
  5. ENPM é integrado de forma nativa ao ecossistema JavaScript, oferecendo acesso imediato a uma vasta gama de pacotes JS e Node.js, por outro lado, Maven permite um controle mais fino sobre as versões de dependências e sua resolução, incluindo o gerenciamento de dependências transitivas.
Revelar gabarito e comentário

GabaritoE — NPM é integrado de forma nativa ao ecossistema JavaScript, oferecendo acesso imediato a uma vasta gama de pacotes JS e Node.js, por outro lado, Maven permite um controle mais fino sobre as versões de dependências e sua resolução, incluindo o gerenciamento de dependências transitivas.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

NPM vs Maven – Comparação de gerenciadores de dependências

Gabarito: letra E. NPM é o gerenciador nativo do ecossistema JavaScript/Node.js, oferecendo acesso direto a uma vasta gama de pacotes. Maven (Java/J2EE) permite controle mais fino sobre versões de dependências e gerencia dependências transitivas com estratégias de resolução de conflitos. A alternativa E descreve corretamente essas características contrastantes.

Critério

NPM (Node.js)

Maven (J2EE)

Ecossistema nativo

JavaScript/Node.js

Java/J2EE

Acesso a pacotes

Vasta gama de pacotes JS e Node.js

Repositório Maven Central

Controle de versões

Gerenciamento básico

Controle mais fino sobre versões

Dependências transitivas

Gerenciamento simples

Resolução de conflitos e estratégias avançadas

NPM (Node.js)
  • 1Nativo do ecossistema JS
  • 2Acesso a vasto repositório
  • 3Scripts personalizados (package.json)
  • 4Workspaces (multi-pacote)
  • 5Maven (J2EE)
    • Controle fino de versões
    • Gerencia dependências transitivas
    • Repositório Maven Central
    • Plugins (ex.: frontend-maven-plugin)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma que o NPM não tem comandos para disparar servidores. Na verdade, o NPM permite a definição de scripts personalizados no package.json, como npm start, que podem ser usados para iniciar servidores. O Maven também pode variar em velocidade de build, mas a comparação não é precisa.

Alternativa B — ❌ Incorreta

Diz que "NPM não pode ser usado em todos os tipos de Projetos". Isso é uma generalização excessiva. NPM é usado em projetos web, backend com Node.js, aplicativos mobile (via React Native, Cordova) e até mesmo em alguns projetos de desktop. Embora o Maven seja excelente para projetos multi-módulo Java, o NPM também possui suporte a workspaces para gerenciamento de múltiplos pacotes.

Alternativa C — ❌ Incorreta

Afirma que "Maven não tem recursos de instalação de pacotes ou módulos". Isso é falso. O Maven tem um sistema de repositórios (Maven Central) e é capaz de baixar e gerenciar dependências de forma declarativa no pom.xml. A afirmação sobre NPM executar scripts é verdadeira, mas a negação para Maven é incorreta.

Alternativa D — ❌ Incorreta

A primeira parte é plausível: NPM tem curva de aprendizado menor. Contudo, a segunda parte "Maven não pode ser usado para desenvolvimento frontend moderno" é falsa. Embora não seja comum, existem plugins como frontend-maven-plugin que permitem construir projetos frontend com Maven. Além disso, Maven é uma ferramenta de build geral que pode ser adaptada.

Alternativa E — ✅ Correta ⟵ GABARITO

A alternativa descreve com precisão: NPM é integrado nativamente ao ecossistema JavaScript/Node, com vasto repositório de pacotes; Maven oferece controle refinado sobre versões e dependências transitivas. Essa é a comparação canônica entre os dois gerenciadores.

Gabarito: letra E

Link permanente: /questoes/fg075164