3 aplicativos que todo Dev deve conhecer (parte 1)
Published: 2021-06-28 12:53:05

Fala Dev, beleza? Sabemos que existem dezenas de aplicativos que auxiliam a produtividade do desenvolvedor. Já tive a oportunidade de experimentar dezenas delas, mas neste post vou trazer algumas principais que me ajudaram bastante em meus projetos.

## Insomnia / Postman
![Insomnia](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/edpsvkqoulhu7a26obgz.png)
![Postman](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qyn25735obi740mitwqr.png)
Se você ainda não trabalhou com APIs, muito provavelmente uma dia irá, pois é a principal forma de comunicação entre backend e frontend/mobile e integração com sistemas terceiros. Claro, existe também os microsserviços, mas vamos deixar isso para outro post.

Vamos supor que você esteja desenvolvendo uma API REST para sua aplicação, você pode usar Javascript com Node puro (express), algum framework como AdonisJS/NestJS, ou até mesmo em outras linguagens tão famosas (C#, Python etc). Independente da linguagem ou framework que você usar, é importante ter uma ferramenta que permita você testar de forma rápida e intuitiva. O **Insomnia** e **Postman** sem dúvidas vão te ajudar nisso.

Em ambos, é possível criar Workspaces, que é uma forma de organizar seu ambiente, dividindo todo o seu conteúdo por empresa, cliente ou projeto. 

Uma coisa que gosto bastante de ambos é que, baseado no Endpoint que você está construindo, eles te dão exemplo de código (baseado na sua linguagem de programação) para usar na sua aplicação.

#### Insomnia
![Insomnia](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u1n7h6i4utiyqps6ckae.png)
 
#### Postman
![Postman](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ppvdj7hu8hfjwdapj1zk.png)

Mais um ponto interessante é o suporte a multi-protocolos, sendo possível usar não somente REST, mas também SOAP, GraphQL e GRPC.

Acesse [aqui o site do Insomnia](http://insomnia.rest) e [aqui o do Postman](http://postman.com)

## DevDocs
![DevDocs](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zarpvvw1av6uhpzm4p9c.png)
Vamos supor que você está ecrevendo um método em JavaScript onde deve-se iterar um array para achar um determinado valor. Alguns fariam da seguinte forma:
```
const result = array.map(item => {
   if (item === 'oQueProcura') {
      return item
   }
}
```
No exemplo acima, ele vai testar cada objeto do array, e se a condição for *true*, irá retornar o item.

Errado não está, mas existe um método específico para isso, como find. 
```
const result = array.find(item => item === 'oQueProcura')
```
Usando *find*, você tem ganho de performance, e você só irá sentir isso quando o array for maior. 

Como eu sei? Consultando o [DevDocs](http://devdocs.io). O DevDocs é uma biblioteca completa que mostra praticamente todos os métodos de uma linguagem e sua forma de usar. Acreidto que eles conseguiram inserir todas as linguagens existentes! Portanto, caso tenha dúvida de como usar um método na sua lingugagem, conte com o DevDocs. Ele é incrível! 

## Whimsical
![Whimsical](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zixv23b7kzttdvbickr8.png)
Whimsical é um conjunto de vária ferramentas que vão te auxiliar na construção do seu projeto. 

Nele é possível fazer documentação do seu projeto utilizando o **Docs**. Há várias funcionalidades que vão auxiliar, como atalhos em Markdown e  opções de arrastar/soltar, tudo isso para que você tenha uma melhor experiência na escrita de sua documentação.

A ferramenta de desenho de fluxogramas é muito prática e intuitiva, sendo possível personalizar facilmente seus artefatos e utilizar o arrasta/solta.

Sabe quando você precisa iniciar o desenvolvimento de telas do seu app, mas não tem nem noção de como vai ficar? A ferramenta de Wireframe vai te ajuda na construção da sua tela através de elementos configuráveis, como botões, entradas, caixas de seleção entre outros.

Se você possuim uma ideia de projeto mas está com dificuldade em definir e organizar as regras de negócio, os Mapas Mentais vai te ajudar. Aqui é possível diagramar facilmente utilizando o arrasta/solta e personalizando de diversas formas.

E depois de estar com sua documentação pronta, wireframe aprovado e a ideia bem formatada, agora é colocar em produção, e eu aconselho o uso do Kanban para organizar suas tasks. Para isso, o Stick Notes vai ajudar bastante, permitindo atribuir para uma pessoa, controlar e gerenciar através de gráficos e relatórios. Bastante intuitivo.

Acesse [aqui o site do Whimsical](http://whimsical.com).