IntelliJ IDEA vs. Eclipse: ¡La Guerra Santa!
Publicado: 2019-06-10Batman vs Superman, Marvel vs DC, Windows vs Linux, Java vs C#, son algunos ejemplos de algunas guerras eternas. Una de esas batallas es IntelliJ IDEA vs. Eclipse, la selección del mejor entorno de desarrollo integrado, conocido cariñosamente como IDE. Hay muchos IDE en el mercado hoy en día para el desarrollo de Java, como Netbeans, DrJava y, por supuesto, Eclipse e IntelliJ IDEA, por nombrar solo algunos.
Estos IDE facilitan el flujo de trabajo de un desarrollador al proporcionarles un entorno completo e integrado. El soporte de varios complementos junto con la capacidad de manejar grandes proyectos sin problemas hace que los IDE sean una herramienta insustituible en el conjunto de herramientas de cualquier desarrollador.
Aprenda cursos de desarrollo de software en línea de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
Hoy analizaremos en profundidad dos IDE de este tipo y los compararemos cara a cara. Veremos cómo Eclipse e IntelliJ IDEA compiten entre sí en cuanto a las características que ofrecen.
Tabla de contenido
Eclipse IDE
Eclipse es, con mucho, el IDE más utilizado por desarrolladores principiantes y experimentados. Cuenta con el respaldo de una gran comunidad de desarrolladores, una excelente documentación para ponerlo en funcionamiento y, lo mejor de todo, el soporte de miles de complementos para que su experiencia sea aún mejor.
Eclipse se utiliza principalmente para desarrollar aplicaciones web, móviles, de escritorio, empresariales o de sistemas integrados. Se puede usar de código abierto bajo la licencia pública de Eclipse. Eclipse está escrito principalmente en Java y se ejecuta sin problemas en los tres principales sistemas operativos: Windows, Linux y Mac OS. Aunque es bien conocido por la programación Java, también es compatible con varios otros lenguajes, incluidos Groovy, Scala y Python.
Eclipse es capaz de abrir múltiples proyectos en la misma ventana, lo que le brinda control sobre las dependencias y relaciones. Sin embargo, en cuanto a la experiencia del usuario y la facilidad para completar e inspeccionar el código, Eclipse se queda corto a pesar de tener muchos complementos, especialmente checkstyle.

Si es un programador novato, agradecería una función de autocompletar que pueda mostrar la lista de los símbolos más relevantes aplicables en su contexto. Eclipse se queda corto en eso. Solo por el bien del argumento, podemos usar este punto a favor de Eclipse diciendo que ofrece una mejor curva de aprendizaje, pero al final del día, realmente se trata de lo fácil que es poner en marcha su aplicación.
Habiendo dicho eso, Eclipse es y seguirá siendo ampliamente utilizado en todo el mundo. Echemos un vistazo a algunas de sus características que lo mantienen en funcionamiento a pesar de las limitaciones.
Una guía para principiantes sobre la arquitectura MVC en Java
Características destacadas de Eclipse
Mylyn:
Mylyn es un subsistema de Eclipse para la gestión de tareas. Las ventajas de Mylyn son bastante conocidas, pero no las apreciarás hasta que lo uses y las compruebes por ti mismo. Mylyn ayuda a los desarrolladores a realizar un seguimiento de sus tareas en una vista de lista de tareas, sin tener que abrir un navegador. Mylyn proporciona una manera fácil de realizar un seguimiento de todos los archivos relacionados con su trabajo actual.
Actualizaciones de software:
Eclipse proporciona actualizaciones de software frecuentes y periódicas. La capacidad de simplemente actualizar su IDE desde la propia consola sin preocuparse por las dependencias o descomprimir un archivo comprimido hace que la vida de un desarrollador sea más fácil. Todo se gestiona a través de este sencillo diálogo:
Herramientas empresariales de Java:
Eclipse tiene las mejores herramientas para ofrecer para proyectos JEE. Ofrece una gran cantidad de funcionalidades, desde asistentes para la creación de servicios web, edición de XML, hasta excelentes herramientas JSF y JPA. En esencia, es una característica muy simple pero muy útil. La capacidad de controlar e implementar el servidor de su elección es encomiable. Además, si su servidor no está en la lista, es probable que encuentre un complemento que admita su servidor.
Desarrollo impulsado por modelos:
El Proyecto de modelado de Eclipse ofrece un conjunto de herramientas de modelado para aquellos que utilizan EMF o técnicas relacionadas para el modelado. Las herramientas de Ecore que se usan para trabajar con los modelos EMF le permiten crear y modificar su ecore usando un árbol estándar o a través del editor visual de diagramas de Ecore (ver más abajo).
15 preguntas imprescindibles de la entrevista Spring MVC
IDEA de IntelliJ IDEA
IntelliJ IDEA es un IDE con todas las funciones desarrollado por JetBrains. JetBrains es una empresa establecida y famosa por el complemento Resharper para Visual Studio que es beneficioso para el desarrollo de C#.
IntelliJ IDEA viene en dos ediciones: una edición comunitaria gratuita y una edición Ultimate. La edición comunitaria gratuita de IntelliJ IDEA ofrece las funciones básicas útiles para desarrollar aplicaciones de Android y Java. La plataforma oficial de desarrollo de Android de Google, Android Studio, también se basa en la edición comunitaria gratuita de IntelliJ IDEA. Este IDE es compatible con muchos lenguajes de Java, Kotlin, Scala, Android, Mercurial, Groovy, Gradle, Git, SVN, SBT y CVS y también ofrece características básicas (pero esenciales) como finalización de código, análisis estático profundo, refactorizaciones inteligentes, depurador, corredor de pruebas, etc. La Ultimate Edition, por otro lado, tiene el conjunto de funciones más avanzado para desarrollar aplicaciones web y de escritorio.

Algunas de las funciones adicionales de Ultimate Edition
- Soporta la integración de Spring Framework.
- Admite lenguajes de secuencias de comandos de aplicaciones web como JavaScript, CoffeeScript, TypeScript y muchos más.
- Admite el marco de desarrollo web como Node.js, Angular y React
- Compatibilidad con Java EE como JSF, JAX-RS, JPA, CDI, etc.
Eclipse no proporciona una buena asistencia para completar el código a pesar de admitir muchos complementos. La compilación de código predeterminada en IntelliJ es mucho más rápida y mejor, especialmente si es un programador novato: IntelliJ puede ayudarlo a mejorar su código.
Uno de ellos es Smart Completion , que le proporciona la lista de los símbolos más relevantes aplicables en su contexto actual. Esta, así como otras finalizaciones, aprenden constantemente de sus prácticas de codificación y mueven los paquetes y las clases que usa con más frecuencia a la parte superior de la lista, para que pueda seleccionar la opción correcta más rápido. Otra característica de este tipo es la finalización de la cadena , que es incluso más inteligente que la finalización inteligente. Enumera todos los símbolos aplicables haciendo uso de captadores o métodos que lo hacen aún más rápido. También hay muchas otras características listas para usar que hacen de IntelliJ IDEA un IDE verdaderamente inteligente
Qué es el desarrollo basado en pruebas: una guía para principiantes
Funciones que hacen de IntelliJ IDEA un dispositivo verdaderamente inteligente
Control de versiones:
IntelliJ IDEA ofrece a los desarrolladores una interfaz unificada para la mayoría de los sistemas de control de versiones. Git, SVN, Mercurial, CVS y Perforce son solo algunos. Esta interfaz única le permite explorar el historial de cambios, administrar ramas y fusionar conflictos.
Herramientas de construcción:
Este IDE admite todas las principales herramientas de compilación como Gradle, Maven, Gant, SBT, NPM, Grunt, Gulp y más. Estas herramientas finalmente ayudan a automatizar la compilación, el empaquetado, la ejecución de pruebas, la implementación y otras actividades.
Servidores de aplicaciones:
Es compatible con los principales servidores de aplicaciones como TomCat, JBoss, WebSphere, Glassfish y muchos más. Le permite implementar su código en los servidores de aplicaciones y depurar el código implementado desde el propio IDE.
Indexación:
IntelliJ indexa todo el proyecto cuando lo inicia por primera vez. De esa forma, no necesita buscar archivos cada vez que necesita un recurso (a diferencia de Eclipse). Esto acelera significativamente el proceso de búsqueda.
Apoyo políglota:
Como dijimos anteriormente, IntelliJ IDEA es compatible con muchos marcos e idiomas JVM y no JVM listos para usar. Frameworks y lenguajes como AngularJS, React, JavaScript, TypeScript, Scala, SQL son solo algunos ejemplos de la amplia gama de lenguajes admitidos por IntelliJ IDEA.
Todas estas características hacen de IntelliJ IDEA un claro ganador en lo que respecta a la usabilidad y la experiencia del usuario. Sin embargo, se queda corto en cuanto a la cantidad de complementos ofrecidos. En comparación con los 1276 complementos ofrecidos por Eclipse, IntelliJ solo ofrece ~700 complementos.
Pero esto no debería ser un factor decisivo, ya que IntelliJ ofrece muchas funciones nuevas y mejoradas listas para usar, sin necesidad de ningún complemento, a diferencia de Eclipse.
Cómo convertirse en un desarrollador de pila completa
En conclusión…
Si es un principiante en el campo del desarrollo de Java, su elección debe ser IntelliJ IDEA, gracias a las diversas características que ofrece para principiantes. Sin embargo, si está buscando trabajar en proyectos grandes y complejos, y tiene bastante experiencia en programación Java, puede optar por Eclipse en su lugar. Al igual que con cualquier otro debate, al final del día todo es una cuestión de preferencias, pero no hay forma de que pueda ignorar IntelliJ IDEA.

Si está interesado en obtener más información sobre el desarrollo de software de pila completa, consulte el Programa PG ejecutivo en desarrollo de software de upGrad & IIIT-B: especialización en desarrollo de pila completa, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de capacitación rigurosa, 9+ proyectos y asignaciones, estado de exalumno de IIIT-B, proyectos finales prácticos y asistencia laboral con las mejores empresas.