Blog de Israel Viana

Linux es un buen entorno de programación en PHP

25 de septiembre de 2009

Siempre he apostado por el software libre, pero hasta hace no mucho usaba Windows, un sistema privativo, para desarrollar. No me convencían las herramientas de programación en PHP para Linux, ya que estaba muy contento con Notepad++ para escribir scripts y TortoiseSVN para trabajar con Subversion. Usaba un servidor WAMP y phpMyAdmin para administrar la base de datos.

Ahora, sobre Debian, trabajo con unas herramientas que no tienen nada que envidiar a las anteriores. Vayamos por partes.

Un editor de PHP para Linux

Si algo me faltaba en Notepad++ era un autocompletado de código potente (el de Notepad++ se basa solamente en las palabras del archivo actual) y la autodocumentación en línea (es decir, soporte de phpDoc). Tras darle una oportunidad a Eclipse/PDT, me he decidido definitivamente por NetBeans. Tiene integración con Subversion, phpDoc, XDebug y Firefox, y me parece más productivo que Eclipse. Una de las características que más me gusta es que tiene en cuenta la cláusula @return de los comentarios phpDoc de una función para entender el tipo de dato que devuelve:

NetBeans, mi IDE favorito para PHP

No obstante, no he dejado de usar Notepad++, gracias a WINE. Lo utilizo para manejar archivos de diferentes codificaciones, procesar textos con expresiones regulares y escribir PHP cuando no me apetece iniciar NetBeans ;-)

Un cliente Subversion para Linux

Como ya he dicho, NetBeans tiene soporte nativo de Subversion. En otros casos, utilizo kdesvn y RapidSVN. Además, he aprendido el valioso placer del cliente svn por línea de comandos ;-) Por cierto, existe un cliente privativo aunque muy potente llamado SyncroSVN, disponible para Windows, Mac y Linux.

Un depurador de PHP para Linux

De nuevo NetBeans me soluciona la papeleta, pero también utilizo KCacheGrind, un excelente visor de volcados XDebug:

KCacheGrind visualiza los informes de XDebug de múltiples formas

Cross-browser en Linux

Si algo abunda en GNU/Linux son los navegadores. Los de siempre, Firefox (con el maravilloso Firebug), Opera, Chrome y lynx (o links o elinks), además de Konqueror (que nadie usa). Para el malvado Internet Explorer utilizo una máquina virtual con Windows XP en la que dispongo de muchas versiones de IE, gracias a Internet Explorer Collection. Además, existen renderizadores de Internet Explorer on-line.

Internet Explorer 1

Instalar extensiones es más fácil en Linux

Los paquetes Apache+PHP para Windows suelen traer algunas extensiones, pero a la hora de instalar otras nuevas (tanto PECL como PEAR) los métodos varían, y las utilidades de línea de comandos no siempre funcionan.

En Linux muchas extensiones PECL y bibliotecas PEAR están disponibles a través de los repositorios.

Extensiones PHP a través del repositorio

Además, el paquete de desarrollo php5-dev permite instalar compilando las extensiones de la forma más sencilla:

# pecl install nombre_de_la_extension

Y lo mismo para librerías PEAR:

# pear install nombre_de_la_biblioteca

Conclusión

Si aún trabajas con Windows, anímate a probar GNU/Linux con Ubuntu o la distribución que más te guste. En una hora habrás podido instalar todas las aplicaciones que necesitas para programar de forma productiva y cómoda con PHP. Si ya lo has hecho, ¿qué experiencia tienes? ¿utilizas alguna de las herramientas que he citado? Comentar es gratis ;-)


Compartir en Twine Delicious Facebook Twitter

5 comentarios

Gravatar de aRamireZ
aRamireZ
el 2 de octubre de 2009 a las 19:52

Me gusta tu artículo.

Llevo 3 años programando PHP en Mac con TextMate, además uso xDebug, SVN por línea de comandos, phpMyAdmin (no encuentro ningún entorno en Mac que me guste para administrar BBDD).

TextMate es una maravilla como editor de código pero al igual que tu con NotePad++ echo en falta autocompletado potente. En breve quiero empezar con NetBeans, lo he probado varias veces pero la integración con Symfony (framework que uso normalmente) no es muy buena aun.

En la empresa donde trabajo ahora se usa Windows con NotePad++ pero la verdad es que no estoy contento con este sistema, en mi casa sigo con Mac + TextMate y aunque ninguno de los dos sistemas son abiertos, se trabaja bastante mejor que en Windows.

Un saludo!

Gravatar de Isra
Isra
el 5 de octubre de 2009 a las 00:54

Gracias por tu comentario. Sí, TextMate mola. Pero me sorprendes usando sólo subversion por línea de comandos, me parece un poco hardcore, sobre todo para mover ficheros y cosas así :-P

Gravatar de jdcastro
jdcastro
el 19 de febrero de 2010 a las 05:54

Interesante artículo, me gustó la mención de KCacheGrind, no le conocía :P pero intentaré probarlo. A NetBeans nunca le di chance, me parecía un armatroste a pesar incluso de tenerlo siempre a mano porque Sun me llegó a enviar varios dvd's a casa con versiones de opensolaris y NetBeans, creo que igual no le daré chance, me va a costar aprenderlo y bueno, a estas alturas :D

lastimosamente lo de la maquina virtual es cierto incluso para mi, wine no alcanza a renderizar correctamente cuando arrancas IE y muchas cosas petan y no sabes como va quedando, por eso es siempre mejor tener una VM con Windows a la mano.

Gravatar de José Ca...
José Carlos
el 3 de marzo de 2010 a las 13:49

Hola, soy desarrollador web con php autónomo y tengo un equipo con Ubuntu instalado y preparado para trabajar. Utilizo Eclipse con la extensión para php porque alguna vez he tenido que hacer algún trabajillo en java y Eclipse me ha venido muy bien.

Sin embargo no puedo dejar de lado a Windows. Además de programar, a menudo hay que realizar otras tareas, como editar gráficos, y para esto me quedo con Photoshop. La verdad es que la hegemonía de Windows llegó a ser tan grande que no podemos apartarnos de él de golpe, en todo caso poco a poco y aún así al menos deberemos tener una máquina virtual para hacerlo correr cuando lo necesitemos. Porque no olvidemos que la gran mayoría de programas están desarrollados para Windows, esto es una realidad que va cambiando pero lentamente.

Gravatar de Isra
Isra
el 3 de marzo de 2010 a las 16:12

@José Carlos, en parte tienes razón, hay muchísimos programas hechos para Windows. En el caso de Photoshop también lo tienes para Mac (peor el remedio que la enfermedad xD), aunque yo utilizo GIMP. No obstante, se trata de desarrollar para PHP, no de diseñar webs ni programar aplicaciones de escritorio. Además, la mayoría de aplicaciones PHP corren sobre servidores de producción con Linux.

¿Qué otras tareas realizas que necesitan Windows? (lo digo por ver si hay alternativas Linux/libres). Gracias por contar tu opinión.


Escribe tu opinión

Nombre:
E-mail: (no se mostrará)
Sitio web:
Por favor, suma 5 + 4:
Comentario:
israelviana.es es propiedad de Israel Viana, escrito en Murcia (España). Puedes ponerte en contacto conmigo a través de la dirección de e-mail .com.
Información en RDF Metadatos Dublin Core Creative Commons License