Quizás cuando hablemos de máquinas o entornos virtuales, los asociamos más a un entorno de prueba o producción/pre-producción que de desarrollo, pero quizás aplicado al desarrollo nos pueda brindar muchas ventajas también.
Prepararemos el entorno de desarrollo de la siguiente forma:
- Escoger cualquier software de virtualización (VirtualBox, VMWare, Parallels, etc..), recomendaría VirtualBox por el hecho de ser Software Libre y gratuito.
- Ahora toca ver cual será el sistema operativo a virtualizar, que debería variar según las necesidades que tengamos. Sería conveniente hacer una instalación lo más minimalista posible del sistema operativo, evitando así el uso de recursos innecesarios.
- Una vez creada la máquina virtual o después al instalar todas las herramientas que nos hagan falta, es aconsejable clonar la máquina para disponer siembre de un sistema virgen, al cual podamos volver siempre para modificar los IDE, configuraciones, versiones, etc.
- Sería interesante compartir un directorio, en el sistema operativo nativo, con el resto de máquinas virtuales, desde el cual pondríamos todos los programas que fueramos a desarrollar. De esta forma podríamos modificarlos y ejecutarlo desde las diversas máquinas con posibles distintas configuraciones. Normalmente este directorio debería ser el directorio raíz de tu servidor web (si estás desarrollando aplicaciones web), el workspace de trabajo, etc.
Algunas de las ventajas que obtendremos, haciendo uso de entornos de desarrollo virtuales, se podrían resumir en:
- Posibilidad de disponer distintas versiones y probar así la compatibilidad del software entre dichas versiones. Por ejemplo, si tenemos en una máquina un programa con la versión de PHP 5.0 y otra con la versión 5.3.
- Disponer de distintos IDEs para desarrollar (Eclipse, Netbeans, Visual Studio, etc..), distintas bases de datos o simplemente con distintas configuraciones.
- Separamos totalmente el entorno de desarrollo de nuestro ordenador, así una vez hayamos terminado, apagamos la máquina virtual y dispondremos de todos los recursos de nuestra máquina, sin tener la necesidad de ir cerrando procesos o servicios para liberar memoria, cpu, etc..
- Libramos también a nuestro ordenador (sobre todo si es el que usamos generalmente) de instalar programas de desarrollo, base de datos, etc.
- Podemos clonar nuestro entorno de desarrollo y portarlo así a distintos ordenadores, al portátil, en el ordenador del trabajo, etc.
Sin duda muchas de ellas son interesantes y nos puede ayudar mucho en el día a día, pero evidentemente todo depende de las necesidades y gustos de cada uno, aunque tal y como he visto en varios blogs de desarrolladores, el uso de estos entornos de desarrollo está ganando muchos adeptos día a día.