miércoles, 17 de agosto de 2011

Entorno de Desarrollo LAMP (I) - Introducción

El primer paso lógico para empezar a desarrollar lo que sea con lo que sea sería disponer de un entorno de desarrollo. Ese entorno debería ser cómodo de utilizar, debería permitir depurar (porque examinar logs NO es una buena opción mientras desarrollas) y ya si permite esas cosas para frikis de Test unitarios, ayuda a la documentación, compilación, despliegue... vamos, eso es para nota.

No es que sea imprescindible, claro. Durante una temporada yo estuve programando en C++ editando con el vi directamente en un host HP-UX y todavía sigo aquí. También he conducido coches sin dirección asistida, he tenido bicicletas sin frenos (me dejaba la suela de los zapatos en la rueda de atrás) y tele sin mando a distancia.

Conozco a algún programador que edita ficheros PHP con el bloc de notas de Windows; conozco a alguno que cuando le enseñé el Notepad++ casi tuvo un orgasmo mental al ver tantos colorines e incluso he visto los ojos de alguno saliéndose de las órbitas al ver cómo yo depuraba tan tranquilamente con xdebug mientras él sufría leyendo archivos de texto que no daban pistas.

Lo que quiero decir es que a día de hoy, en el año 2011, con todas las herramientas que tenemos a nuestro alcance los desarrolladores (la mayoría de ellas gratuitas), la potencia de nuestros ordenadores y toda la ayuda que se puede encontrar por internet hay que ser un pedazo de inútil, cenutrio y lerdo para trabajar de manera precaria. Además opino que gente así no debería tener derecho a tocar un ordenador, pero esa es otra historia.

Podría disculpar a aquel que tiene que aguantarse con las herramientas que su “jefe” le provee. Sí, hay muchos que se hacen llamar “jefes de proyecto” o “gestores” que son capaces de condenar a un equipo de desarrollo a malvivir y maltrabajar por ahorrarse unos euros (o más bien transferirlos a su bolsillo para su viaje a Costa Rica).

El asunto es que a mí me gusta trabajar a gusto, con las herramientas adecuadas y si puedo ahorrarme tiempo gracias a ello, mejor, porque así podré dedicarlo a mi gran afición: no hacer nada.

Como éste es el entorno de desarrollo que a MI me gusta voy a usar los siguientes componentes:

  • Un servidor LAMP, WAMP o como quiera que se llame para Mac, a gusto del consumidor. No soy demasiado racista para los sistemas de escritorio. En el caso de Mac no daré ninguna indicación pues ni tengo ni quiero :-)
  • Varios componentes extra de PHP: xdebug (depuración/caché), APC (caché de código), memcached (caché, porque yo lo valgo), PEAR (librerías extra)...
  • Eclipse PDT como entorno de desarrollo. No es que me me disgusten los otros, es que o vienen limitados, o con pocos plugins o, simplemente, son de pago (y yo, pobre).
  • Extensiones para Eclipse (test unitario, documentación, acceso a repositorios de código, etc.)

Como las cosas al pasarlas al entorno real suelen cascar bastante (me vienen a la cabeza problemas con mayúsculas y minúsculas al pasar de Windows a Linux) también comentaré algo sobre montar un entorno de “integración” usando máquinas virtuales. En este caso usaré VirtualBox, porque me parece bastante ligera y es la única que me ha permitido mantener 4 máquinas virtuales funcionando simultáneamente sin que el ordenador se me muriera de asco. Adiós VMWare.

Una advertencia: en principio no escribo para cenutrios. Presupongo unos conocimientos mínimos (saber mover el ratón sin tirones, por ejemplo) y espero que los links que voy proveyendo se vayan leyendo porque me niego a repetir cien veces lo que otros ya han explicado.

De todas formas si alguien necesita ayuda extra yo nunca me niego a trabajar si hay dinero por medio. Mi tiempo no es gratis y lo pierdo como a mí me da la gana.

El post se me ha quedado demasiado largo así que dejaremos la chicha útil para el siguiente. Eso sí, no prometo que no se me vaya a ir la olla otra vez y me ponga a contar batallitas.


Salut!



Pd - Lo que tengo se llama verborrea y está mezclado con dispersión. Es que empiezo a acordarme de cosas y o las pongo o las pongo.

No hay comentarios: