Posted on: January 29, 2020 12:18 PM
Posted by: Renato
Categories: Variados
Views: 468
As 27 ferramentas que todo programador deve conhecer.
Os Programadores tem conseguido criar cada vez mais coisas grandiosas em menos tempo (hoje uma pequena equipe pode criar um APP mobile em dias) e isso se deve principalmente às ferramentas e frameworks disponíveis.
Conhecer um bom conjunto de ferramentas (e frameworks) torna a vida mais fácil e aumenta a produtividade, então eu decidi trazer as principais ferramentas que eu uso (e que outros programadores que conheço usam) para expandir ainda mais o seu Poder como desenvolvedor, bora?
Categorias
- Ambiente
- Versionamento de código
- Ferramentas de colaboração
- Planejamento
- Qualidade de código
- Criação de código
- Continuous Integration (CI)
- Monitoramento
- Bônus
Lista de ferramentas
Ambiente
1 – Terminator
Se você assim como eu roda um servidor em um terminal (Api), outro em outro terminal (Cliente) e ainda precisa executar mais tarefas em outros terminais, certamente vai gostar de usar o Terminator.
Ao invés de ter várias abas (e ficar perdido entre elas), usando o Terminator você consegue abrir vários terminais em uma única tela (dividindo ela como na imagem a cima) podendo ver o que está rolando a todo momento em cada um deles.
2 – Oh My Zsh
O zsh é um tipo de shell para você rodar seus comandos no terminal e o ‘oh my zsh’ é um framework incrível para gerenciar as configurações dele.
Com o Oh My Zsh você consegue instalar temas elegantes no seu terminal (o que vai deixar a aparência dele realmente interessante) e também plugins para facilitar sua vida (autocomplete, Git, Capistrano, Docker e etc ).
3 – Docker
Versionamento de código
4 – GitKraken
Você não gosta muito de usar o Git pelo terminal? Sem problemas, o Gitkraken é uma ferramenta extremamente elegante para que você possa trabalhar o versionamento do seu código de forma visual (e tem para Linux, Mac e Windows).
5- Gitlab
O Gitlab é uma ferramenta incrível e multifuncional, nele você pode hospedar seus códigos (assim como no github, porém os repositórios nele são gratuitos) e ainda configurá-los para rodar seus testes e realizar o deploy automaticamente (CI/CD), vale a pena conhecer.
Ferramentas de colaboração
6 – Slack
O Slack é a principal ferramenta de comunicação de equipes (principalmente no meio da programação), então se você está em uma equipe que não usa, talvez valha a pena sugerir a utilização dessa ferramenta.
Os principais benefícios do Slack são: A facilidade de falar com os membros do time e os Bots que são facilmente integráveis e que permitem uma automação de parte do trabalho.
7 – MeisterTask
Como você tem gerenciado suas tasks? Se você não tem um bom planejamento ou alguma maneira de acompanhar o seu progresso dentro do planejamento, há grandes chances de você não conseguir entregar o software.
O MeisterTask é um gerenciador de tarefas muito bonito que vai te ajudar a manter tudo em ordem, ele é fácil de integrar com outros softwares e possui um dashboard com o resumo de tudo que rolou nos projetos que você participa (eu migrei do Trello para ele e estou me divertindo).
8 – Cuckoo Team
Você usa a técnica Pomodoro? Basicamente com ela você trabalha em ciclos, um ciclo seria trabalhar por 25 minutos focado(a) e descansar por 5 minutos e a cada 4 ciclos você descansa por 15 minutos.
O Cuckoo Team é uma ferramenta online para que você use a técnica Pomodoro junto com a sua equipe (todos vão ver o mesmo timer), se bem utilizado aumenta bastante a produtividade.
Planejamento
9 – DbDesigner
Como você modela os seus bancos de dados? Ao invés de desenhar no papel o modelo de como você imagina que seu banco de dados deveria ser talvez seja uma boa usar uma ferramenta online para isto e o DbDesigner pode te ajudar justamente nessa tarefa (é a minha ferramenta preferida para modelar bancos de dados).
10 – Mockflow
Uma das coisas que mais fez diferença para mim na hora de criar um projeto do zero foi o hábito de criar Mockups antes de sair codando, quando você cria o modelo visual de como será o projeto você é obrigado a refletir sobre as regras de negócio e a organização dos controllers (se for um projeto Web).
O MockFlow é uma ferramenta bem legal que te permite criar mockups arrastando elementos e ainda te dá uma série de bibliotecas de componentes (bootstrap, materialize e etc) para que seu mockup já saia no estilo visual do seu projeto.
11 – InVision
Depois que você criou mockups incríveis para o seu projeto usando o MockFlow você pode ir para o próximo nível usando uma ferramenta chamada InVision.
Com o InVision você consegue transformar seus mockups estáticos em telas clicáveis (ele simula a usabilidade da tela) para que seus clientes consigam visualizar como vai ficar o projeto (essa é só uma das features dele).
12 – MindMeister
A última ferramenta da nossa lista de planejamento não é menos incrível do que as outras, o MindMeister te ajuda a criar mapas mentais que são realmente úteis na hora de planejar seu novo projeto ou novas features.
Qualidade de código
13 – Code Climate
Você avalia a qualidade do código que escreve? O Code Climate é uma ferramenta que pode te ajudar a automatizar esta função. Assim que você sobe o seu código para o repositório ele vai fazer uma análise dando uma nota para a qualidade do seu projeto (levando em conta código repetido, complexidade e etc ).
Ele é gratuito para projetos Open Source, realmente vale a pena dar uma olhada com calma nessa ferramenta que vai te ajudar a criar códigos com mais qualidade.
Criação de código
14 – Vs Code
Editores de texto são as principais ferramentas dos desenvolvedores de código e o Visual Studio Code tem sido o editor do momento (eu gosto bastante \o/).
Ele possui integração nativa com o Git e um console integrado (isso facilita muito), também é possível instalar temas e plugins facilmente nele.
No OneBitCode nós possuímos uma série completa sobre como utilizá-lo, acessa aí: Dominando o Visual Studio Code (+ 10 extensões incríveis)
15 – Atom
O Atom também é um editor de texto incrível e foi feito para ser hackeável (ou seja, é fácil mudar o comportamento padrão dele para adequá-lo às suas necessidades.)
No Blog nós temos um Screencast completo ensinando como utilizá-lo a fundo: Dominando o Atom [12 pacotes Incríveis!]
16 – Vim
Se você gosta de algo realmente customizado o Vim é um caminho, ele também é um editor de texto como o Vs Code e o Atom mas possui uma curva de aprendizado maior (alguns programadores amam por aumentar a velocidade de código e outros evitam chegar perto pelo numero de comandos que é necessário decorar).
Um post sobre Vim está a caminho no Blog, aguenta aí \o/
17 – c9.io
O Cloud9 é um ambiente de desenvolvimento integrado que te permite escrever, executar e depurar códigos usando apenas um navegador (sem precisar instalar nada na sua máquina). As principais facilidades que ele traz: Codar de onde você estiver (escritório, casa e etc), codar com qualquer sistema operacional (já que você vai apenas usar o browser) e compartilhamento fácil do ser ambiente de desenvolvimento na nuvem com a equipe.
Continuous Integration
18 – circleCI
O CircleCI integra-se com um Git e executa automaticamente uma série de etapas (testes, deploy e etc) sempre que detecta uma alteração no seu repositório, possui opção de estar na nuvem ou local.
19 – Codeship
Se você precisa constantemente fazer deploy da sua aplicação de maneira segura (rodando os testes antes) então o Codeship pode ser o caminho para você. Ele detecta quando você faz um git push para a branch de sua escolha, roda os testes que você deixou pré definidos na plataforma dele e se os testes passarem ele faz o deploy para o servidor de sua preferência como por exemplo Aws, Heroku ou algum servidor particular via capistrano ou script personalizado.
20 – Travis CI
O Travis CI é um serviço web de Integração Contínua na nuvem integrado com o GitHub. Ele é gratuito para repositórios públicos (travis-ci.org) e pago para repositórios privados (travis-ci.com).
Monitoramento
21 – Rollbar
O Rollbar te permite monitorar os erros do seu APP em tempo real através de um dashboard e te avisa quando algo errado aconteceu. Ter uma ferramenta como esta vai fazer suas noites mais tranquilas (você vai saber que está tudo bem) e também vai te ajudar a aprimorar seu software, então se você preza por qualidade, use.
22 – New Relic
É uma ferramenta de monitoramento de performance e análise de aplicações web, no OneBitCode nós possuímos um post ensinando passo a passo com integrar essa ferramenta ao seu APP: Como monitorar seu APP Rails
Bônus
23 – StackEdit
Você já precisou editar um README.md (markdown) e perdeu muito tempo para deixar a aparência como gostaria? Com o StackEdit você consegue editar seu arquivo markdown e visualizar o resultado ao mesmo tempo, o que acelera e facilita bastante o processo.
24 – CodeShare
Com essa ferramenta você consegue criar uma sala online (com vídeo) para explicar conceitos de programação (os participantes vão visualizar o seu código em tempo real), caso você precise fazer algo deste tipo, o CodeShare é um bom caminho.
25 – Postman
Fazer chamadas HTTP através do console (CURL) pode ser bem útil quando você quer fazer um teste simples, mas quando você precisa passar headers ou muitos parâmetros pode ser um grande desafio. Você pode evitar isto usando o Postman que é uma interface gráfica que te ajuda a fazer chamadas HTTP facilmente (e ainda salva as chamadas anteriores para você reutilizá-las).
26 – Uppy
Provavelmente você já precisou fazer o upload de arquivos em seus projetos Web, certo? Bom o Uppy é uma ferramenta de upload de arquivos bem completa que pode se integrar com a maior parte dos frameworks e pode facilitar essa tarefa na próxima vez que você precisar (ele pode enviar os arquivos para o seu APP, Google Drive, Dropbox e etc).
27 – Franz
Eu utilizo muitos aplicativos de mensagem: WhatsApp, Messenger, Slack e etc e as vezes pode ser um grande desafio gerenciar tudo isto. Caso você tenha a mesma dificuldade, o Franz é um APP que pode ajudar. Ele é uma ferramenta que agrega todas as redes em um único APP e pode te ajudar a não deixar nenhuma mensagem perdida (sem ter que deixar 10 abas abertas).
Donate to Site
Renato
Developer