~/questoes/devops
O padrão de Dockerfile usado para Angular segue uma arquitetura em dois estágios: compilação do código-fonte e servimento através de um servidor web leve. Este padrão não é exclusivo do Angular, mas funciona para outras tecnologias SPA que geram artefatos estáticos compilados, como Next.js e Nuxt.js.
Next.js e Nuxt.js produzem aplicações compiladas em artefatos estáticos, assim como Angular. O padrão em dois estágios (build com Node.js + servimento com Nginx) se adapta perfeitamente a essas tecnologias, alterando apenas o comando de build específico de cada framework.
Essa alternativa é muito restritiva. Embora Angular use TypeScript, o padrão Docker não depende da linguagem de programação principal, mas sim de como o projeto gera seus artefatos finais. Vue.js e outras SPAs também podem ser containerizadas com padrão similar.
Não é sobre rodar em máquinas virtuais. O Docker funciona com tecnologias que geram artefatos estáticos ou server-side renderizados. Tecnologias que requerem interpretação em tempo de execução ou que não geram compilados estáticos não se adaptam ao padrão apresentado.
Vue.js não é mencionado como exemplo no contexto da aula. Além disso, o padrão é adaptável para muito mais que apenas duas tecnologias. A resposta correta cita os exemplos específicos que realmente compartilham a mesma lógica de compilação.
Next.js e Nuxt.js são exemplos práticos que funcionam com o mesmo padrão. Ambos compilam código em artefatos estáticos e podem ser servidos por Nginx. O comando de build é diferente, mas a arquitetura em dois estágios permanece válida.