2 - Eclipse

El segundo entorno de desarrollo para Java más difundido es Eclipse.

La encuesta anual 2023 más importante de desarrolladores de Stackoverflow lo sitúa a Eclipse por debajo de IntelliJ pero por encima a Netbeans:

encuenta 2023 de stackoverflow Eclipse

Eclipse comenzó como un proyecto de IBM Canada en 1998, bajo el nombre de "Eclipse". IBM invirtió significativamente en el desarrollo de esta herramienta con la intención de crear una plataforma de desarrollo extensible y universal.

En noviembre de 2001, IBM lanzó Eclipse como un proyecto de código abierto. La decisión de hacerlo de código abierto se tomó para fomentar la adopción y el desarrollo colaborativo. IBM donó el código fuente inicial y formó un consorcio con otras empresas para supervisar el proyecto.

De 2001 al 2008, Eclipse se expandió más allá de un simple IDE de Java. Se introdujeron nuevas herramientas y proyectos dentro del ecosistema de Eclipse, como el CDT (C/C++ Development Tooling) y el PDT (PHP Development Tools) etc.

A partir de 2008 la fundación Eclipse saca una versión anual con un nombre de las lunas de diversos planetas del Sistema Solar:

Eclipse 3.4 Ganymede (Junio 2008)
Eclipse 3.5 Galileo (Junio 2009)
Eclipse 3.6 Helios (Junio 2010)
Eclipse 3.7 Indigo (Junio 2011)
Eclipse 4.2 Juno (Junio 2012)
Eclipse 4.3 Kepler (Junio 2013)
Eclipse 4.4 Luna (Junio 2014)
Eclipse 4.5 Mars (Junio 2015)
Eclipse 4.6 Neon (Junio 2016)
Eclipse 4.7 Oxygen (Junio 2017)
Eclipse 4.8 Photon (Junio 2018)

A partir de 2018, Eclipse comenzó a usar un esquema de numeración basado en el año y el mes de lanzamiento para mayor claridad (normalmente cada 4 meses):

Eclipse 4.9 2018-09 (Septiembre 2018)
Eclipse 4.10 2018-12 (Diciembre 2018)
Eclipse 4.11 2019-03 (Marzo 2019)
Eclipse 4.12 2019-06 (Junio 2019)
Eclipse 4.13 2019-09 (Septiembre 2019)
Eclipse 4.14 2019-12 (Diciembre 2019)
Eclipse 4.15 2020-03 (Marzo 2020)
Eclipse 4.16 2020-06 (Junio 2020)
Eclipse 4.17 2020-09 (Septiembre 2020)
Eclipse 4.18 2020-12 (Diciembre 2020)
Eclipse 4.19 2021-03 (Marzo 2021)
Eclipse 4.20 2021-06 (Junio 2021)
Eclipse 4.21 2021-09 (Septiembre 2021)
Eclipse 4.22 2021-12 (Diciembre 2021)
Eclipse 4.23 2022-03 (Marzo 2022)
Eclipse 4.24 2022-06 (Junio 2022)
Eclipse 4.25 2022-09 (Septiembre 2022)
Eclipse 4.26 2022-12 (Diciembre 2022)
Eclipse 4.27 2023-03 (Marzo 2023)
Eclipse 4.28 2023-06 (Junio 2023)
Eclipse 4.29 2023-09 (Septiembre 2023)
Eclipse 4.30 2024-06 (Diciembre 2023)
Eclipse 4.31 2024-00 (Marzo 2024)
Eclipse 4.32 2024-06 (Junio 2024)

Características de Eclipse:

  1. Soporte de Lenguajes de Programación

    Java: Eclipse es ampliamente conocido por su fuerte soporte para Java, con características como depuración avanzada, refactorización y análisis de código en tiempo real.
    Kotlin: Eclipse también ofrece soporte para Kotlin, aunque no es tan robusto como en IntelliJ IDEA.
    Otros Lenguajes: Eclipse admite una variedad de lenguajes adicionales mediante plugins, incluyendo C/C++, JavaScript, PHP, Python, Ruby, Scala, Groovy y más.
  2. Análisis de Código y Refactorización

    Inspecciones de Código: Eclipse puede detectar errores y advertencias en el código a medida que se escribe, proporcionando sugerencias para corregirlos.
    Refactorización Inteligente: Herramientas para renombrar, mover, cambiar firmas de métodos, extraer métodos y más.
    Corrección Rápida: Ofrece sugerencias automáticas para corregir errores comunes de programación.
  3. Navegación y Búsqueda

    Navegación Avanzada: Facilita el salto rápido entre clases, métodos, y archivos.
    Incluye navegación por declaración, referencia y jerarquía.
    Búsqueda Eficiente: Herramientas potentes de búsqueda como "Buscar en Proyecto" y soporte para expresiones regulares.
  4. Integración con Herramientas y Tecnologías

    Control de Versiones: Integración con Git, SVN, CVS y otros sistemas de control de versiones.
    Herramientas de Construcción: Soporte para Maven, Gradle, y Ant.
    Contenedores y Virtualización: Plugins para Docker y Kubernetes.
    Frameworks: Soporte para frameworks como Spring, Java EE, Hibernate, y muchos otros mediante plugins.
  5. Depuración y Pruebas

    Depurador Integrado: Herramientas avanzadas de depuración que permiten analizar expresiones, ver valores de variables, establecer puntos de interrupción y más.
    Pruebas Unitarias: Soporte para JUnit y TestNG, con integración para ejecutar y depurar pruebas.
    Pruebas de Integración: Soporte mediante plugins para pruebas de integración y funcionales.
  6. Desarrollo Web y Móvil

    Frontend: Soporte para HTML, CSS, JavaScript, TypeScript, y frameworks como React, Angular y Vue.js mediante plugins.
    Backend: Soporte para frameworks como Spring Boot, Micronaut y Quarkus.
    Desarrollo Móvil: Plugins disponibles para desarrollo Android.
  7. Productividad y Automatización

    Completado de Código Inteligente: Completado de código avanzado que entiende el contexto del desarrollo.
    Generación de Código: Herramientas para la generación automática de código como constructores, getters/setters, y más.
    Plantillas de Código: Uso de plantillas personalizables para acelerar la escritura de código.
    Macros y Atajos: Soporte para grabación de macros y personalización de atajos de teclado.
  8. Interfaz de Usuario

    Interfaz Intuitiva: Personalización de temas, disposición de ventanas, y otros aspectos de la interfaz de usuario.
    Editor Inteligente: Características como plegado de código, múltiples cursores y edición en bloques.
  9. Extensibilidad

    Plugins: Gran ecosistema de plugins que permite añadir funcionalidades adicionales, desde integración con servicios hasta herramientas específicas de desarrollo.
  10. Herramientas Integradas

    Base de Datos: Herramientas para la administración y desarrollo de bases de datos, con soporte para SQL y noSQL mediante plugins.
    Terminal: Terminal integrada para ejecutar comandos directamente desde el IDE.
    Herramientas de Análisis: Plugins disponibles para análisis de rendimiento y perfiles de memoria.
  11. Versiones y Licencias

    Eclipse IDE: Gratuito y de código abierto, adecuado para una amplia gama de proyectos de desarrollo.
    Eclipse Enterprise for Java (EE4J): Distribución especializada para el desarrollo empresarial y web (también gratuito).

Descarga e instalación de Eclipse.

Para la descarga del editor Eclipse lo hacemos del sitio:
Eclipse

Procedemos a descargar el instalador de Eclipse:

descarga eclipse

Una vez que descargamos el instalador de Eclipse procedemos a ejecutarlo y debemos elegir el entorno "Eclipse IDE for Java Developers":

descarga eclipse

Seleccionamos la versión de JDK a instalar y la carpeta para los proyectos (podemos dejar la carpeta por defecto o elegir otra):

descarga eclipse

Una vez instalado en forma completo el "Eclipse IDE for Java Developers" nos dirigimos a la carpeta donde se instalaron los archivos y procedemos a ejecutar el programa eclipse.exe (podemos ingresar desde el acceso directo que se crea en el escritorio)

Primero aparece un mensaje de inicio del Eclipse:
inicio eclipse

Luego la primera vez que ejecutemos el editor Eclipse aparece un diálogo para seleccionar la carpeta donde se almacenarán los programas que desarrollaremos (podemos crear una carpeta donde almacenaremos todos los proyectos, si indicamos una carpeta que no existe el mismo Eclipse la crea):
carpeta inicio eclipse

Luego de configurar la carpeta donde se crearán los proyecto aparece el editor con una pantalla de presentación (Welcome):
pantalla inicial eclipse

Esta ventana de bienvenida la podemos cerrar seleccionando el ícono: "Hide", con lo que aparece el entorno de trabajo del Eclipse (si queremos nuevamente ver la ventana de bienvenida podemos activarla desde el menú de opciones: Help -> Welcome)

El entorno de trabajo del Eclipse es:
entorno de trabajo eclipse

Pasos para crear un proyecto.

Todo programa en Eclipse requiere la creación de un "Proyecto", para esto debemos seleccionar desde el menú de opciones:
creación proyecto java

Ahora aparece el diálogo donde debemos definir el nombre de nuestro proyecto, la versión de Java que instalamos anteriormente y desmarcaremos el cuadro de selección de create module-info.java (por el momento no trabajaremos con módulos, es importante este paso para nuestros proyectos):
diálogo proyecto java

Ahora en la ventana de "Package Explorer" aparece el proyecto que acabamos de crear:
package proyecto java

Como segundo paso veremos que todo programa en Java requiere como mínimo una clase. Para crear una clase debemos seleccionar desde el menú de opciones:
clase java

O desde la barra de íconos del Eclipse:
clase java

En el diálogo que aparece debemos definir el nombre de la clase (en nuestro primer ejemplo la llamaremos Clase1 (con mayúscula la letra C), luego veremos que es importante definir un nombre que represente al objetivo de la misma) y también vamos a borrar el nombre del package que agregó por defecto (más adelante vamos a ver cual es el objetivo de los paquetes, si creamos un módulo cuando creamos el proyecto el nombre del paquete es obligatorio), finalmente presionamos el botón Finish:
nombre clase java

Luego de presionar el botón "Finish" tenemos el archivo donde podemos codificar nuestro primer programa:
clase java

Más adelante veremos los archivos que se crean en un proyecto, ahora nos dedicaremos a codificar nuestro primer programa. En la ventana de edición ya tenemos el esqueleto de una clase de Java que el entorno Eclipse nos creó automáticamente.

public class Clase1 {

}

Todo programa en Java debe definir la función main. Esta función la debemos codificar dentro de la clase: "Clase1".

Procedemos a tipear lo siguiente:

public class Clase1 {

    public static void main(String[] parametro) {
        System.out.println("Hola Mundo Java");
    }

}

Es decir tenemos codificado en el entorno del Eclipse nuestro primer programa:
primer programa java

Como último paso debemos compilar y ejecutar el programa, esto lo podemos hacer desde el menú de opciones:
ejecutar programa java

O desde la barra de íconos del Eclipse:
ejecutar programa java

Si no hay errores de codificación debemos ver el resultado de la ejecución en una ventana del Eclipse llamada "Console" que aparece en la parte inferior (puede aparecer un diálogo pidiendo que grabemos el archivo, el cual confirmamos):
ventana console eclipse