Hoje temos mais uma contribuição de Cláudio Ralha que apresenta o kit de ferramentas do desenvolvedor Angular. |
Toda vez que trocamos de linguagens de
programação ou de framework, saímos da nossa zona de conforto e ficamos com
aquela sensação de que estamos sem chão ou pisando em ovos, não é mesmo?
Pois bem, se você resolveu partir para o mundo Angular agora, este artigo foi
feito justamente para você. Uma dentre as muitas dúvidas que pairam sobre a
nossa cabeça quando estamos começando no framework é que ferramentas usar.
A escolha do editor de código irá depender principalmente da linguagem adotada
para rodar o back-end da sua aplicação, já que é possível combinar Angular com
diferentes linguagens como C#, Visual Basic, Java, PHP, etc.
Assumindo a linguagem C# como a sua escolha, já que esta é a linguagem preferida
da maioria do público alvo do site Macoratti.NET, podemos sugerir de imediato o
uso do Visual Studio Code ou do Visual Studio. Caso você só trabalhe com
front-end, o VS Code é a melhor escolha pois é leve, multiplataforma e oferece
suporte a um grande número de linguagens através de extensões. Caso precise
trabalhar intensamente tanto no código do front-end quanto de back-end, o Visual
Studio é a escolha mais natural. Em um artigo a parte, iremos apresentar os
principais editores de código e IDEs que são usados por desenvolvedores ao
codificar em Angular para que você possa avaliar outras opções gratuitas e
comerciais disponíveis.
Uma lista de ferramentas como ponto de partida
Na lista a seguir, enumeramos as principais ferramentas utilizadas no
desenvolvimento de projetos Angular em conjunto com Web APIs escritas em C#.
Observe:
• Angular CLI (o Angular Console é uma opção para quem não
consegue memorizar os comandos do CLI)
• Node.Js (usamos basicamente o gerenciador de pacotes NPM que acompanha o
Node.js)
• TypeScript (as opções de linguagem para projeto Angular são CoffeeScript e
Dart)
• Protractor
• Karma
• Jasmine
• TSLint
• Git
• SASS (as alternativas são CSS puro, Less ou Stylus)
• Angular Augury
• Postman
• Swagger
• NuGet
• PowerShell (o prompt interno do VS Code é uma boa alternativa)
Antes que esta lista intimide quem está dando os primeiros passos, é preciso
deixar claro que desenvolvedores iniciantes não irão utilizar de imediato todas
essas ferramentas. Sim, dá para viver feliz e contente sem parte delas!
Ferramentas para garantir a qualidade do código como o TSLint ou ferramentas
voltadas para testes como o Protractor, Karma e Jasmine podem ser aprendidas em
um segundo momento, após você ter dominado os conceitos por trás do Angular e o
básico do TypeScript. De modo semelhante, uma ferramenta de depuração avançada
como o Angular Augury só será útil em cenários mais complexos.
Ao examinar esta lista você irá notar que existem algumas ferramentas
relacionadas ao código de back-end em C# que você possivelmente já domina. São
elas: NuGet, Postman e Swagger.
Obviamente cada desenvolvedor terá seu gosto pessoal e irá substituir parte das
alternativas listadas anteriormente por outras ferramentas de sua escolha à
medida que for ganhando experiência no framework Angular e interagindo com
outros profissionais. Tenha em mente, contudo, que a lista que apresentamos
reflete as ferramentas mais solicitadas em vagas do mercado de trabalho, logo
conhecer pelo menos o básico de algumas delas será um diferencial na hora de
participar de processos seletivos.
Vejamos cada ferramenta em mais detalhes nas próximas seções...
Angular CLI
Ferramenta de linha de comando (ng.exe) lançada em 2017 pelo time de
desenvolvimento do Angular para a geração de aplicações em Angular. O Angular
CLI automatiza tarefas de criação de projetos, componentes, serviços, filtros,
módulos e diretivas. A documentação oficial do projeto Angular CLI está
disponível em:
https://angular.io/cli
Site oficial da ferramenta Angular CLI
Angular Console
Ferramenta desktop do tipo GUI (Graphic User Interface) que permite executar a
ferramenta Angular CLI de uma forma amigável, sem ter que memorizar os comandos
de criação e atualização de projetos e seus elementos. Disponível para os
sistemas operacionais Windows, Linux e Mac OS. O site oficial do Angular Console
está disponível em:
https://angularconsole.com/
Site oficial da ferramenta Angular Console
Node.js
Plataforma criada em 2009 sobre a engine de execução do JavaScript do navegador
Google Chrome para a construção de aplicações Web. O Node.Js ou simplesmente
Node, facilita a criação de aplicações de rede rápidas e escaláveis com intensa
troca de dados. Por ser multi-plataforma (roda em Windows, Linux e Mac), foi
usado como base a criação de uma nova geração de ferramentas de desenvolvimento.
Para acessar o site oficial do projeto, visite:
https://nodejs.org/en/
Site oficial da plataforma Node.js
NPM
Acrônimo de Node Package Manager. Um gerenciador de pacotes que acompanha a
plataforma Node.js e que nos permite instalar qualquer pacote criado por outros
desenvolvedores com um mínimo de esforço via linha de comando. Para visitar o
site oficial do projeto, acesse:
https://www.npmjs.com/
Site oficial do gerenciador de pacotes NPM
Nuget
Um gerenciador de pacotes gratuito e de código aberto projetado para a
plataforma de desenvolvimento da Microsoft. Inicialmente chamado de NuPack, o
NuGet é distribuído como uma extensão do Visual Studio desde o VS 2010 e pode
ser utilizado tanto em modo gráfico quanto em modo de linha de comando. O site
oficial do projeto está disponível em:
https://www.nuget.org/
Site oficial do
gerenciador de pacotes NuGet
Para saber mais sobre o NuGet, acesse:
https://docs.microsoft.com/pt-br/nuget/what-is-nuget
TypeScript
Linguagem de programação criada pela Microsoft. É um superconjunto da linguagem
Javascript com recursos não disponíveis na linguagem Javascript (tipos
opcionais, namespaces, classes, enums, interfaces, generics, parâmetros
opcionais, parâmetros default e async/await, dentre outros). A linguagem
TypeScript é a mais usada para a geração de Javascript na plataforma Angular,
embora não seja a única suportada. Como alternativa, é possível utilizar
CoffeeScript e Dart. Para conhecer o site oficial do projeto, acesse:
https://www.typescriptlang.org/
Site oficial
da linguagem TypeScript
Importante: o Angular suporta o desenvolvimento de projetos também nas
linguagens CofeeScript e Dart mas praticamente não existe documentação oficial
ou exemplos de criação de projetos Angular nestas linguagens. Todos os projetos
profissionais feitos em Angular utilizam como linguagem de script o TypeScript.
Protractor
Um framework de teste end-to-end para Angular e AngularJS. Permite rodar testes
na aplicação em execução em um navegador real, interagindo com ela como se fosse
um usuário real. É configurado por padrão em projetos criados usando a
ferramenta de linha de comando Angular CLI. O site oficial do projeto Protractor
está disponível em:
http://www.protractortest.org/
Site oficial da ferramenta de testes
Protractor
Karma
Uma ferramenta de testes unitários para JavaScript que é executada no Node.js e
permite rodar código JavaScript em vários navegadores reais. É configurada por
padrão em projetos criados usando a ferramenta de linha de comando Angular CLI.
O site oficial do projeto Karma pode ser acessado em:
https://karma-runner.github.io/
Site oficial da ferramenta de
testes Karma
Jasmine
Um framework de BDD (Behaviour Driven Development) para testes de JavaScript
para navegadores e Node.js que apresenta uma sintaxe de fácil leitura. Pode ser
executado em qualquer plataforma habilitada para JavaScript, Python ou Ruby. O
site oficial do projeto Jasmine está disponível em:
https://jasmine.github.io/index.html
Site oficial da ferramenta de testes
Jasmine
TSLint
Uma ferramenta de análise estática extensível que verifica o código do
TypeScript em busca de erros de legibilidade, manutenibilidade e funcionalidade.
A ação da ferramenta pode ser personalizada com suas próprias regras,
configurações e formatadores. O site oficial do projeto Tslint está disponível
em:
https://palantir.github.io/tslint/
Site oficial da ferramenta de
análise Tslint
Git
Um sistema de gerenciamento de código aberto criado por Linus Torvalds para
rastrear mudanças em arquivos de texto. Lançado em 2005, o Git foi criado a
partir das lições aprendidas pelo time de desenvolvimento do Kernel do Linux com
a ferramenta BitKeeper. Segundo a documentação oficial do Git, este foi criado
tendo como objetivos principais: velocidade, design simples, suporte robusto a
desenvolvimento não linear, totalmente distribuído e capacidade de lidar
eficientemente com grandes projetos. O Git está disponível para as plataformas
Windows, Linux e Mac. Para baixa-lo, acesse o site oficial em:
https://git-scm.com/
Para os usuários do Windows, existe um site extra
disponível com informações voltadas para a plataforma em:
https://gitforwindows.org/
O Git é utilizado no desenvolvimento de software por
gigantes do mercado como Microsoft, Google, Facebook, Twitter, Netflix e
LinkedIn, dentre outras. Serviços como o GitHub, Azure DevOps e o BitBucket
foram construídos sobre esta tecnologia.
Angular Augury
Uma extensão de ferramenta de desenvolvedor disponível para os navegadores
Google Chrome e Mozilla Firefox, usada para depuração e criação de perfil de
aplicativos Angular. Permite visualizar o aplicativo por meio de árvores de
componentes e ferramentas de depuração visual. O site oficial do Angular Augury
está disponível em:
https://augury.rangle.io/
Site oficial da ferramenta de depuração Angular Augury
SASS
Acrônimo de Syntactically awesome stylesheets. Um pré-processador de CSS que
oferece recursos avançados de sintaxe. Um arquivo escrito em Sass ao ser
processado gera como saída uma folha de estilo CSS regular. Criado em 2006 por
Hampton Catlin e Natalie Weizenbaum. O site oficial do projeto pode ser acessado
em:
http://sass-lang.com/
Site oficial do pré-processador Sass
O Angular ainda oferece suporte aos pré-processadores Sass, Less e Stylus
através da ferramenta Angular CLI. A maioria dos desenvolvedores utiliza
atualmente o SASS.
LESS
Um pré-processador de CSS que oferece recursos avançados de sintaxe, incluindo
variáveis, mixins, operações e funções. Criado em 2009 por Alexis Sellier. O
site oficial do projeto pode ser acessado em:
http://lesscss.org/
Site oficial
do pré-processador Less
Stylus
Um pré-processador de CSS que oferece recursos avançados de sintaxe. Criado em
2010 por TJ Holowaychuk. O site oficial do projeto Stylus pode ser acessado em:
http://stylus-lang.com/
Site oficial do pré-processador Stylus
Postman
O Postman é uma ferramenta de testes de serviços RESTful (Web APIs) por meio do
envio de requisições HTTP e da análise do seu retorno. Com ele é possível
consumir facilmente serviços locais e na internet, enviando dados e arquivos e
efetuando testes sobre as respostas das requisições.
O site oficial da ferramenta Postman pode ser acessado em:
https://www.getpostman.com/
Site
oficial da Ferramenta Postman
Swagger
O Swagger é um conjunto de ferramentas que ajuda os desenvolvedores .NET/.NET
Core a projetar, criar, documentar e consumir serviços da Web RESTful. Ele
permite documentar de forma automática as APIs criadas, além de permitir a
execução e alguns testes diretamente da página de documentação gerada, atuando
neste cenário como uma alternativa para a Postman.
O site oficial da ferramenta Swagger pode ser acessado em:
https://swagger.io/
Site
oficial da Ferramenta Swagger
PowerShell
Uma ferramenta multiplataforma, disponível para Windows, Linux e Mac, voltada
para automação e configuração de sistema via scripts, bem parecido com o Shell
do Linux e Mac. O PowerShell foi criado pela Microsoft inicialmente como um novo
prompt de comando para Windows, mais poderoso que o CMD.
O site oficial do PowerShell pode ser acessado em:
https://docs.microsoft.com/pt-br/powershell/?view=powershell-6
Site oficial da
Ferramenta PowerShell
Conclusão
Agora que você já sabe para que serve cada item do kit de ferramentas do
desenvolvedor Angular e onde achar informações sobre as ferramentas desejadas, é
hora de colocar a mão na massa e criar projetos de teste para aprender esse
framework fantástico. Esperamos que tenha gostado desta lista que preparamos
para você. Bom estudo e até a próxima!
Cláudio Ralha
Referências: