PHP es un lenguaje de programación con una historia increíble, en la actualidad sigue siendo una gran alternativa para construir aplicaciones web, cuenta con una de las comunidades más grande de programadores. Fue uno de los primeros lenguajes con los que comencé a desarrollar aplicaciones web; en esos tiempos bastaba con instalar un servidor LAMP (Linux, apache, mysql, php), o en su defecto para Windows un APPSERV, lo cual no tenía ninguna complicación. Con el avanzar del tiempo comenzaron a salir nuevas tecnologías y con ello se comenzó a emplear el framework para el desarrollo de aplicaciones web.
En ese auge de los frameworks comencé a indagar más acerca del uso de los mismos; cuál era el mejor o el que aplicaba las ventajas propias del lenguaje y en esa búsqueda me topé con Laravel que ha encajado en muchos usuarios y empresas que han optado por el uso de esta tecnología. Laravel es a PHP lo que Rails es a Ruby, o lo que Django es a Python, Laravel es un framework que como sus creadores lo dicen, es para artistas con deadlines. Es un framework que tiene todo lo que debe tener un framework actual, y sobre todo lo tiene bien hecho.
Pero existía un problema y era la instalación y configuración. Como programadores ya estamos cansados de realizar todas las configuraciones de nuestro sistema operativo; para desarrollar nuestros proyectos, por lo general, toma horas dejar un entorno de trabajo configurado.
¿Cuántas veces nos ha pasado que por algún motivo dañamos nuestro php.ini o que de repente deja de funcionar nuestro servidor local porque tocamos algo que no debíamos y nos demoramos encontrando el problema? ¿A cuántos nos ha pasado que nuestra aplicación falla por falta de algunas extensiones de PHP, o queremos iniciar con Redis o Utilizar NPM y tenemos que lidiar con la configuración de los mismos? Todo esto nos genera dolores de cabeza.
Es así como el propio creador de Laravel, Taylor Otwell, nos presenta Laravel Homestead, la cual combina Vagrant + Laravel creando así la unión perfecta para empezar a desarrollar tus aplicaciones web. Este es, según su propia documentación, un paquete o box oficial para Vagrant que proporciona un entorno de desarrollo óptimo y sin necesidad de instalar PHP, o cualquier otro software de servidor local. Ya como programadores no debemos preocuparnos más por dañar nuestro sistema operativo, las Vagrant box son completamente desechables si algo va mal, puedes destruirla y volver a crearla en cuestión de minutos.
En su versión más actual Laravel Homestead dispone de las siguientes características:
- Ubuntu 16.04
- Git
- PHP 7.1
- Nginx
- Mysql
- MariaDB
- Sqlite3
- Postgres
- Composer
- Node (con Yarn, Pm², bower, grunt, and gulp)
- Redis
- Memcached
- Beanstalkd
Qué más puedo pedir, tiene un servidor web muy parecido al que deberíamos tener en producción y no perdemos tiempo configurando o teniendo problemas al instalar Node.js, o cualquier otra cosa que necesite nuestro desarrollo. Lo genial de Homestead es que puede ser instalado en cualquier sistema operativo (Windows, Linux, o Mac). Para poder instalar esta maravillosa herramienta basta con seguir su documentación paso a paso y tendremos un potente entorno de desarrollo.
Nota: Todo lo relacionado con su instalación lo puedes ver en el siguiente link https://laravel.com/docs/5.5/homestead
Debo confesar que inicialmente me resistí a usarlo ya que en mi primer intento me fue imposible instalarlo pero no porque fuera complejo hacerlo, si no por limitaciones de mi anterior ordenador portátil que no tenía soporte para tecnología de virtualización; realmente no sabía lo que me perdía, esta maravillosa herramienta no se limita a PHP y Laravel, si programas con Ruby on rails o Django con Python puedes hacer uso de ella.
En un próximo post explicaré cómo instalarlo, cómo configurar WordPress con Homestead y siguiendo esta tónica de entornos de desarrollo tocaré un tema que está dando de qué hablar y mucho, como lo es contenedores con Docker.
Hasta una próxima!