El mejor IDE para PHP

Voy a comenzar diciendo que no existe un IDE perfecto, los hay mejores y peores, ninguno perfecto. El mejor IDE es el que mejor se adapte a tu proyecto, a veces es necesario utilizar uno para un proyecto antiguo que vamos a refactorizar y otro para un proyecto que comenzamos de cero.



En este blog voy a hablar de las características que creo que deberíamos de considerar a la hora de elegir nuestro entorno de desarrollo integrado (IDE), siempre enfocados a PHP.

Consumo de recursos

Raro es un entorno que consuma demasiada CPU pero en cuanto a RAM son bastante golosos, sobre todo los basados en Java, en la siguiente tabla veréis el consumo medio de RAM para alguno de estos IDEs.

IDERAM
Zend Studio 13.5.1905 MB
NetBeans 8.2830 MB
PHP Tools Visual Studio 2017320 MB
Visual Studio Code 1.1130 MB

Servicios

Un buen entorno no solo debe presentar las herramientas necesarias para refactorizar, comprobar y rastrear errores, intellisense, sino permitir la integración con otros servicios como gestores de paquetes (composer), control de versiones y bases de datos. Estos servicios externos pueden presentarse como herramientas propias del entorno o que este utilice herramientas instaladas en el sistema, ambas opciones tienen pros y contras.

La ventaja de utilizar servicios integrados en el IDE es obvia, solo necesitas instalar una aplicación que se encargará de todo, la desventaja es que estas herramientas deben funcionar igual de bien que otras alternativas externas porque sino acabaremos instalando estas y utilizando ambas, lo cual es muy propenso a crear fallos y posibles errores de formato o de sincronización de datos.

La ventaja de utilizar servicios externos radica en la especialización de estos servicios, están creados para sus respectivas tareas y las van a realizar perfectamente, la desventaja principal es tener que instalarlas independientemente y, si es posible, configurarlas en nuestro IDE, lo cual en algunos casos es complicado, por citar un ejemplo configurar mi instalación de composer local en PhpStorm no fue del todo satisfactoria.

Veamos cada uno de estos servicios de manera independiente

Control de versiones (SVN en mi caso)

Zend Studio utiliza una extensión interna que permite las mismas funcionalidades que el TortoiseSVN pero el switch o crear una rama no funcionan del todo bien, muchas veces es necesario recurrir a una instalación local de esta herramienta. Como punto a favor la rama en la que estas trabajando es muy visible en el IDE.

PhpStorm también utiliza una extensión interna pero no es posible hacer switch y la rama en la que estas trabajando no es visible.

PHP Tools para Visual Studio tiene varias extensiones para trabajar con SVN, entre ellas la más completa es VirtualSVN aunque suele ralentizar un poco el inicio del entorno. Esta herramienta utiliza tu instalación local de Tortoise y permite visualizar muy claramente la rama en la que estas trabajando.

Netbeans utiliza también una herramienta interna que no permite hacer nuevas ramas, ni etiquetas ni cambiar de rama, tampoco es visible la rama en la que se está trabajando.

Visual Studio Code utiliza la instalación local de Tortoise pero es un plugin que aún está un poco verde aunque funciona correctamente.

Gestor de paquetes (composer)

PhpStorm y Visual Studio utilizan la instalación local con lo cual adicionalmente requieren una instalación también local de PHP, Zend Studio al incorporar su propia distribución de PHP utiliza una copia interna.

Bases de datos (sql server)

Visual Studio es sin duda el mejor en esta rama, con SSDT no necesitas utilizar SSMS para realizar ninguna operación que afecte al desarrollo de la aplicación. Como punto en contra Visual Studio 2017 aún no soporta la versión en desarrollo de SQL Server (VS2015 si), la cual es la primera que sale para linux y de la cual hay una imagen en Docker. 

Zend Studio permite ejecutar consultas en cualquier versión de SQL Server, aunque algunas sintaxis, como MERGE, dan error. Como punto a favor permite guardar la conexión al servidor para cada consulta sql que ejecutas, de manera que al editarla no tienes que volver a configurarlo ni seleccionarlo como es el caso de Visual Studio.

Visual Studio Code también permite ejecutar consultas a la base de datos.

El resto no sé si disponen de plugins adicionales para esto, por defecto no es posible.

Docker

Netbeans y PhpStorm soportan maquinas virtuales en Docker.

Otras consideraciones

PHP Tools para Visual Studio

Sin dudas es una excelente opción, la gestión de archivos JS, plantillas Smarty, CSS es muy buena, también permite trabajar con Node o TypeScript. Esta extensión utiliza la última versión de PHP hasta el momento, es posible excluir archivos al crear un nuevo proyecto y utiliza un tema oscuro.

Como desventajas pondría que al iniciarse no carga por defecto el último proyecto en el que has trabajado. Ir a la definición de algunas funciones provoca resultados duplicados en ocasiones. No guarda la tabulación dentro de una cadena. No permite formatear el código según las recomendaciones de estándar (PSR). Los resultados de búsqueda no están jerarquizados de manera que son un poco confusos. No elimina los trailing spaces. Si agregas un archivo físico fuera del editor este no se agrega automáticamente. Los archivos con extensión inc es necesario asignarlos manualmente al editor de PHP.

Netbeans

Da la impresión de ser un editor viejo, aunque tiene un tema oscuro no parece un IDE moderno. Crear un simple proyecto lleva muchas ventanas de configuración. Como punto a favor diría que los resultados de búsqueda están jerarquizados.

PhpStorm

Al contrario que Netbeans, este es un IDE moderno, se respira diseño por todos lados, muy bueno para trabajar con html, js y css. Como punto en contra diría que si programas en español tendrías que instalar el plugin de castellano para spellchecker, que viene activado por defecto.

Zend Studio

Son los creadores de PHP, las opciones para formatear el código son excelentes y si bien consume muchísima RAM y cargar un proyecto grande sobrecarga tu ordenador a la hora de iniciarlo, es una opción muy válida. Lleva cerca de un año sin actualizarse con lo cual aún no soporta PHP 7.1 pero espero que la próxima actualización venga cargada de novedades por el tiempo que están tardando.

Licencias

Otro factor a tener en cuenta es el precio, Netbeans y Visual Studio Code son gratuitos pero el resto no. La mayoría permite utilizar una misma licencia en varios equipos mientras no se utilicen al unísono. Esto ya es cuestión del bolsillo de cada cual.

¿Y para vosotros?

Comentarios