Meu ambiente de trabalho em 7 ítens

Fui convidado pelo Diego Eis a compartilhar meus aplicativos e ferramentas favoritas na hora de trabalhar. Assim como ele, também não curto esse lance de correntes, mas concordo que essa é uma ótima iniciativa. Já descobri diversas coisas legais lendo este tipo de post. Demorei um pouco, é verdade, mas vamos lá!

Ah, e como no trabalho eu utilizo Linux (Ubuntu) e para projetos pessoais minha plataforma é Mac, cada ítem traz opções para os dois sistemas operacionais.

1) Vim / TextMate

A principal ferramenta para um programador é seu editor de textos ou IDE. Não abro mão do vim no Ubuntu e nem mesmo no Mac, onde ele divide espaço com o TextMate.

No vim, inspirado pelo TextMate, não pode faltar o plugin snipMate. Snippets são trechos de código pré-definidos que podem ser inseridos com uma simples tecla, de acordo com sua configuração, com n variáveis. Por exemplo, um simples:

  tpl[tab]

pode virar:

<!doctype html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
  </head>
  <body></body>
</html>

O vim pode ter uma curva de aprendizado difícil, mas uma vez que você pegue o espírito da coisa, você vai estar apertando ESC+: em tudo o que é lugar.

Já no TextMate, não pode faltar o plugin Project Plus, para gerenciamento de aplicações como um projeto.

Quem quiser pode dar uma olhada no meu .vimrc e nos meus plugins em www.github.com/daviferreira/vim.

2) Querious / MySQL Browser / SQLite Manager

No Linux, a melhor opção (na minha opinião, é claro) para gerenciar um banco de dados MySQL é a ferramenta MySQL Query Browser, desenvolvido pela própria MySQL AB (seu desenvolvimento foi descontinuado, mas mesmo assim ainda acho a melhor alternativa). Sua interface é feia e um pouco confusa, mas funciona legal. Tudo para fugir do phpMyAdmin.

Por outro lado, no Mac, o Querious é a melhor opção disparada. Custa 29 dólares e vale cada centavo. Sua interface é simples e muito bonita - fato raríssimo em ferramentas para desenvolvedores.

E, por último, o único motivo pelo qual eu ainda executo o Firefox: o SQLite Manager, gerenciador de bases de dados SQLite3. Por enquanto vem quebrando o galho, mas já estou de olho em um substituto. Alguém indica algum?

3) Terminal

O terminal é parte essencial da minha caixa de ferramentas. É também um ótimo aliado para evitar tarefas repetitivas e/ou rotineiras. Um pouco de shellscript aliado aos comandos nativos do UNIX e um pouco de expressão regular podem salvar horas e horas de trabalho manual. O terminal também permite mais agilidade na hora de executar aplicativos e abrir/editar/localizar arquivos.

Com o terminal vem o controle remoto de arquivos e configurações via ssh.

A mensagem, na verdade, é a seguinte: utilize cada vez menos o mouse, domine o teclado.

4) Google Chrome (era Firefox, Firebug, Webdeveloper)

Depois de muito tempo utilizando o Firefox e seus plugins, de uns meses pra cá adotei o Google Chrome como navegador “oficial” e para desenvolvimento. Cansei dos problemas de memória do Firefox, tanto no Mac, como no Linux. Por muitas vezes o navegador da Mozilla chegava a consumir 90% da memória. É muito, não?

Além disso, o Chrome é mais rápido e, hoje em dia, possui ferramentas para desenvolvedores maduras o suficiente para não tornar o Firebug indispensável.

5) Git, Github (Mac), FileZilla, Transmit, Dropbox

Demorei um pouco para de fato me acostumar com controle de versões. Depois de algum contato com CVS/SVN, há muito tempo, acabei ficando com o git e seu fiel escudeiro github.

Controle de versão, compartilhamento de código, publicação… São diversos os motivos para utilizar o git (ou outro aplicativo do tipo) e, por mais que seja um pouco chato no início, passa a valer a pena quando você consegue recuperar estados diversos do seu código com alguns simples comandos/cliques. Para melhorar, recentemente, o pessoal do Github lançou um cliente para Mac.

As transferências de arquivos via FTP são realizadas pelo FileZilla (Linux) e Transmit (Mac). O FileZilla é um excelente cliente FTP e durante muito tempo utilizei-o também no Mac. No entanto, a versão 4 do Transmit me conquistou, principalmente por sua fantástica integração com o ambiente Mac, permitindo, por exemplo, montar um FTP como disco.

E por falar em transferência de arquivos, o Dropbox é campeão nessa área. Pra quem não conhece, trata-se de uma ferramenta que permite a sincronização de uma “pasta” em computadores diferentes, além de permitir também acesso via web. Sua integração com o sistema operacional (Windows, Mac e Linux) é total e você trabalha nos arquivos de forma local. A versão básica (grátis) permite o armazenamento de até 2GB.

6) Sparrow, Postler, Adium, Pidgin

Agora vamos falar de comunicação. Eu possuo uma forte queda por aplicativos bem simples, com interfaces minimalistas. Os meus dois clientes de e-mail (Sparrow no Mac e Postler no Linux) são softwares novos, mas bastante promissores. Ambos possuem uma interface sem muitas firulas, priorizando as mensagens em si. Ambos também contam com uma forte integração com o Gmail.

Para chats (via Jabber), minhas escolhas são o Adium no Mac e o Pidgin no Ubuntu. Apesar do iChat ser bem simples, ele sempre travou muito, por isso hoje em dia utilizo o Adium.

7) Things

Fechando a lista apresento o Things, meu gerenciador de projeto/tarefas. Como quase tudo no Mac, sua interface é muito simples e intuitiva.

Utilizo o Things para controle dos meus projetos como freelancer. É possível sincronizar as tarefas com o iCal, cadastrar tarefas recorrentes e o seu sistema de tags torna tudo muito mais fácil na hora de localizar qualquer coisa.

Utilitários

  • Divvy Este aplicativo permite, de forma intuitiva, posicionar e redimensionar as janelas de acordo com um grid no desktop.
  • Skitch Ferramenta para capturas de tela com contagem regressiva e interface drag and drop.
  • Alfred O Alfred é um utilitário para executar aplicativos e localizar arquivos de forma rápida, via teclado.
  • Guake Conheci o Guake no blog do @alganet, em um post como este. Ele simula o famoso terminal do Quake, permitindo um rápido acesso via F12.
  • IA Writer O IA Writer possui tudo o que você precisa para escrever sem distrações, ou seja: nada.

Meus ambientes de trabalho

Seguem dois screenshots dos meus desktops em casa e no trabalho:

Mac Snow Leopard

Linux/Ubuntu com Unity 2D

Passando a bola

Mantendo a corrente ativa, convido os seguintes camaradas: @vitorbaum, @devcalmonr, @guiiipontes, @helioloureiro, @marcelaraujo.