feed

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.

Hoy en día Twitter es una de las redes sociales de las que obtenemos mayor información. El número de usuarios aumenta cada día, lo cual hace más difícil distinguir las cuentas interesantes. Java por su parte sigue siendo una de las plataformas de desarrollo con mayor influencia. ¿Cuales son las cuentas de Twitter más destacadas del mundo Java?. Vamos a presentar 10 de las más conocidas o con mayor número de seguidores:

Adam Bien: Es uno de los Arquitectos Java EE más destacados y su blog uno...

Leer más »

Es un caso viejo, la disputa entre dos colosos como Oracle y Google por las patentes de Java y Android. Sin embargo ahora se ha producido un giro en los acontecimientos que se puede tornar definitivo: el gobierno de los Estados Unidos, a través del Departamento de Justicia y a petición del juzgado de apelación, se ha posicionado a favor de Oracle y afirma que las APIs son susceptibles de tener...

Leer más »

Los servidores de aplicaciones Java EE son una herramienta indispensable para los desarrolladores Java . Hoy por hoy existen muchas opciones en el mercado. ¿Ahora bien cuales son los favoritos del público?.

Si revisamos la gráfica de plumbr podemos confirmar que Tomcat sigue siendo el servidor más utilizado. Es ya un clásico por su robustez y su facilidad de uso. Eso sí recordemos que Tomcat ...

Leer más »

Mucha gente usa Safari como librería técnica online ya que consta de casi 40.000 volúmenes. ¿Ahora bien cuales son los libros más consultados?. Esta es una pregunta interesante ya que nos indica en que situación se encuentran las diferentes tecnologías dentro de la comunidad TIC. Vamos a presentar los diez libros más consultados de la librería y que tecnologías abordan.

  • Head First Design Pattern...
  • Leer más »

    Aprovechando el paso por Madrid de la Droidcon Spain 2015, hemos tenido la oportunidad de realizar unas mini entrevistas a los ponentes de esta edición. Gracias a la colaboración de estos 15 speakers hemos podido extraer su vision sobre las tendencias de desarrollo en Android y qué mejorarían de la plataforma . El contenido de las charlas van enfocadas totalmente a su experiencia diaria como...

    Leer más »

    Uno de los productos de los que más se esta oyendo hablar últimamente en la plataforma Java EE es de Vert.x. Vert.x es un framework de servidor construido en Java y con una arquitectura muy similar a la de Node.js(asíncrono y orientado a eventos). Una de las características principales Vert.x es que se puede trabajar con él en varios lenguajes como Java, Javascript, Groovy, Python o Ruby.

    ...
    Leer más »

    gRPC, ha sido el framework usado internamente por Google para conectar microservicios. Mejorado obviamente durante el tiempo ha llegado a una potente evolución que ha unido a este framework RPC (Remote Procedure Call) con el reciente y casi casi estandarizado HTTP/2. Google ha decidido lanzarlo públicamente a la comunidad Open Source.

    ¿Por qué es tan interesante gRPC?

    El foco principal es el...

    Leer más »

    Scala es un lenguaje funcional orientado a objetos utilizado por compañías tan importantes como twiter o linkedin, que corre sobre la Máquina Virtual Java.

    Ciertamente para los desarrolladores que venimos de la programación estructurada, o los que utilizan lenguajes como C#, Java, JS o similares, los lenguajes funcionales son tan “raros ” y diferentes como puede ser el SQL de las bases de datos...

    Leer más »

    Poco a poco vamos instalando en nuestros entornos de desarrollo servidores que cumplen con los standards de JavaEE 6. Con esta versión de la plataforma el uso de anotaciones aumenta y ayuda a simplificar el trabajo. Una de las especificaciones más afectadas es la de Servlets 3.0, vamos a ver algunos ejemplos.

    Registro de Servlets

    Una de las cosas más habituales a realizar cuando trabajamos en...

    Leer más »

    La pasada semana, comenzando el año, os preguntábamos qué lenguajes o framework veíais más prometedores para el 2015. Gracias a vuestras aportaciones hemos confeccionado este listado:

    Trabajar con el Stack MEAN

    Ya hablamos en Genbeta Dev sobre el auge del stack MEAN. Es decir, la combinación de MongoDB, Express, AngularJS y Node.JS . Cuatro componentes que se sitúa en la punta de lanza de muchos...

    Leer más »

    Sigue a Genbetadev