Escogiendo un IDE para CakePHP, Eclipse vs Sublime

Aunque llevo algunos años trabajando con Eclipse sin mayor problema, de vez en cuando es bueno echar un vistazo a las últimas tendencias en el tema de los IDE y herramientas de desarrollo, ya que se puede ganar mucha productividad con la herramienta apropiada. Hoy le tocó a Sublime, y estas son mis impresiones:

Disclaimer

  • Antes que nada, decir que Sublime Text no es un IDE, es un editor avanzado, por tanto, en muchos aspectos estamos comparando peras con manzanas. Aún así, ambos se utilizan para codificar, con lo que la comparativa tiene sentido.
  • No conozco en profundidad las características de Sublime, ni las de Eclipse. Conozco lo que utilizo, claro está, pero no he hecho un estudio exhaustivo de ambas herramientas. En este artículo únicamente expongo mi experiencia y opiniones personales, hasta donde conozco de ambas herramientas.
  • A las herramientas se les coge cariño, y tanto Eclipse, como Sublime, tienen defensores acerrimos. Recuerdo algún super-freak que me dijo que le gustaba codificar con el vi. Bueno, eso ya no lo veo ni justificado, pero para gustos los colores.

Factores a comparar

Para hacer una comparativa medianamente decente, hay que establecer unos parámetros de comparación. Para mi fueron suficientes estos:

  • Velocidad de arranque: No es que abra y cierre el IDE 20 veces al día, pero si trabajas con varios proyectos en distintos workspaces o espacios de trabajo, esto puede ser un punto a tener en cuenta.
  • Consumo de recursos: Esto no es demasiado importante en la mayoría de los ordenadores actuales, pero lo veremos también.
  • Autocompletado: Creo que si la mayoría de los IDEs no tuvieran esta característica, muchos de nosotros no sabríamos programar. Me explico, nadie se sabe de memoria la lista de métodos, sus argumentos y propiedades de una clase. Esto es otro «must».
  • Debugging: No es que haga mucho debugging. Uno debería saber qué hace su programa y tener al menos sus pruebas unitarias para comprobarlo, pero se hace necesario cuando algo se atasca y no encontramos el por qué.
  • Integración con Git: Decimos Git, aunque en verdad me refiero a integarción con un control de versiones… bueno, os digo la verdad, no veo motivo para utilizar un control de versiones que no sea Git, a día de hoy.
  • Atajos de teclado: Me gustaría tener dos dedos más en cada mano para poder lanzar combinaciones de teclas más complejas. Alguien me dijo que yo utilizaba muchas teclas porque era mi estilo, bueno, hasta un punto,… está claro que hacer un copy-paste con el ratón (boton derecho, copiar, boton derecho, pegar…) no es lo más eficiente, jejeje…
  • Disponibilidad de plugins: Hay muchos plugins por ahí que nos resuelven determinadas tareas o nos ayudan a personalizar algunos comportamientos del IDE.

Las pruebas se han hecho en un portatil HP Pavilion DV7, procesador AMD Turion II dual core, 4 GB de RAM.

Velocidad de arranque

Abrimos Sublime,… contamos, 1,… 2,… ya está ahí!! plenamente operativo y esperando a que lo utilicemos. Es una pasada.

Abrimos Eclipse,… contamos,… nos vamos a por un café. Tarda como 13 segundos. Si tienes que modificar un solo fichero para una prueba rápida, tardarás más en abrir el IDE que en hacer el cambio. En cualquier caso, este factor no es determinante, ya que cuando estamos desarrollando normalmente abrimos el IDE una vez a lo largo del día.

Consumo de recursos

De nuevo Sublime se lleva la palma: 54Mb de Sublime, frente a los 340Mb de Eclipse. Esto está justificado en parte, como veremos más adelante. También hay que tener en cuenta que Eclipse corre como aplicación Java, y Sublime como Python.

Autocompletado

Ambas herramientas proporcionan autocompletado, a partir de las clases cargadas, variables en el scope, a partir de la documentación de PHPDoc y también de los snippets que tengamos cargados (autocompletados de trozos de código guardados). Aquí creo que también gana Sublime. El autocompletado con Sublime es más rápido y parece que hasta «inteligente». Sublime recuerda palabras que sueles utilizar, aunque no estén en el scope y también las autocompleta. Esto viene fenomenal para literales que utilizas con frecuencia.

Ambas herramientas muestran la documentación de PHPDoc al pulsar Ctrl+Espacio.

Debugging

En este apartado, para mi, el ganador claro es Eclipse. Sublime ofrece un interfaz de debugging, que se basa en un plugin para XDebug, al igual que en Eclipse. Lo que no me gusta de Sublime es que no muestra el valor de las variables simples al pasar el puntero sobre ellas, y que para saber el valor de una variable tienes que desplegar y desplegar. En Eclipse ver los valores de las variables e introducir nuevos watches o expresiones es más rápido y amigable.

Integración con Git

Aquí vuelve a ganar Eclipse. El explorador de archivos del proyecto de Sublime parece que lo han puesto en plan «porque nos han obligado», es decir, tiene lo mínimo, y de hecho, para mostrarlo hay que pulsar Ctrl+K-B, una combinación un tanto larga para algo que solemos hacer a menudo, aunque con Ctrl+P accedamos a cualquier fichero de forma inmediata, hay veces que queremos ver la ubicación de un archivo o movernos en el árbol. Otra cosa que Sublime no hace y Eclipse sí, es mostrar en el árbol los archivos que se han modificado y el branch en el que estamos.

Eclipse (con el plugin eGit) tiene una perspectiva especialmente diseñada para la comparación de versiones de archivos, mezcla, etc… si no queremos, no tenemos por qué acudir a la consola para manejar Git. En Sublime es justo lo contrario: los comandos de Git devuelven exactamente lo mismo que devuelve la consola, nada de diferencias de archivos cara a cara, ni interfaz para marcar qué metes en el stage.

Atajos del teclado

Como he comentado antes, utilizo muchas teclas. Creo que pierdo productividad cuando tengo que separar la mano del teclado para coger el ratón. En esto Sublime es una pasada, si te gustan las teclas, claro. Tienes combinaciones de teclas para todo. Hay que tener en cuenta que para acercar Sublime a las funcionalidades que ofrece Eclipse, hay que instalar varios plugins. Cada uno de esos plugins viene con una serie de teclas predefinidas que nosotros podremos personalizar.

Lo malo de Sublime a este respecto es que si no te gusta utilizar las teclas, tu única opción es buscar por los menús desplegables, ya que no hay botoneras ni nada que se le parezca. Hay que tener en cuenta que Sublime está pensado para que te centres en el código, y de hecho hay un modo que oculta, además del explorador, la barra de menús superior, quedando en pantalla el código y solo el código.

Disponibilidad de plugins

Aquí Sublime se lleva la palma. Hay decenas, quizá centenas, de plugins. La mayoría de los plugins son pequeños y se centran en resolver un problema. Por ejemplo, en el tema de la indentación hay unos plugins estupendos, que te alinean hasta los símbolos «=» en las asignaciones. Realmente creo que utilizando un buen conjunto de plugins, os puede quedar un código fuente muy bonito, lo cual redundará en su calidad y mantenibilidad.

En Eclipse, por el contrario, no hay tantos plugins. La mayoría de la funciones que utilizo habitualmente estaban presentes out-of-the-box, aparte de eGit y algún plugin de PHP, nada más. Algo que sí que hay que tener en cuenta: como hemos dicho antes, Eclipse es un IDE, y la letra I viene de «Integrated». Esto significa que podemos añadir plugins para modelar bases de datos, UML, whatever…. En mi caso particular, para hacer mockups de mis proyectos utilizo WireframeSketcher (escribiré un artículo más adelante), el cual se instala como un plugin de Eclipse. Me gusta tener todo en el mismo sitio, con lo que para mi, esto es un plus también para Eclipse.

Conclusiones

Creo que en algún momento me pasaré a Sublime. Es muy rápido y un poco freak, y eso me gusta. Sin embargo, cada vez que comienzo a utilizarlo, cuando llega el momento de tener que depurar algo, de preparar un commit complejo, o trabajar un poco con Git, me acabo volviendo a Eclipse, y no puedo estar todo el día abriendo y cerrando herramientas. Por tanto, en mi caso, y por ahora, me quedo con Eclipse.

P.D.: Eclipse se puede utilizar de forma gratuíta. Sublime te da una licencia de evaluación, pero si continuas utilizándolo, deberías comprarlo por 70$, lo cual, para lo buena qué es la herramienta, es prácticamente regalado. Es por esto que este factor ni lo he tenido en cuenta.

Facebooktwittergoogle_plusredditpinterestlinkedinmail
Compartir es vivir...
Publicado en Artículos
Etiquetado con: , , , , ,

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies