Meu ambiente de desenvolvimento Web – Edição 2016

Um dos factores que devem se ter em conta no ramo desenvolvimento de sistemas é que as tecnologias evoluem á velocidade da luz. É necessário estar sempre atento as mudanças e tendências para garantir segurança e compatibilidade dos sistemas desenvolvidos. Numa rápida pesquisa aqui no portal Infomoz, encontrei este artigo de 2010, onde eu sugeria algumas ferramentas para acelerar o desenvolvimento web com PHP. O interessante, porém, é que quase todas as ferramentas ai mencionadas já estão descontinuadas ou então foram actualizadas até ao ponto de serem “ireconheciveis”. Sendo assim, vou aqui deixar ficar as ferramentas que uso no meu ambiente de desenvolvimento Web em 2016.

PHP 7

Lançado a menos de 1 ano atrás, PHP 7 é a mais recente versão estável do PHP e a recomendável para qualquer novo projecto. Várias novas funcionalidades foram acrescentadas ao PHP desde que a versão 5 foi lançada em 2015, ou seja, á 10 anos atrás. Entre as funcionalidades que mais chamam atenção, posso citar Namespaces, Composer(que substitui o Pear), Return Type Declarations, Strict Types, etc. Estas e outras funcionalidades colocam PHP no nível igual ou superior ás principais linguagens de programação conhecidas.

CakePHP 3

Apesar de todo mundo hoje em dia falar do Laravel, eu ainda prefiro CakePHP, pela experiência, simplicidade e rapidez no desenvolvimento. É uma questão de escolha pessoal. Na versão 3 do CakePHP já temos todas as ferramentas que qualquer FrameWork Moderno deve ter, como Namespaces, Composer, suporte a PHP 7, etc. etc.Infelizmente a migração de Sistemas do CakePHP 2 para CakePHP 3 não é linear, por isso ainda continuarei a mexer código do CakePHP 2 por alguns meses/anos.

Nginx

Por sugestão de Paulo Braga, passei a usar Nginx como Webserver em vez de Apache. Não cheguei a fazer um benchmark para ver os ganhos que tive em termos de performance, mas o facto de achar a configuração do Nginx muito mais simples e clara que do Apache foi o suficiente para fazer a migração.Estou a procura de tempo livre para testar Hack+HHVM, para usar como alternativa á combinação PHP 7 +PHP-FPM, mas Nginx continuará sendo o webserver principal dos meus projectos, por enquanto.

Github+Phabricator

Não há dúvidas que Github é o padrão para o controle de versão, tanto em projectos Open Source quanto em projectos privados, logo não preciso escrever muito aqui. Acrescentei recentemente o Phabricator na lista de ferramentas, para todas as outras partes da gestão de projectos de desenvolvimento de software, tais como, gestão de tarefas, scrum, code reviews, auditoria, e muito mais. Enfim, são tantas coisas que o Phabricator faz, que merece um artigo separado. Aliás, o Phabricator também pode funcionar como sistema de controle de versão, mas eu preferí continuar a usar github e fazer um mirror no Phabricator.

Rocketeer

Até pouco tempo atrás, meu “workflow” era o seguinte:

  1. Desenvolver uma funcionalidade
  2. Correr Testes(Unitários, Selenium,etc)
  3. Fazer commit do código(git commit)
  4. Fazer Push para o Github(git push origin master)
  5. Ir ao servidor de produção e fazer Fetch+Merge+Composer Update

Obviamente não é das melhores formas de trabalhar, por isso recentemente decidi testar e adoptar uma ferramenta de deployment, e Rocketeer se saiu muito bem nos testes. Já estou a usar inclusive para projectos em produção e não tive nenhum problema. Uso Jenkins para correr testes automáticos, mas ainda falta fazer a integração perfeita Github+Jenkins+Rocketeer. Também tenho de ver qual a cena da aplicação Harbormaster que vem integrada no Phabricator e diz ser para Continuous Integration. Ai sim, já terei o ambiente perfeito e moderno para o desenvolvimento de sistemas Web.Sugestões são sempre bem vindas 🙂

Receba nossas actualizações por email

Ver Campanhas anteriores.

(Visited 198 times, 1 visits today)
Share