Experts in Angular

Dúvidas ComunsPrimeiros Passos no Angular: Comece Seu Projeto da Forma Correta
Primeiros Passos no Angular: Comece Seu Projeto da Forma Correta

Primeiros Passos no Angular: Comece Seu Projeto da Forma Correta

O Angular não é apenas mais um framework para desenvolvimento de aplicações web. Ele traz consigo uma filosofia poderosa que pode transformar a maneira como abordamos o desenvolvimento frontend. Sua abordagem “baterias inclusas” oferece aos desenvolvedores tudo o que precisam para construir aplicações modernas, desde o momento em que um novo projeto é iniciado.

Essa simplicidade inicial não é apenas conveniente; ela é estratégica. Em um ambiente de desenvolvimento acelerado, onde prazos apertados e expectativas altas são a norma, ter uma estrutura sólida desde o início é fundamental. Com o Angular, você não precisa começar do zero em cada novo projeto. Em vez disso, você começa com uma base bem definida, pronta para ser expandida conforme necessário.

Por que Escolher Angular?

A escolha da tecnologia é um dos primeiros e mais importantes passos em qualquer projeto de software. Essa decisão influencia diretamente o sucesso do projeto, afetando desde a produtividade da equipe até a escalabilidade e manutenção da aplicação a longo prazo. Como desenvolvedor ou arquiteto de software, cabe a você guiar essa decisão crucial.

O Angular é uma das ferramentas mais populares para a construção de Single Page Applications (SPAs), competindo com frameworks como React e Vue.js. No entanto, o que faz do Angular a escolha certa? Vamos explorar algumas razões-chave para optar por ele.

  1. Baterias Inclusas
    • O Angular adota uma abordagem opinativa. Isso significa que várias decisões de desenvolvimento já foram tomadas pela equipe Angular, oferecendo soluções pré-configuradas para desafios comuns no desenvolvimento web. Desde o motor de rotas até o gerenciamento de estado, tudo já está pronto para uso. Isso elimina a necessidade de gastar horas escolhendo bibliotecas ou configurando ferramentas essenciais.
  2. Consistência e Facilidade de Onboarding
    • Projetos desenvolvidos com Angular geralmente seguem um padrão uniforme. Isso facilita a entrada de novos desenvolvedores na equipe, reduzindo a curva de aprendizado. Uma vez que você domina o Angular, pode rapidamente se adaptar a qualquer projeto que siga as práticas recomendadas pelo framework.
  3. Suporte e Estabilidade do Google
    • O Angular é mantido por uma equipe dedicada no Google, o que traz um nível de confiabilidade difícil de encontrar em outros frameworks. Grandes empresas frequentemente optam por tecnologias que oferecem suporte de longo prazo e estabilidade, algo que o Angular garante ao ser utilizado em centenas de produtos internos do Google.

Batteries Included: Uma Abordagem Integrada no Angular

Quando pensamos em desenvolvimento de software, é comum imaginar a infinidade de escolhas que precisamos fazer: qual motor de rotas usar? Como gerenciar o estado da aplicação? Em qual biblioteca confiar para manipulação de formulários? O Angular elimina grande parte dessas decisões ao ser um framework opinativo. Isso significa que a equipe de desenvolvimento do Angular já fez escolhas cruciais para você, selecionando as melhores ferramentas e soluções para enfrentar os desafios comuns de uma aplicação web.

Essa abordagem "baterias inclusas" significa que, ao criar um projeto Angular, você já começa com uma base sólida.

O motor de rotas, a biblioteca de formulários e o gerenciamento de estado, por exemplo, já estão configurados e prontos para uso. Isso não só economiza tempo de pesquisa e configuração, mas também garante uma consistência nos projetos que se traduz em maior produtividade e menor margem para erros.

Além disso, essa uniformidade torna o processo de integração de novos desenvolvedores na equipe muito mais ágil. Seguindo as diretrizes da documentação oficial e as melhores práticas recomendadas, os projetos Angular tendem a compartilhar uma estrutura comum e uma metodologia de desenvolvimento. Isso significa que, ao conhecer Angular, qualquer desenvolvedor pode rapidamente se situar em projetos novos ou em andamento, reduzindo drasticamente a curva de aprendizado.

Suporte do Google: Estabilidade e Confiança

Escolher uma tecnologia para um projeto vai muito além de considerar seus recursos técnicos. Estabilidade, suporte e longevidade são fatores igualmente cruciais, especialmente para grandes empresas que precisam confiar em uma tecnologia no longo prazo. É aqui que o Angular se destaca ainda mais, sendo mantido por uma equipe dedicada no Google.

O fato de o Angular ser utilizado em mais de 300 aplicações internas do Google é um indicativo de sua robustez e qualidade. Antes de cada nova versão ser lançada ao público, o framework é amplamente testado nesses produtos, garantindo que qualquer atualização seja segura e estável. Isso traz tranquilidade tanto para pequenas equipes quanto para grandes corporações que precisam confiar em uma base tecnológica sólida.

Desde a versão 13, a equipe do Angular também tem trabalhado para aumentar a transparência com a comunidade. Eles publicam um roadmap detalhado (https://angular.io/guide/roadmap), mostrando as melhorias em andamento e o que esperar para o futuro do framework. Essa comunicação aberta oferece uma garantia adicional de que o Angular continuará sendo suportado e aprimorado por muitos anos.

Comunidade: O Pulso Vivo do Angular

Nenhuma tecnologia prospera sem uma comunidade ativa por trás dela. E o Angular é um exemplo brilhante de como uma comunidade forte pode impulsionar o crescimento e a evolução de um framework. Com inúmeros meetups, podcasts, eventos, artigos e vídeos, a comunidade Angular está sempre disposta a ajudar desenvolvedores a superar desafios e a explorar novas possibilidades.

A contribuição da comunidade não se limita a recursos educacionais. Como um projeto de código aberto, o Angular convida desenvolvedores de todo o mundo a avaliar, contribuir e melhorar o código. A equipe do Angular regularmente pede ajuda da comunidade em decisões importantes por meio de Requests for Comments (RFCs), assegurando que o framework continue evoluindo com base em feedback real e necessidades práticas.

Além disso, a comunidade Angular é responsável por criar e manter uma vasta coleção de bibliotecas que expandem as capacidades do framework. Exemplos notáveis incluem o NgRx (https://ngrx.io/), que oferece uma abordagem avançada para o gerenciamento de estado, e o Transloco (https://ngneat.github.io/transloco/), que facilita a internacionalização de aplicações.

A sinergia entre o suporte do Google e o dinamismo da comunidade Angular cria uma base sólida para qualquer projeto, garantindo não só uma tecnologia de ponta, mas também uma rede de apoio que acompanha o desenvolvedor em cada passo da jornada.

Ferramentas: Foco na Experiência do Desenvolvedor

Uma das características que diferenciam o Angular de seus concorrentes é o foco, desde o início, na experiência do desenvolvedor. Mais do que apenas um framework, o Angular oferece um conjunto de ferramentas que não apenas simplificam o processo de desenvolvimento, mas também aumentam significativamente a produtividade.

A CLI Angular (Command-Line Interface) é uma dessas ferramentas poderosas. Ela vai muito além da simples criação e configuração de projetos; é uma aliada constante durante todo o ciclo de vida do desenvolvimento. Desde a geração automática de componentes, serviços e módulos até o gerenciamento de builds otimizados para produção, a CLI Angular está presente em cada etapa, garantindo que o desenvolvedor possa se concentrar no código em vez de se preocupar com detalhes repetitivos ou complexos.

Além disso, a ferramenta de testes do Angular já vem pré-configurada com o Karma como executor de testes e o Jasmine como framework de testes. Isso significa que, desde o momento em que você cria um novo projeto, você já possui uma infraestrutura completa para garantir a qualidade do código. Essa integração nativa elimina a necessidade de configurar manualmente ferramentas de testes, economizando tempo e garantindo que as melhores práticas estejam em vigor desde o início.

Outro diferencial importante é a configuração automática do build da aplicação utilizando o Webpack. O Webpack é uma ferramenta poderosa e, frequentemente, complexa de configurar. Mas, no Angular, a configuração padrão já está pronta para uso, proporcionando otimizações como tree shaking e lazy loading sem que o desenvolvedor precise se preocupar com ajustes manuais. Além disso, o Angular já inclui um servidor de desenvolvimento, permitindo que você visualize as mudanças em tempo real enquanto codifica.

Por fim, a extensibilidade das ferramentas do Angular é um ponto crucial. A comunidade pode criar e compartilhar bibliotecas que se integram perfeitamente ao fluxo de trabalho, automatizando rotinas de configuração e atualização. Isso mantém o ecossistema do Angular sempre em evolução, com novas ferramentas e melhorias sendo continuamente adicionadas.

Com esse conjunto robusto de ferramentas, o Angular se destaca como uma escolha ideal para quem busca produtividade e consistência no desenvolvimento frontend. Agora que entendemos o poder das ferramentas do Angular, vamos explorar as tecnologias que compõem o ecossistema do framework.

TypeScript: A Pedra Angular do Desenvolvimento Moderno

Quando o Angular foi lançado, trouxe consigo uma grande inovação ao adotar o TypeScript como parte central de sua arquitetura. O TypeScript, criado pela Microsoft, é um superset da linguagem JavaScript, projetado para oferecer tipagem estática e outros recursos avançados que visam melhorar a experiência do desenvolvedor e garantir maior segurança no desenvolvimento de aplicações web.

Por que isso é importante? No desenvolvimento moderno, a complexidade das aplicações web cresceu exponencialmente. A tipagem estática oferecida pelo TypeScript ajuda a evitar erros comuns que passariam despercebidos em linguagens dinamicamente tipadas, como o JavaScript. Isso significa que, antes mesmo de executar o código, o TypeScript já aponta inconsistências e potenciais problemas, permitindo que o desenvolvedor corrija erros antes que eles se tornem bugs difíceis de rastrear.

Desde a primeira versão do Angular, o TypeScript foi escolhido como a base do framework, não apenas por sua robustez, mas também por sua capacidade de habilitar recursos essenciais do Angular, como a injeção de dependências, os formulários tipados e as ferramentas de desenvolvimento automatizadas. Essa decisão fez com que o Angular não fosse apenas um framework poderoso, mas também uma ferramenta que promove boas práticas de programação e código sustentável.

Além de sua relevância no Angular, o TypeScript também se tornou a ferramenta preferida para desenvolvimento backend com Node.js, sendo amplamente adotado por desenvolvedores que buscam a segurança adicional que a tipagem estática oferece. Outras comunidades de frameworks populares, como React e Vue.js, também incentivam o uso do TypeScript, destacando-se como uma linguagem essencial para o ecossistema JavaScript moderno.

O que faz do TypeScript uma escolha tão popular entre desenvolvedores e arquitetos de software é justamente o equilíbrio que ele oferece entre o dinamismo do JavaScript e a robustez das linguagens fortemente tipadas. Ele fornece uma camada adicional de confiança para o desenvolvedor, sem sacrificar a flexibilidade que tornou o JavaScript tão amplamente adotado.

Em última análise, o TypeScript não apenas melhora a experiência de desenvolvimento, mas também eleva a qualidade do código que você escreve, tornando suas aplicações mais seguras, escaláveis e fáceis de manter. É essa combinação de segurança, produtividade e flexibilidade que faz do TypeScript uma das pedras angulares do Angular e de muitos outros projetos modernos.

Webpack: Otimizando Aplicações Angular para Produção

Quando uma aplicação está pronta para ser lançada ao mundo, a transição do ambiente de desenvolvimento para o ambiente de produção é um passo crítico. É aqui que entra o Webpack, a ferramenta escolhida pela equipe Angular para gerenciar o processo de bundling e otimização de código.

O Webpack é mais do que apenas um empacotador de módulos; ele é um motor poderoso e versátil que transforma o código de desenvolvimento em pacotes otimizados para serem distribuídos aos usuários finais. Com o Webpack, o Angular consegue realizar otimizações avançadas, como o tree shaking—um processo que remove automaticamente o código não utilizado—e o lazy loading de módulos, que carrega apenas o que é necessário no momento certo, melhorando significativamente o desempenho da aplicação.

Essas otimizações são fundamentais para garantir que a aplicação Angular seja rápida e eficiente, independentemente do tamanho ou da complexidade. Em um mundo onde o desempenho é cada vez mais importante para a experiência do usuário, o Webpack é uma peça essencial no quebra-cabeça.

No entanto, apesar de seu poder, o Webpack tem uma fama de ser complexo em sua configuração. Para facilitar a vida dos desenvolvedores, a equipe Angular criou diversas abstrações que tornam a configuração do Webpack mais acessível. O arquivo angular.json, por exemplo, permite ajustes finos no processo de build sem exigir que o desenvolvedor mergulhe diretamente nas complexidades do Webpack.

Essa camada de abstração significa que o desenvolvedor Angular pode usufruir dos benefícios do Webpack—como a otimização de pacotes e a melhoria no tempo de carregamento—sem ter que se preocupar com os detalhes intrincados da configuração manual. Tudo isso já vem preparado e integrado diretamente no ecossistema do Angular.

Com o Webpack, o Angular consegue oferecer não apenas uma excelente experiência de desenvolvimento, mas também uma aplicação otimizada e pronta para atender às demandas dos usuários em produção. Agora que entendemos como as peças do framework se unem para entregar interfaces ricas e fluidas, é hora de configurar nosso ambiente de desenvolvimento e colocar essas ferramentas em ação.

Configurando Seu Ambiente de Desenvolvimento

Um ambiente de desenvolvimento bem organizado, equipado com as ferramentas certas, é o primeiro passo em direção à excelência e produtividade no desenvolvimento. Antes de escrever a primeira linha de código, garantir que tudo esteja configurado corretamente pode economizar horas de retrabalho no futuro. Agora, vamos configurar seu ambiente de trabalho para o desenvolvimento com Angular.

Após instalar o Node.js seguindo as instruções na seção de Requisitos Técnicos, é hora de adicionar as ferramentas que irão agilizar seu fluxo de trabalho e garantir que você aproveite ao máximo o potencial do Angular.

VS Code: O Editor de Código Predileto dos Desenvolvedores

Atualmente, o Visual Studio Code (VS Code) é a ferramenta padrão para a maioria dos desenvolvedores, especialmente aqueles focados em projetos frontend. Embora existam outras excelentes opções, como o WebStorm, o VS Code, com sua ampla gama de plugins, oferece uma combinação ideal de produtividade e ergonomia, especialmente para o desenvolvimento em Angular.

Para instalar os plugins recomendados, abra o editor de código, clique na aba de Extensões ou use o atalho Ctrl + Shift + X (Windows) ou Cmd + Shift + X (macOS). A seguir, vamos explorar alguns dos principais plugins que irão aprimorar seu desenvolvimento Angular.

Git Extension Pack

O Git Extension Pack (https://marketplace.visualstudio.com/items?itemName=donjayamanne.git-extension-pack) não é específico para o desenvolvimento Angular, mas é indispensável em qualquer tipo de trabalho que envolva controle de versão. O Git é a ferramenta padrão para gerenciamento de código-fonte, e o VS Code oferece suporte nativo a ele. Esse conjunto de plugins expande ainda mais esse suporte, adicionando recursos como a visualização de comentários e alterações em commits anteriores diretamente no editor, suporte para múltiplos projetos e uma melhor visualização do histórico e dos logs do repositório.

Angular Language Service

O plugin Angular Language Service (https://marketplace.visualstudio.com/items?itemName=Angular.ng-template) é mantido pela equipe do Angular e adiciona suporte à maioria das funcionalidades do framework diretamente no editor de código. Ao adicionar essa extensão ao VS Code, você desbloqueia uma série de recursos que aumentam a produtividade, como:

  • Autocompletar no arquivo de template HTML, permitindo o uso de métodos de componentes sem precisar consultar o arquivo TypeScript.
  • Verificação de possíveis erros de compilação em arquivos HTML e TypeScript em tempo real.
  • Navegação rápida entre templates HTML e arquivos TypeScript, permitindo a consulta rápida de definições de métodos e objetos.

Esse plugin também está disponível para outras IDEs, como WebStorm e Eclipse, o que oferece flexibilidade para os desenvolvedores que preferem diferentes ambientes de desenvolvimento.

Prettier: Padronização de Formatação

O Prettier (https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) é uma ferramenta essencial para resolver problemas de formatação de código. Ele segue uma abordagem opinativa em suas configurações de formatação, embora permita alguma personalização. Além de formatar arquivos TypeScript, o Prettier também lida com HTML, CSS, JSON e JavaScript, tornando-se útil até mesmo para desenvolvimento backend com Node.js.

Para padronizar a formatação em toda a sua equipe, você pode instalar o Prettier como um pacote no seu projeto e integrá-lo ao pipeline de CI/CD, garantindo que o código siga as mesmas convenções desde o desenvolvimento até a produção.

ESLint: Garantindo Boas Práticas

Ao criar uma aplicação, o uso de um linter é altamente recomendado para garantir boas práticas de programação e evitar erros logo no início do desenvolvimento. No passado, a ferramenta padrão para linters em projetos TypeScript era o TSLint, mas agora foi absorvida pelo ESLint (https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint), que oferece suporte tanto para JavaScript quanto para TypeScript.

Com essa extensão, a verificação ocorre em tempo real enquanto você digita o código do seu projeto. Assim como o Prettier, o ESLint pode ser instalado como um pacote no seu projeto Angular e integrado ao pipeline de CI/CD para realizar validações automáticas durante o processo de entrega contínua.

EditorConfig: Padrões de Codificação Consistentes

O plugin EditorConfig (https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) tem como função criar um arquivo de configuração padrão não apenas para o VS Code, mas também para qualquer IDE que suporte esse formato. Esse plugin é útil para padronizar detalhes de formatação em todo o projeto e em toda a equipe—como o número de espaços que cada tecla Tab representa ou se seu projeto usará aspas simples ou duplas para representar strings.

Para utilizá-lo, basta criar um arquivo chamado .editorconfig na raiz do seu projeto, e o VS Code respeitará as configurações descritas nesse arquivo, garantindo uma consistência de formatação em todos os ambientes de desenvolvimento.

Configurações do VS Code: Otimizando Sua Produtividade

O VS Code, além de ser um editor poderoso com uma vasta gama de extensões, possui diversas configurações nativas que podem transformar a sua experiência de desenvolvimento. Essas configurações ajudam a otimizar o fluxo de trabalho e a garantir que você esteja trabalhando de maneira mais eficiente e organizada.

Salvamento Automático: Esqueça o Ctrl + S

Uma das primeiras configurações que você pode ativar para melhorar sua produtividade é o salvamento automático. Acessando o menu Arquivo, você pode habilitar essa opção para que o VS Code salve automaticamente seus arquivos. Assim, você não precisa se preocupar em pressionar Ctrl + S constantemente—mesmo que esse hábito esteja profundamente enraizado em nossas rotinas de desenvolvedores.

Zen Mode: Foco Total no Código

Outra configuração interessante é o Modo Zen. Quando ativado, o Zen Mode oculta todas as janelas e menus do editor, permitindo que você foque completamente no seu código, sem distrações. Para ativá-lo, vá até Visualizar | Aparência | Zen Mode, ou utilize o atalho de teclado Ctrl + K + Z no Windows/Linux, ou Cmd + K + Z no macOS.

Esse modo é especialmente útil quando você precisa de concentração total para resolver problemas complexos ou realizar tarefas que exigem foco ininterrupto.

Bracket Coloring: Melhoria na Legibilidade do Código

Durante a edição de código, a legibilidade é um fator crucial, e uma configuração que pode ajudar bastante é a coloração de parênteses e colchetes (Bracket Coloring). Essa funcionalidade atribui cores diferentes para cada par de parênteses e colchetes, facilitando a visualização de blocos de código aninhados, especialmente em linguagens como JavaScript e TypeScript.

Para habilitar essa configuração, você pode abrir o arquivo de configuração do VS Code utilizando o atalho Ctrl + Shift + P no Windows/Linux ou Cmd + Shift + P no macOS, e digitando Open User Settings (JSON). Em seguida, adicione os seguintes elementos ao arquivo:

{
  "editor.bracketPairColorization.enabled": true,
  "editor.guides.bracketPairs": true
}

Inlay Hints: Informações Úteis Diretamente no Código

O Inlay Hints é outra funcionalidade poderosa que o VS Code oferece. Ele exibe informações detalhadas, como tipos de parâmetros e valores de retorno de métodos, diretamente na linha de código em que você está trabalhando. Isso pode ser uma verdadeira mão na roda, especialmente ao lidar com grandes bases de código ou bibliotecas externas.

Para configurar o Inlay Hints no menu de configurações, basta procurar por Inlay Hints e ativá-lo se ainda não estiver configurado. Se preferir, você pode configurar diretamente no arquivo settings.json com os seguintes elementos:

{
  "typescript.inlayHints.parameterNames.enabled": "all",
  "typescript.inlayHints.functionLikeReturnTypes.enabled": true,
  "typescript.inlayHints.parameterTypes.enabled": true,
  "typescript.inlayHints.propertyDeclarationTypes.enabled": true,
  "typescript.inlayHints.variableTypes.enabled": true,
  "editor.inlayHints.enabled": "on"
}

Essas pequenas, mas poderosas, configurações podem fazer uma grande diferença no seu fluxo de trabalho diário, ajudando a tornar o VS Code uma ferramenta ainda mais eficiente para o desenvolvimento Angular.

Fira Code: Melhorando a Legibilidade do Código com Ligaduras

Um detalhe importante, que muitas vezes passa despercebido por desenvolvedores, é o tipo de fonte que utilizam em seus editores de código. Uma fonte confusa pode dificultar a leitura do código e aumentar o cansaço visual ao longo do dia. É por isso que escolher uma fonte adequada faz uma grande diferença na produtividade e na ergonomia.

A opção ideal é usar fontes monoespaçadas (monospaced), onde todos os caracteres ocupam o mesmo espaço horizontal. Isso facilita a leitura, pois mantém o alinhamento vertical do código, uma característica essencial para linguagens de programação.

Uma fonte monoespaçada muito popular é a Fira Code (https://github.com/tonsky/FiraCode). Além de ser monoespaçada, a Fira Code possui ligaduras para programação, que são combinações de caracteres transformadas em símbolos mais intuitivos. Por exemplo, o par de caracteres == se transforma em um único símbolo de igualdade, assim como >= e =>. Isso melhora a clareza e legibilidade do código, conforme demonstrado na figura abaixo:

Ligaduras (ou "ligatures") em fontes de programação são combinações visuais de caracteres que, ao serem digitadas, são automaticamente substituídas por um único símbolo mais intuitivo. Isso é muito útil em linguagens de programação, onde símbolos como ==, =>, e >= são comuns. Em vez de exibir esses caracteres separados, a fonte com suporte a ligaduras transforma-os em um único símbolo esteticamente mais agradável e fácil de reconhecer.

Após instalar a fonte no seu sistema operacional, você pode habilitar as ligaduras no VS Code acessando o arquivo de configuração, como descrito na seção anterior, e adicionando os seguintes elementos:

{
  "editor.fontFamily": "Fira Code",
  "editor.fontLigatures": true
}

Com isso, seu código ficará visualmente mais agradável e fácil de ler, contribuindo para um ambiente de trabalho mais confortável e eficiente.

Padronizando as Extensões e Configurações no Projeto

No artigo anterior, discutimos como uma das grandes vantagens de escolher o Angular é a padronização que ele oferece para o desenvolvimento e para as equipes. Essa padronização não se limita apenas ao código do projeto, mas também pode ser aplicada às ferramentas que você e sua equipe utilizam, como o VS Code.

Você pode padronizar as configurações do VS Code e registrá-las em seu repositório Git, garantindo que não apenas você, mas toda a equipe, tenha um salto na produtividade ao trabalhar no projeto.

Para isso, crie uma pasta chamada .vscode no seu repositório, e dentro dessa pasta, crie dois arquivos. O primeiro arquivo, extensions.json, conterá todas as extensões recomendadas pelo projeto. Vamos usar como exemplo as extensões mencionadas anteriormente:

{
  "recommendations": [
    "dbaeumer.vscode-eslint",
    "esbenp.prettier-vscode",
    "Angular.ng-template",
    "donjayamanne.git-extension-pack",
    "editorconfig.editorconfig"
  ]
}

O segundo arquivo, settings.json, permite que você adicione configurações específicas do VS Code ao seu workspace. Essas configurações terão prioridade sobre as configurações dos usuários e as configurações padrão do VS Code. Este arquivo terá as configurações sugeridas anteriormente:

{
  "editor.bracketPairColorization.enabled": true,
  "editor.guides.bracketPairs": true,
  "editor.fontFamily": "Fira Code",
  "editor.fontLigatures": true,
  "typescript.inlayHints.parameterNames.enabled": "all",
  "typescript.inlayHints.functionLikeReturnTypes.enabled": true,
  "typescript.inlayHints.parameterTypes.enabled": true,
  "typescript.inlayHints.propertyDeclarationTypes.enabled": true,
  "typescript.inlayHints.variableTypes.enabled": true,
  "editor.inlayHints.enabled": "on"
}

Ao sincronizar esses arquivos no repositório, quando os membros da sua equipe baixarem o projeto e abrirem o VS Code pela primeira vez, uma mensagem como a da figura abaixo aparecerá:

Ao confirmar, todas as extensões configuradas no arquivo extensions.json serão instaladas automaticamente no ambiente de desenvolvimento VS Code dos membros da equipe, automatizando a tarefa de padronizar o ambiente de trabalho da equipe.

Angular DevTools: Explorando Sua Aplicação Angular no Navegador

Uma das ferramentas que faltavam no ecossistema Angular era uma maneira de inspecionar profundamente uma aplicação diretamente no navegador. Ao longo dos anos, navegadores como Chrome e Firefox aprimoraram significativamente a experiência do desenvolvedor, oferecendo ferramentas poderosas para depuração de todos os tipos de sites. No entanto, até a versão 12 do Angular, o framework não contava com uma extensão específica para inspecionar suas aplicações de forma nativa.

Com isso em mente, a equipe do Angular criou o Angular DevTools, uma extensão disponível tanto para Chrome quanto para Firefox, que permite uma visualização detalhada da estrutura de componentes da sua aplicação Angular diretamente nas ferramentas de desenvolvimento do navegador.

Para instalar o Angular DevTools, acesse a loja de extensões do seu navegador (Chrome ou Firefox) e clique em Instalar. Uma vez instalada, ao acessar um site construído com Angular, e com o build configurado para desenvolvimento, uma aba chamada Angular aparecerá nas ferramentas de desenvolvedor do navegador, como mostrado na imagem abaixo:

Essa ferramenta permite navegar pela estrutura de componentes da sua aplicação, localizar o código dos componentes que estão sendo exibidos na tela, e até mesmo realizar um perfil detalhado da performance da aplicação, ajudando a detectar possíveis problemas.

Agora que você configurou um ambiente de desenvolvimento produtivo para suas aplicações Angular, estamos prontos para iniciar o desenvolvimento da sua aplicação.

Conclusão: A Jornada Está Apenas Começando

Você chegou até aqui. Explorou as ferramentas, entendeu o poder das decisões opinativas do Angular, configurou um ambiente de desenvolvimento poderoso e conheceu as tecnologias que fazem deste framework uma escolha sólida para projetos modernos. Mas, como qualquer grande jornada, o verdadeiro aprendizado começa quando você coloca a mão na massa.

Imagine-se no comando de um novo projeto, onde cada linha de código que você escreve constrói algo maior, mais robusto e pronto para enfrentar os desafios do futuro.

O Angular não é apenas um framework; é uma plataforma que guia seu desenvolvimento de maneira coesa, da concepção inicial até o lançamento em produção. 

Com cada comando da CLI, cada configuração no VS Code, e cada componente que você cria, o Angular torna-se uma extensão da sua criatividade e habilidade.

Agora, é hora de transformar todo esse conhecimento em prática. Abra o terminal, instale a CLI do Angular e dê o primeiro passo na criação do seu projeto. Não se preocupe em dominar tudo de uma vez. O segredo do desenvolvimento não está apenas em conhecer as ferramentas, mas em experimentá-las, explorá-las e, acima de tudo, aprender com elas. Cada erro que você encontrar será uma nova oportunidade de aprendizado, e cada solução que você descobrir fortalecerá suas habilidades como desenvolvedor.

Você já tem tudo o que precisa para começar. O Angular, com suas “baterias inclusas”, está pronto para te ajudar a transformar ideias em realidade. O próximo passo é seu: inicie o seu primeiro projeto e veja até onde essa jornada pode te levar.