Buscar este blog

25 de mayo de 2011

Herramientas imprescindibles para un desarrollador de Java


Voy a hablar de las herramientas que considero imprescindibles para un desarrollador Java, en concreto para desarrollo J2EE. Puede que alguna se pueda obviar, como por ejemplo, Maven, pero la verdad es que yo no puedo vivir sin él. No incluyo en la lista la maquina virtual, es obvio que sin eso no puedes hacer nada:

  • Lo primero es un IDE. Yo uso el Eclipse, que es el mas extendido, es opensource y es el que mas plugins tiene. Yo aconsejo descargarlo desde este enlace. Es una aplicacion web que te permite crearte tu propio paquete de plugins y descargarlo todo en un zip. Es muy útil para trabajar en un proyecto en equipo, ya que puedes distribuir ese zip entre los programadores, y te ahorras tiempo instalando los plugins desde el propio IDE. Otras opciones son Netbeans de Oracle (antes de SUN) o el premiado Intellij IDEA. Este último es comercial, aunque tienen edición community.

  • Apache Ant o sucedáneos. Es una herramienta para realizar tareas, como puede ser compilar y empaquetar un proyecto, aunque puedes configurar todo tipo de tareas, como desplegar un war en un servidor de aplicaciones, o subirlo por ftp por ejemplo. Utiliza un lenguaje XML para definirlas en un fichero build.xml en la raíz del proyecto. Se integra muy bien en la mayoria de los IDEs. Existen en el mercado alternativas mejores que ant, como Gradle o buildr, pero ant esta muy implantado y sigue siendo el que mas se usa.

  • Apache Maven. Como ya he comentado, no puedo vivir sin maven. Es una herramienta de gestión de proyectos. Tiene infinidad de plugins. Su caracteristica mas útil, es que te descarga y añade a tu classpath las librerias que usa tu proyecto. Solo tienes que definirlas en un fichero xml. La mayoria de IDEs lo soportan. Para Eclipse, necesitas instalar m2eclipse de SonaType.

  • Un sistema de control de versiones no puede faltar, ni con java ni con cualquier otro lenguaje. El que mas he utilizado es Subversion. La mayoría tienen plugins para los IDEs mas conocidos.

  • Un editor de texto ligero con coloreado de sintáxis. Yo uso Notepad++ o PsPad en windows. En linux uso el GEdit.

  • Cygwin. Es como un emulador de linux sobre windows. Siempre lo instalo cuando trabajo en windows porque no me gusta su terminal. Puedes instalar muchos programas de la linea de comandos de linux que puedes elegir en el instalador.

  • Putty. Sirve para conectarse a un terminal remoto por SSH o telnet desde windows. Si estoy en linux, utilizo el comando ssh desde el terminal.

  • Un frontend para la base de datos. Dependera con cual este trabajando. Ahora mismo utilizo DbVisualizer.

  • Navegador con depurador JavaScript. Estoy usando Chrome, que viene con un depurador muy bueno. Antes usaba Firefox junto con el plugin Firebug.

  • Servidor de aplicaciones. Actualmente uso el Glassfish.

  • Bugtracker. Imprescindible para llevar un seguimiento de los bugs. Actualmente uso Jira, que es el mas extendido. Tambien he usado Redmine, Trac y Bugzilla. Uso un plugin para el eclipse, que me permite conectarme al bugtracker, ver los bugs disponibles y gestionarlos sin salirme del IDE.

  • Servidor de integración contínua. Uso Jenkins (hasta hace nada llamado Hudson). Sirve para programar los builds de los proyectos. Para configurar los “builds” lo habitual es conectarlo con el servidor de control de versiones. Puedes configurar que ejecute tareas de ant, ‘goals’ de maven por ejemplo o cualquier otro tipo de script.

  • Google. Imprescindible, esto lo usamos todos los programadores, de cualquier lenguaje.

  • Una aplicación de notas. Yo uso Evernote. Es un programa para crear notas y capturar páginas web o fragmentos de estas. Yo lo utilizo para almacenar artículos y tutoriales interesantes para futuras referencias, o fragmentos de código, todo clasificado por carpetas y etiquetas. Dispone de aplicación para Windows, Mac, Android e iOS que se sincroniza con la aplicación web .

  • Servicio de almacenamiento en la nube. Yo uso Dropbox. Lo utilizo para guardar documentos relacionados con Java, como manuales de referencia de diversas tecnologías y frameworks. Teniendolos en un sitio, ahorro tiempo a la hora de consultarlos.

  • Repositorios de código opensource. Github, google code y sourceforge. Muchas veces busco código que me pueda ser de utilidad en el proyecto que estoy trabajando.

  • Papel y lápiz. A pesar de todos los avances tecnológicos, aún uso este primitivo modo de escritura, jeje.


Estas son las herramientas que yo considero imprescindibles, aunque puede haber más, dependiendo el proyecto en el que este trabajando.
Vía genbeta

No hay comentarios:

Publicar un comentario