Sin duda, una de las profesiones más demandadas actualmente es la de desarrollador web, puesto que nos encontramos en la era de Internet. Es por esto, que han aparecido numerosas herramientas y aplicaciones para facilitar, optimizar y aportar soluciones directas a estos profesionales a la hora de desempeñar su trabajo. ¿Eres desarrollador especializado en Java? Entonces, ¡no te pierdas estas herramientas que sin duda te facilitaran la vida!
Índice de contenidos:
Índice de contenidos
Herramientas que todo desarrollador de java debería utilizar
A continuación, presentamos algunas de las herramientas más utilizadas por los desarrolladores java, puesto que les hacen la vida muy fácil. Las hemos dividido en cuatro grupos.
Herramientas SaaS de análisis de logs
Antes de ver qué herramientas SaaS podemos utilizar, te recomendamos este artículo, ¿Qué es un sistema SaaS? Definición y ventajas, para que comprendas a la perfección qué es un sistema SaaS y los beneficios que te puede aportar su utilización.
Splunk
Esta herramienta cuenta con cientos de aplicaciones para que podamos entender cualquier formato de información de log, desde la seguridad hasta la inteligencia analítica empresarial (business analytics), hasta el monitoreo de la infraestructura.
Esta herramienta presenta dos inconvenientes, uno que resulta costosa tanto a nivel de implementación como monetario, y se trata de una herramienta no gratuita y su precio es elevado.
Sumo Logic
Esta herramienta es una gran solución para el manejo de logs empresariales, puesto que permite reducir, buscar y gestionar grandes cantidades de datos. Esta es más sencilla de utilizar que Splunk, puesto que dispone de un servicio en la nube.
El problema principal es que esta está compartida por todas las herramientas de análisis de logs SaaS, y reside en que es necesario llevar los datos al servicio para que sea posible hacer algo con ellos. Por tanto, esto puede suponer que es “peligroso” subir datos personales o información sensible, puede existir un retraso desde que los datos son registrados y el momento que se hacen visibles.
Loggly
Esta herramienta tiene como finalidad a ayudar a los desarrolladores a encontrar y resolver problemas operacionales, como por ejemplo tareas como la creación de un desempeño personalizado y paneles de administración.
Por tanto, es una herramienta muy útil para los desarrolladores que pueden realizar análisis sintáctico de los datos provenientes de nuestras aplicaciones.
PaperTrails
Con esta herramienta podremos realizar búsquedas y consultas en los logs desde varias plataformas, por tanto, se podría definir como una herramienta ideal para realizar seguimiento de los logs en la nube. No obstante, se debe tener en cuenta, que se trata de una aplicación puramente de texto.
Splunk-Storm
Esta herramienta se puede decir que es la hermana menor de Saas de Splunk, puesto que esta permite experimentar con Splunk sin necesidad de instalar el software. Sin embargo, a diferencia de Splunk, tiene una cantidad de datos limitada.
Herramientas de análisis código abierto
Logstash
Se trata de una herramienta de código abierto para la recolección y el manejo de los archivos de logs. Esta, forma parte de un conjunto de soluciones de código abierto, puesto que contiene distintas funcionalidades como ElasticSearch o Kibana.
Graylog2
Se trata de una herramienta de análisis de logs de código abierto con el apoyo de MongoDB y ElasticSearch, pensada sobre todo, para el almacenamiento y la búsqueda a través de errores de log.
Pero sin duda, una de las mayores desventajas que presentan todas las herramientas de análisis de logs y todos los archivos log en general, es que los datos correctos deben ser depositados por nosotros mismos.
Netbeans
Esta plataforma permite que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software conocidos como módulos. Además, estos módulos puede ser desarrollados independientemente, por tanto, las aplicaciones creadas mediante NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software.
Una de sus principales características es que sus sistemas de proyecto están basado en Ant, control de versiones y refactoring. También, contiene todos los módulos necesarios para el desarrollo de aplicaciones Java en una sola descarga, permitiéndole al usuario comenzar a trabajar inmediatamente.
Eclipse
¿Estás empezando a programar? Sin duda esta es la herramienta que buscas. Esta está formada por un conjunto de herramientas de programación de código abierto multiplataforma para el desarrollo de aplicaciones conocidas como “cliente enriquecido”. Eclipse se define como “una comunidad basada en modelos de código abierto, que desarrolla proyectos, plataformas y herramientas para crear, diseñar y administrar software cubriendo todo el ciclo de vida de la aplicación”.
Intellij IDEA
Esta herramienta es una de las más recomendables para desarrolladores java, puesto que aquellos que la utilizan la definen como “la herramienta que todo el tiempo sabe lo que quieres hacer”. Un ejemplo lo encontramos al poner una variable, puesto que esta herramienta ya sabe el nombre que quieres ponerlo.
Sus principales características son que tiene soporte para plugins, se pueden usar diferentes lenguajes y plataformas, soporta gran cantidad de herramientas, frameworks, servidores y sistema de control de versiones.
gvNIX
gvNIX se trata de una herramienta de código abierto para el desarrollo de aplicaciones de manera fácil y rápida. Se trata de una distribución de Spring Roo que proporciona un conjunto de herramientas y funciones que aumentan la productividad de desarrollo y mejoran la experiencia del usuario, gracias a la integración de distintos frameworks.
Cygwin
Cygwin es una herramienta que permite que las aplicaciones y herramientas de Windows se puedan ejecutar junto aquellas de Unix o Linux. Por tanto, es una herramienta de código abierto que dispone de las mismas funcionalidades de una distribución Linux en Windows de manera totalmente gratuita.
Putty
Putty es un cliente SSH y Telnet con el que podemos conectarnos a servidores remotos iniciando una sesión en ellos que nos permite ejecutar comandos. Uno de los ejemplos más claros es cuando utilizamos esta herramienta para la ejecución de comandos en un servidor VPS y de esta manera, poder instalar algún programa o configurar alguna parte del servidor. Resumiendo, gracias a Putty conseguimos abrir una sesión de línea de comandos en el servidor remoto para administrarlo.
GitHub
Se trata de una plataforma de desarrollo colaborativo para alojar proyectos utilizando el sistema de control de versiones Git. Se utiliza principalmente para la creación de código fuente de programas de computadora. Se debe tener en cuent que el código de los proyectos alojados en GitHub se almacena típicamente de forma pública. Si lo que quieres es registrar código privado, cuenta con una versión de pago que lo permite.
Master en Software de Gestión: Open Source, SaaS & Cloud
Aprende a afrontar con éxito los retos actuales que el management empresarial demanda
¡Me apunto!Herramientas Open-Source
Apache Ant
Es una herramienta usada en programación para llevar a cabo tareas mecánicas y repetitivas, normalmente durante la fase de compilación y construcción. Una de las ventajas de Apache Ant es que no depende de las órdenes del Shell de cada sistema operativo, sino que se basa en archivos de configuración XML. Por tanto, se trata de una multi-plataforma.
Apache Maven
Apache Maven está pensada para la gestión y construcción de proyectos java. Tiene un funcionamiento similar a Apache Ant, pero con un sistema de construcción más simple. Además, una de sus características es que está listo para usarse en la red.
El motor incluido en su núcleo puede dinámicamente descargar plugins de un repositorio, el mismo repositorio que provee acceso a muchas versiones de diferentes proyectos Open Source en Java, de Apache y otras organizaciones y desarrolladores.
Jenkins
Es un servidor de integración continua, gratuito, open-source y actualmente uno de los más utilizados para realizar esta integración continua. La base de Jenkins son las tareas, donde que se indica lo que hacer. Además, si los resultados no son los esperados o se detecta algún error, Jenkins directamente lo notificará al desarrollador para que lo soluciones.
Otra ventaja que presenta es que además de ayudarnos a integrar el código periódicamente, también puede actuar como herramienta que sirve de enlace en todo el proceso de desarrollo.
Subversion
Se trata de una herramienta de control de versiones Open Source basada en un repositorio con mucha semejanzas al que utilizan los sistemas de ficheros.
Para que quede más claro, utiliza el concepto de revisión para guardar los cambios producidos en el repositorio. Cuando se realizan dos revisiones, esta herramienta solo guarda el conjunto de modificaciones (delta). De esta manera, puede optimizar al máximo el uso del espacio en el disco.
Además, permite al usuario crear, copiar y borrar carpetas con la misma flexibilidad que si estuviera en un disco duro local.
Si quieres aprender más sobre Open Source te recomendamos este artículo sobre Principales tendencias en Open Source y Software Libre que no te puedes perder.
Herramientas de gestión de tareas
Bug Tracker
Software pensado para la gestión de tareas entre los miembros de un equipo de trabajo. Normalmente se utiliza para probar soluciones automatizadas, llevando un registro histórico de las alteraciones y gestionando equipos de trabajo de forma remota.
Evernote
Herramienta ideal para la organización de nuestro trabajo, puesto que permite capturar, organizar y compartir notas desde cualquier lugar, ofreciendo la posibilidad de tenerlas todas en un mismo lugar, y compartirlas con todo nuestro equipo de trabajo. La manera ideal de que todos estemos al día de nuestras tareas, ya sean individuales o por equipos.
Dropbox
Otra herramienta de gestión ideal para desarrolladores java. Se trata de un espacio en la nube donde colgar y compartir cualquier tipo de contenido con otra persona, y en la que podemos acceder desde cualquier lugar o dispositivos. Además, permite enviar documentos incluso a personas que no dispongan de dropbox.
Herramientas de base de datos
DBvisualizer
Sin duda la herramienta más recomendable para la organización y creación de base de datos es DBvisualizer, puesto que funciona en los principales sistemas operativos y se conecta a la mayoría de motores de base de datos.
Herramientas de transferenica de archivos
FileZilla
Con esta herramienta lo que podemos conseguir es poder conectar nuestro servidor con un acceso directo a nuestros archivos, pero mediante una interface gráfica tipo «explorador de carpetas».
WinSPC
Se trata de una aplicación de Software libre para facilitar la transferencia de archivos de manera segura entre dos sistemas informáticos, el local y un remoto que ofrezca SSHNwbie. Además, este dispone de dos interfaces para escoger.
SmartFTP
Es un programa de transferencia de archivos de red para Microsoft Windows que admite la transferencia de archivos a través de los protocolos FTP, FTPS, SFTP, SFTP, WebDAV, Amazon S3, Google Drive, entre otros. El probelam es que actualmente es de pago.
zFTPServer
Se trata de un servidor gratuito que nos permite crear tantos usuarios como queramos, clasificándolos por grupos, estableciendo diversos límites para cada uno de ellos y siguiendo sus movimientos paso a paso cuando se conecten a nuestro servidor.
¿Conoces alguna herramienta más que se nos haya podido escapar? ¡No dudes a comentarla! Y si quieres conocer muchas más herramientas te regalamos este e-book. ¡Ya puedes descargarlo!
Si además quieres entender a la perfección el funcionamiento SaaS, Open Source y de gestión de software, fórmate en alguno de estos ámbitos. Descubre nuestro Master y conviértete en un profesional de estas tecnologías.
- El software libre: una gran oportunidad para las empresas
- ¿Qué es un sistema SaaS? Definición y ventajas
Master en Software de Gestión: Open Source, SaaS & Cloud
Aprende a afrontar con éxito los retos actuales que el management empresarial demanda
Subversion en ves de git ?? si ya mencionaste github …
Hola gracias por tu comentario. Mencionamos ambos pero en puntos diferentes. Disculpa si no hemos sido del todo claros. Tomamos nota de tu comentario e iremos mejorando sin duda. Un saludo
Filezilla, WinSCP y similares. Para transferencia de archivos. 🙂
Hola Ruben,
¡Muchas gracias por tu aportación! 🙂 Te invitamos a que nos cuentes cuáles son tus herramientas favoritas.
Un saludo