16 – Ambiente de Desenvolvimento
Sonha como se vivesses para sempre; vive como se fosses morrer hoje. (James Dean)
A meu ver, o trabalho com programação web, especialmente para o backend (php, mysql e cia), deve ser executado num computador com Linux. Veja meus motivos:
- Como estas ferramentas nasceram no Linux
- Como o linux é menos vulnerável a virus, mawares, etc
- Especialmente como a maioria dos servidores usa Linux
- Como o linux atualmente está muito amigável para uso em desktop (Exemplo maior (para mim): Linux Mint)
- Como a instalação dos pacotes básicos deixa a atualização dos mesmo automática
Acho que é suficiente para dizer que o Linux ou similar é o sistema operacional ideal para ser usado como sistema desktop pelos programadores backend.
Ferramentas que tornem mais produtivo o trabalho
Editores de código
- Bem leve: Xed no Linux Mint (já vem na distribuição)
- Bons recursos: Visual Studio Code (https://code.visualstudio.com)
Gerenciador de bancos de Dados
- Adminer (https://adminer.org)
Ambiente de Desenvolvimento com Vagrant
Para o trabalho e mesmo para trabalhar sozinho, a adoção do Vagrant é bastante recomendada, pois podemos criar um ambiente similar ao do servidor com que estamos trabalhando para evitar conflitos. E sempre que mudarmos de projeto podemos criar uma nova box similar ao noso servidor. Cria-se uma box, similar ao servidor, com o mesmo sistema operacional, mesma versão, mesmas extensões e configurações e quando pronto exportamos e passamos uma cópia para cada integrante da equipe.
Inspirado por este livro eu instalei uma box com Ubuntu 18.04 e adicionei todos os softwares que geralmente uso:
- Apache2
- PHP 7.2
- MySQL 5.7
- PostgreSQL 10.8
- Adminer
- Diversas extensões para o PHP
- mod_rewrite
- composer
- git
Instalei o CakePHP 3.7.7 e criei dois aplicativos, um deles com o plugin admin-br.
Entre outros.
Tudo configurado como eu geralmente faço.
Depois de pronta e testada eu exportei e enviei para a nuuvem, no site do vagrant, além de criar um repositório no GitHub e documentar o processo de criação, juntamente com outras informações úteis.
Veja aqui:
https://github.com/ribafs/cake-vagrant e https://ribafs.github.io/cake-vagrant
Comments fornecido por CComment