Publicidad

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

Los 12 canales de Youtube de desarrollo en Español que merece la pena seguir

11 Comentarios
Los 12 canales de Youtube de desarrollo en Español que merece la pena seguir

Youtube es la nueva televisión, dicen unos. Youtube es la nueva universidad, dicen otros. Nosotros ni idea, que la túnica de Rappel no nos sienta nada bien (y la macedonia en el pelo de Paco Porras menos), pero lo que sí sabemos es que entre la marabunta de canales que hay en Youtube, entre tanto Rubius, Dalas y Wismichu, hay unos cuantos dedicados al desarrollo y en español. De entre ellos hoy te vamos a seleccionar los 12 canales de Youtube de desarrollo en Español que merece la pena seguir. ¡Al turrón!

Leer más »

Entendiendo la inmutabilidad: Qué es, para qué sirve y cómo usarla

9 Comentarios
Entendiendo la inmutabilidad: Qué es, para qué sirve y cómo usarla

En estos años en los que los lenguajes funcionales están empezando a convertirse en alternativas reales en casi todos los ámbitos, uno de los conceptos que suele venir asociado a ellos es el de la inmutabilidad.

Si bien es cierto que la inmutabilidad es una idea que no es exclusiva de la programación funcional, sí que cobra una importancia vital en este tipo de lenguajes.

La programación funcional se asienta sobre muchos conceptos matemáticos que requieren de la inmutabilidad para seguir siendo válidos.

Aún así, creo que es un concepto que es interesante de entender independientemente del tipo del paradigma de programación que utilices.

Leer más »
Publicidad

13 trucos y consejos de PHP que pueden hacerte la vida (profesional) más fácil

28 Comentarios
13 trucos y consejos de PHP que pueden hacerte la vida (profesional) más fácil

PHP tiene bastante mala prensa. En las conferencias no hay ponente que quiera ser cool que no lance su pullita hacia PHP y los phperos. Y lo cierto es que las múltiples atrocidades que los desarrolladores de PHP cometen (cometemos) envalentonados por su flexibilidad y sencillez tienen buena parte de culpa. Sin embargo si lleva tantos años siendo el lenguaje más utilizado para el desarrollo web, por algo será. En las siguientes líneas te daremos algunos trucos, consejos y buenas practicas (13 en concreto) de PHP para que tu código sea mejor, tu vida profesional más agradable y puedas ir a los congresos de desarrolladores con la cabeza alta y sin esconder el elefante. Hey ho, let's go!

Leer más »

Kotlin desde el punto de vista de un desarrollador Groovy

13 Comentarios
Kotlin desde el punto de vista de un desarrollador Groovy

Últimamente se está oyendo hablar cada vez más de Kotlin en el entorno de la JVM. Los desarrolladores Java y sobre todos los desarrolladores Android están entusiasmados con este nuevo lenguaje que promete ser una revolución para ellos.

Pero, ¿qué supone Kotlin realmente para un desarrollador Groovy? En GenbetaDev ya hemos hablado anteriormente tanto de Kotlin como de Groovy, así que si quereis conocer más en detalle ambos lenguajes os recomiendo echar un vistazo a ambos artículos. En esta ocasión os voy a contar mi experiencia desde el punto de vista de un desarrollador Groovy al usar (y aprender) Kotlin durante una semana.

¿Estás prepado? ¡Qué comience el combate!

Leer más »

Usando MVP e inversión de dependencias para abstraernos del framework en Android

19 Comentarios
Usando MVP e inversión de dependencias para abstraernos del framework en Android

Desde hace unos años se habla mucho sobre temas de arquitectura en Android, y quien más quien menos ha oído hablar de MVP (Model-View-Presenter), y de cómo usarlo para hacer las vistas (normalmente Activities o Fragments) lo más simples posibles, mientras el Presenter se encarga de toda la lógica de presentación.

Normalmente, una de las reglas que suelen imponerse es que desde el Presenter hacia abajo, ninguna de las capas sepa nada sobre Android, para aislarnos de ella, con todos los beneficios que ello conlleva. Seguramente, si te has puesto a ello por primera vez, rápidamente te surgirán dudas sobre cómo implementar esto.

Leer más »

Automatizando el testing de web móviles: Appium + Nightwatch.js

3 Comentarios
Automatizando el testing de web móviles: Appium + Nightwatch.js

Cada vez más, el tráfico que reciben los sitios web procede de dispositivos móviles, y nuestras pruebas, como los desarrollos, deben ir cada vez más hacía el 'mobile first', es decir, nuestras pruebas web deben realizarse pensando primero en los dispositivos móviles. Según el artículo 'Internet stats & facts for 2016' de hostingfacts.com:

There are more mobile internet users than desktop internet users; 52.7% of global internet users access the internet via mobile, and 75.1% of U.S. internet users access the internet via mobile

A esto debemos unir que en los entornos encaminados hacía el 'continuous delivery' en los que trabajamos, no tiene sentido que estas pruebas sean manuales. Si queremos ser eficientes, y rápidos en la entrega de valor, debemos tener baterías de pruebas automáticas, que se ejecuten en una cierta variedad de dispositivos, y que nos permitan asegurar que nuestros sitios web cumplen con el nivel de calidad que hemos decidido.

Leer más »
Publicidad

Mejora tu código Java usando Groovy

20 Comentarios
Mejora tu código Java usando Groovy

¿Y por qué querríamos mejorar nuestro código Java? Seguro que en más de una ocasión escribiendo Java has pensado que es muy verboso o que seguro que tiene que haber una forma más fácil y sencilla de hacer esto. En ese caso, Groovy es para ti.

Apache Groovy es un lenguaje dinámico, opcionalmente tipado, con posibilidad de tipado y compilación estáticos para la JVM. Tiene como objetivo multiplicar la productividad de los desarrolladores gracias a una sintaxis concisa, familiar y fácil de aprender. Se integra sin problemas con cualquier programa Java e inmediatamente proporciona a una aplicación poderosas características como scripting, DSLs, metaprogramación en runtime y compile-time y programación funcional.

Leer más »

Testeando tus aplicaciones Java con Spock: tests más expresivos, fáciles de leer y mantener

3 Comentarios
Testeando tus aplicaciones Java con Spock: tests más expresivos, fáciles de leer y mantener

No es ninguna sorpresa que en el mundo Java la herramienta de test más utilizada sea JUnit si tenemos en cuenta que fue creada hace más de 15 años. Esto, sin embargo, no implica que sea la mejor, sino que en muchas ocasiones seguimos utilizando las mismas herramientas por inercia o porque aquí siempre se ha hecho esto así sin plantearnos si existen alternativas mejores. Una de estas alternativas es Spock.

Spock es un framework de tests basado en Groovy que podemos utilizar para testear tanto aplicaciones Java como Groovy. Con Spock podemos escribir tests muy expresivos, fáciles de leer y mantener. Todo ello es posible por dos motivos principalmente: el magnífico DSL que proporciona Spock y la potencia de Groovy, lenguaje con el que escribimos los tests.

Leer más »

BDD, Cucumber y Gherkin. Desarrollo dirigido por comportamiento

5 Comentarios
BDD, Cucumber y Gherkin. Desarrollo dirigido por comportamiento

BDD es uno de los términos de moda en el desarrollo de software en los últimos años. A pesar de ser un término muy utilizado, no todo el mundo sabe exactamente qué es eso de BDD, más allá del significado de esas siglas, Desarrollo Dirigido por Comportamiento (Behaviour Driver Development), ni cómo puede BDD ayudarnos en nuestro trabajo diario como desarrolladores.

BDD es una evolución de TDD (Test Driven Development o Desarrollo Dirigido por Pruebas). De hecho, el concepto de BDD fue inicialmente introducido por Dan North como respuesta a los problemas que surgían al enseñar TDD.

Leer más »

¿Por qué empresas que empiezan con lenguajes modernos se vuelven a Java?

29 Comentarios
¿Por qué empresas que empiezan con lenguajes modernos se vuelven a Java?

Mientras el lenguaje más utilizado del mundo cumplió ya sus 20 años, hay muchas voces en el mundo del desarrollo que reniegan de Java.

Es cierto que Java es un lenguaje antiguo, que para muchas tareas es extremadamente verboso y que tiene problemas de base que uno de sus creadores, Joshua Bloch, desgranó en su libro.

Entonces, ¿por qué tantas compañías vuelven atrás y abandonan lenguajes mucho más modernos para utilizar Java? Te voy a presentar unos cuantos ejemplos y veremos si tienen algo en común.

Leer más »
Publicidad

Ver más artículos