Ambiente de Desenvolvimento Web

Olá

Como você desenvolve? O que você usa para desenvolver? Provavelmente você já viu/ouviu essas perguntas em fóruns, listas, ou mesmo perguntando a colegas da área. Nesse artigo vou falar sobre como desenvolvo hoje, na empresa e no home office. Não me aprofundarei muito em cada tema, pelo menos não agora!

Sistema Operacional
Abandonei o Windows® há algum tempo, usando-o só pra atualizar o Smartphone (Windows Mobile). Minha estação de trabalho é um notebook dotado de de um Turion X2 1.6, com 1GB de RAM (que em breve espero que sejam 4) 4Gb de RAM. Neste note utilizo o Kubuntu Intrepid 64, rodando o KDE 4.2 Beta; Optei pelo [K]ubuntu pela facilidade de manutenção, apesar de arcar com o custo de ter alguns módulos carregados os quais ainda não parei pra tirar da inicialização; O namoro com o Debian/Ubuntu é de longa data; Gosto mais da interface do KDE, a qual você pode customizar bastante, além de haverem ótimos recursos avançados, mas é assunto pra outro artigo
Na Burti, onde atuo como desenvolvedor hoje em dia, trabalho com um MacMini rodando o MacOS X 10.5 (leopard); antes de trabalhar lá eu meio que tinah um preconceito com relação a Mac, mas depois de conhecer, e não é nada do outro mundo, você até gosta do bichinho; ótima interface, dificilmente você irá rebootá-lo por uma pane (a não ser quando a Dock inventa de sumir).
O Windows ainda tem a maior variedade de Aplicativos (IDEs, Editores, Servidores, etc) para o desenvolvimento, mas com o que vou comentar a seguir não preciso deles de maneira alguma.

Servidores
Acho que se eu fizesse uma pesquisa aqui sobre qual servidor web é mais usado localmente no desenvolvimento, o Apache ganharia disparado. E se for falar de BD, o Mysql teria sua fatia bem gorda também. No note tenho as ultimas versões de Apache e Mysql para o desenvolvimento, com a ultima versão do PHP (hoje a 5.2.8). Para mim é algo bem fácil instalar: apt-get install php5 php5-mysql mysql-server.
No Mac faço uso do truque sujo MAMP.

Controle de Versão
Esse é um ponto controverso com alguns gerentes/coordenadores que conheço, mas é algo mais que necessário para o desenvolvimento. Uso o subversion na Burti, integrado com a IDE que vou falar adiante. Para quem não conhece sistemas de Controle de versão (CVS, Subversion, Bazaar, GIT), deveria se informar melhor do assunto.
Uso o subversion por ter maior conhecimento neste, além de ser mais fácil encontrar alguém que conheça o SVN que o GIT por exemplo.

IDE / Editor
Usar uma IDE ou um Editor mais simples? eis a questão! Eu uso uma IDE para, em uma só ferramenta eu ter o controle do código, visualização da arquitetura de classes, visualização/ mapeamento da classe que estou editando, Debugging e Profilling. Uso o Netbeans 6.5 (sim, existe uma versão hoje de Netbeans com suporte a PHP); Minha principal motivação de mudar do PDT para o Netbeans é que o ultimo funciona no meu Kubuntu 64bits, enquanto que o primeiro tenho que mexer em muita coisa pra rodar redondo.
O Netbeans conta com edição de PHP/HTML/CSS/JS integrado com as principais bibliotecas/frameworks (jQuery, Prototype, Dojo), desenvolvimento local e remoto, navegador de código, debugging como já citado, entre outras tantas features. Uso tanto em casa quanto na Burti, e recomendo. Quando tenho que fazer uma alteração remota com urgencia não dispenso o VI.

Netbeans 6.5 com suporte a PHP

Netbeans 6.5 com suporte a PHP

Navegador
Pois é, todos nós que trabalhamos com php temos que abrir o navegador vez ou outra para visualizar as coisas feitas no HTML,CSS e Javascript, e as coisas não feitas pelo IE :D . Minha primeira opção de navegador é o Opera, que dentre outros motivos atende à risca as especificações da W3C. Fazendo as coisas darem certo no Opera, tenho que acertar muito pouco, ou nada, minhas investidas contra o client-side em outros navegadores. Meu segundo navegador é claro o Firefox. Sempre há o pecado de ter as coisas no IE bagunçadas… para isso vamos ao próximo tópico.

Máquinas Virtuais
Bom, o principal uso de uma máquina virtual não é, com certeza, visualizar como seu sistema/site fica no IE, embora um dos meus usos seja especificamente esse. Uso o VirtualBox, com uma maquina windows xp. Apesar de ter o wine no linux, prefiro a MV a instalar o IE[ca] no Linux. Também uso a MV para testar as novas releases do [K|X]Ubuntu quando ainda em alpha/beta, e versões de softwares antes de instalar diretamente na workstation.

Cliente para Bancos de Dados
Bom, ainda não me acostumei a usar a ferramenta built-in do Netbeans (por sinal muito boa… só falta de costume). Então ainda uso o Mysql Query Browser e o Mysql Administrator, além, é claro, da interface em linha de comando; com o postgresql uso o PGAdmin. Mas ainda vou me acostumar a usar o cliente do netbeans, a se vou.

Editor UML
Sim, temos que utilizar a UML! Até pouco tempo atrás usava o ótimo Umbrello, do KDE, mas depois do Netbeans comecei a usar seu plugin UML que é ótimo. A única desvantagem para o Umbrello mesmo é a falta de geração de código a partir do Modelo neste ultimo.

MindMap
Não vou me aprofundar no assunto de mindmap, pelo menos não agora, mas é uma das melhores ferramentas para documentação em projetos ágeis, como Scrum e XP. Uso o Freemind para este serviço.

Metodologia de Desenvolvimento
Utilizo o Scrum como base na metodologia. O grande lance do Scrum é ter um ciclo definido de desenvolvimento, e consequentemente de releases para o cliente, no qual o desenvolvedor tem quase que total liberdade para gerenciar o tempo, além de ser flexivel quanto a regras, o que é até “obrigatório” no desenrolar de um processo Scrum. Falarei melhor sobre metodologias ágeis em breve.

Estilo de Codificação
Algo essencial para o trabalho em grupo. Utilizar um Estilo significa que o jeito que você escreve o código será igual ao da sua equipe, falando a grosso modo. Utilizo o Padrão do ZendFramework, que tem poucas variações do padrão PEAR.

Frameworks
Algo essencial para desenvolver rapidamente aplicações, sem re-re-re-re-inventar a roda.
No PHP estou brincando mais com o ZendFramework pelo nível e por tudo o que ele já possui; No passado ele tinha sérios problemas de performance, os quais não identifico mais, apesar de não ser o avião que o CodeIgniter / Kohana é.
Para o Javascript utilizo o fucker awesome poderoso jQuery.

Bom pessoal, dei uma passada rápida sobre o que uso no dia-a-dia para desenvolver. Até a próxima

Não ha comentários

Leave a reply