Linux es un buen entorno de programación en PHP

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, un buen IDE para programar con 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, herramienta para visualizar volcados de XDebug

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

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.

Repositorio Debian con paquetes PHP

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 ;-)

7 comentarios

  1. 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!

  2. 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

  3. 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.

  4. 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.

  5. @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.

  6. Bueno la verdad es que me parece interesante tu articulo y llegue a el por que hoy en el instituto nos enseñan a crear paginas web con intranets e integracion con bases de datos. hasta ahora utilizamos dreamweaver para diseñar formularios y armar los sitios, y ahi mismo en dreamweaver editamos los codigos PHP que utilizamos en los sitios web, y para el phpmyadmin utilizamos la herramienta xampp. todo esto sobre windows.
    mi consulta es la siguiente, con linux yo podria realizar lo mismo verdad, es decir crear y administrar bases de datos, crear websites con codigos php, probarlos de manera local (servidor local) y en algun minuto (a la ora de acer las presentaciones en clases) migrar los datos a xampp en windows?.la
    verdd es que soy novato en esto y me interesaria cambiarme a linux ya que windows me tiene aburrido y estresado, problema tras problema con el sistema operativo, epro eso es otra historia jejej…
    de ante mano muchas gracias.

  7. @Quezo por supuesto. Si algo caracteriza a PHP y MySQL es su interoperabilidad. Prácticamente cualquier aplicación PHP que escribas en Linux podrás ejecutarla en Windows, y viceversa. Eso sí, ten cuidado con las rutas de archivos (en Windows se utiliza y en Linux / para separar directorios) y características propias del S.O. (locales, directivas del sistema, comandos, etc).

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">