Composer (I). Qué es y cómo obtenerlo

Cuando preparamos un proyecto PHP necesitamos una serie de funcionalidades que se resuelven con librerías que, generalmente, ya están escritas por otros desarrolladores, probadas por la comunidad, funcionando, y disponibles, libremente en muchos casos, en Internet. Por ejemplo, es posible que nuestra aplicación deba enviar correos electrónicos con phpMailer, o generar documentos PDF con HTML2PDF, por ponerte sólo dos ejemplos. En todo caso, son librerías que tienes que descargar de Internet y copiar en tu sitio. Tienes que asegurarte de que todos los scripts que las necesiten puedan encontrarlas y cargarlas. Además, tienes que estar pendiente de si salen nuevas actualizaciones que debas descargar. Y, para colmo, puede que estés trabajando en un entorno de desarrollo por un lado y manteniendo el entorno de producción por otro. Gestionar todas estas dependencias (es decir, las librerías de terceros de las que depende tu aplicación) no es, desde luego, una tarea cómo para darse a la bebida, pero si es, cuando menos, engorroso y una pérdida de tiempo.

Composer (II). Uso básico.

En el artículo anterior hemos descrito lo qué es composer, para que sirve, y cómo nos puede ayudar. Hemos aprendido a descargarlo e instalarlo. En este artículo vamos a aprender lo básico para usarlo “a lo bruto”. En realidad, la mejor manera de usarlo, ahorrándonos trabajo y complicaciones, la aprenderemos en el próximo artículo de esta serie. La razón por la que vamos a usar ahora composer de una forma que no es las más óptima es porque nos permitirá sentar algunas bases teóricas que necesitaremos para entender lo que tenemos entre manos, y cómo funciona.

Composer (y III). Uso habitual de composer.

Ahora que tenemos las bases del uso de composer vamos a conocer, en este artículo, la forma más práctica y eficiente de implementar el uso de esta herramienta en nuestros proyectos desde el comienzo. En realidad, podemos implementarla en cualquier momento del desarrollo, pero lo suyo es usarla desde el inicio, para que no tengamos que andar luego con parches y remiendos, lo que es contrario a las buenas prácticas de programación, y una pérdida de tiempo. Veremos cómo podemos adaptar, con mucha facilidad, el archivo composer.json del proyecto, si necesitamos nuevas dependencias. Después de todo, todas las dependencias que incluyamos deben aparecer en este archivo, como ya sabemos.

Gestor de dependencias Bower

En este post vamos a hablar de la gestión de dependencias para los desarrolladores frontend. Ya hablamos de la gestión de dependencias para backend en un artículo anterior sobre Composer. En este artículo veíamos como pudíamos usar esa herrmienta para gestionar las dependencias de paquetes PHP. El problema que surge con Composer es que no siempre es adecuado para gestionar dependencias cuando se trata de frameworks JavaScript o CSS (en realidad, no es ese su objetivo, sino que está preparado para librerías y frameworks PHP). Bower es el complemento perfecto para tener en nuestro equipo todo lo que necesitemos en lo que a gestión de dependencias se refiere. Bower nos va a permitir instalar (y mantener actualizados con mucha facilidad) framewoks cómo jQuery, jQueryUI o Bootstrap, entre otros, así como las dependencias secundarias que estos puedan llegar a necesitar.