Intellij Idea - Introducción

IntelliJ es uno de los entornos de desarrollo integrados (IDE) más potentes y populares para Java. Es desarrollado y mantenido porJetBrainsy disponible como comunidad y edición definitiva. Este IDE rico en funciones permite un desarrollo rápido y ayuda a mejorar la calidad del código.

¿Qué es IDE y sus beneficios?

IDE son las siglas de Integrated Development Environment. Es una combinación de múltiples herramientas, que hacen que el proceso de desarrollo de software sea más fácil, robusto y menos propenso a errores. Tiene los siguientes beneficios sobre el editor de texto sin formato:

  • Integración con herramientas útiles como compilador, depurador, sistema de control de versiones, herramientas de compilación, varios marcos, perfiladores de aplicaciones, etc.

  • Admite funciones de navegación de código, finalización de código, refactorización de código y generación de código que impulsa el proceso de desarrollo.

  • Admite pruebas unitarias, pruebas de integración y cobertura de código a través de complementos.

  • Proporciona un amplio conjunto de complementos para mejorar IDE funcionalidad adicional.

Características de IntelliJ

IntelliJ IDEA tiene algunas de las funciones de finalización de código Java más productivas. Su algoritmo predictivo puede asumir con precisión lo que un codificador está intentando escribir y lo completa por él, incluso si no conoce el nombre exacto de una clase, miembro o cualquier otro recurso en particular.

Profunda percepción

IntelliJ IDEA realmente entiende y tiene un deep insight en su código, así como en el contexto del codificador, lo que lo hace tan único entre otros IDE de Java.

  • Smart code completion- Admite la finalización de código basada en contexto. Ofrece una lista de los símbolos más relevantes aplicables en el contexto actual.

  • Chain code completion - Es una función de finalización de código avanzada que enumera los símbolos aplicables accesibles a través de métodos o captadores en el contexto actual.

  • Static member's completion - Le permite utilizar métodos estáticos o constantes y agrega automáticamente las instrucciones de importación necesarias para evitar errores de compilación.

  • Detecting duplicates - Encuentra los fragmentos de código duplicados sobre la marcha y notifica / sugiere al usuario.

  • Inspections and quick-fixes- Siempre que IntelliJ detecta que está a punto de cometer un error, aparece una pequeña notificación de bombilla en la misma línea. Al hacer clic en él, se muestra la lista de sugerencias.

Desarrollador Ergonomía

IntelliJ IDEA está diseñado en torno al principio de codificación de que los desarrolladores deben poder escribir códigos con la menor distracción posible. Por eso, en este caso, el editor es lo único visible en la pantalla, con atajos dedicados para todas las demás funciones no relacionadas con la codificación.

  • Editor-centric environment - Las ventanas emergentes rápidas ayudan a verificar información adicional sin salir del contexto actual.

  • Shortcuts for everything - IntelliJ IDEA tiene atajos de teclado para casi todo, incluida la selección rápida y el cambio entre ventanas de herramientas y muchas más.

  • Inline debugger- El depurador en línea le permite depurar aplicaciones en el propio IDE. Hace que el proceso de desarrollo y depuración sea perfecto.

Herramientas de desarrollo integradas

Para ayudar a los desarrolladores a organizar su flujo de trabajo, IntelliJ IDEA les ofrece un increíble conjunto de herramientas, que se compone de un descompilador, compatibilidad con Docker, visor de códigos de bytes, FTP y muchas otras herramientas:

  • Version control - IntelliJ es compatible con la mayoría de los sistemas de control de versiones más populares como Git, Subversion, Mercurial, CVS, Perforce y TFS.

  • Build tools - IntelliJ admite Java y otras herramientas de compilación como Maven, Gradle, Ant, Gant, SBT, NPM, Webpack, Grunt y Gulp.

  • Test runner and code coverage- IntelliJ IDEA le permite realizar pruebas unitarias con facilidad. El IDE incluye corredores de prueba y herramientas de cobertura para los principales marcos de prueba, incluidos JUnit, TestNG, Spock, Cucumber, ScalaTest, spec2 y Karma.

  • Decompiler- IntelliJ viene con un descompilador integrado para clases Java. Cuando desee echar un vistazo dentro de una biblioteca para la que no tiene el código fuente, puede hacerlo sin utilizar complementos de terceros.

  • Terminal- IntelliJ proporciona terminal incorporado. Dependiendo de su plataforma, puede trabajar con la línea de comandos, como PowerShell o Bash.

  • Database tools- IntelliJ proporciona herramientas de base de datos, que le permiten conectarse a bases de datos en vivo; ejecutar consultas; navegar y actualizar datos; e incluso administrar sus esquemas en una interfaz visual desde el propio IDE.

  • Application server- IntelliJ admite los principales servidores de aplicaciones: Tomcat, JBoss, WebSphere, WebLogic, Glassfish y muchos otros. Puede implementar sus artefactos en servidores de aplicaciones y depurar las aplicaciones implementadas en el propio IDE.

  • Docker support - A través de un complemento independiente, IntelliJ proporciona una ventana de herramientas dedicada que le permite conectarse a máquinas Docker que se ejecutan localmente.

Comparación entre Ultimate y Community Edition

La Ultimate Edition está diseñada para ayudar en el desarrollo web y empresarial, mientras que la Community Edition está diseñada para JVM y Android Development. Consideremos algunos puntos importantes que nos ayudarán a comprender la comparación entre las dos ediciones:

Característica Ultima edición Edición de la comunidad
Licencia Comercial De código abierto, Apache 2.0. para desarrollo comercial.
Java, Kotlin, Groovy, Scala Soportado Soportado
Desarrollo de Android Soportado Soportado
Maven, Gradle, SBT Soportado Soportado
Git, SVN, Mercurial, CVS Soportado Soportado
Detectar duplicados Soportado No soportado
Perforce, TFS Soportado No soportado
JavaScript, TypeScript Soportado No soportado
Java EE, Spring, GWT, Vaadin, Play, Grails, otros marcos Soportado No soportado
Herramientas de base de datos, SQL Soportado No soportado