¿Diferencia entre Android Studio e Intellij Idea con complementos?


117

Tenemos una base de código Java existente donde usamos intellij idea para el desarrollo.

Estamos creando una aplicación para Android en la que compartiremos código y otros recursos con el código preexistente y la base de recursos.

Como Android Studio parece ser principalmente una versión modificada de Intellij, mi pregunta es ¿hay características totalmente específicas que Android Studio tiene que son indispensables? ¿Incompatible? "Estándar"? vs Intellij Idea community o ultimate? ¿Son los dos intercambiables con un conjunto de complementos adecuado?

Si tuviéramos que usar Intellij Idea con los diversos complementos de soporte de Android, ¿son estos complementos los mismos que vienen con Android Studio? Con este conjunto de complementos, ¿los programas serán prácticamente intercambiables?

(Noté que el soporte de "hormiga" no está en Android Studio. Aunque todo lo que necesito es cierta capacidad para invocar ejecutables desde el IDE con un conjunto de entradas configurables de menú para varios comandos; ahora uso el soporte de intellij ant para hacer esto porque estaba disponible)

¿Intellij siempre estará retrasado en las versiones de Android Studio, ya que es la herramienta "oficial" de Google?

Si son significativamente incompatibles, ¿cuál es la forma más sencilla de utilizar recursos y herramientas comunes entre los dos sistemas?


3
Investigué un poco, pero estas preguntas están aquí en parte para cortar el ruido. Encuentro muchas otras preguntas de esta naturaleza y las respuestas que las personas brindan son útiles. A menudo, las cosas simples son las más difíciles de encontrar respuestas reales. Si encuentro y respondo a mi propia pregunta por cualquier medio y alguien más no la ha respondido, lo haré.
Peterk

10
No veo una sola pregunta basada en opiniones presentada aquí. OP solicita diferencias técnicas específicas.

Además, hay una buena respuesta sobre el tema que se mantiene actualizada.
Ryan M

Respuestas:


79

Respuesta actualizada noviembre de 2019

En el pasado, no había ninguna funcionalidad en Android Studio que no estuviera presente en IntelliJ IDEA con el complemento de Android instalado. Sin embargo, desde sus inicios, Android Studio ha crecido y se ha alejado cada vez más de IntelliJ IDEA, especialmente recientemente. Ahora hay algunos complementos incluidos en Android Studio que no son compatibles con IntelliJ IDEA. Un ejemplo es el soporte de APK de Android, que se lanzó por primera vez en junio de 2019. Además, hay algunos complementos basados ​​en Android incluidos con Android Studio que ni siquiera aparecen en el sitio del complemento JetBrains (en este momento), como "Juegos de Android", "Soporte para Android NDK", "App Links Assistant", entre otros.

Por lo tanto, en este momento, lo mejor es usar Android Studio para proyectos de Android y usar IntelliJ IDEA para cualquier desarrollo auxiliar, como aplicaciones del lado del servidor.

Cómo usar ambos fácilmente

La aplicación JetBrains Toolbox facilita la instalación y el uso de los dos IDE uno al lado del otro. También hace que actualizar (y revertir si alguna vez lo desea) también sea muy fácil. La caja de herramientas no era compatible con Android Studio cuando apareció por primera vez hace años. Y así elegir uno u otro era más un "problema". Además, al utilizar el complemento de repositorio de configuración (incluido en ambos IDE), puede mantener fácilmente la configuración entre los dos IDE de la plataforma IntelliJ sincronizados. (Consulte Compartir configuración a través de un repositorio de configuración en la documentación de IntelliJ IDEA). Por lo tanto, entre la aplicación Toolbox y el complemento del repositorio de configuración, es conveniente (en mi humilde opinión) usar ambos.


Formulario de respuesta anterior (desactualizado) de junio de 2015

Primero, un descargo de responsabilidad ... Solo he usado ligeramente Android Studio ya que hago todo mi trabajo en IntelliJ IDEA. Pero he sido un ávido usuario de IntelliJ IDEA desde 2003.

Como Android Studio parece ser principalmente una versión modificada de Intellij, mi pregunta es ¿hay características totalmente específicas que Android Studio tiene que son indispensables? ¿Incompatible? "Estándar"? vs Intellij Idea community o ultimate? ¿Son los dos intercambiables con un conjunto de complementos adecuado?

La respuesta rápida es que no hay nada que pueda hacer en Android Studio que no pueda hacer en IntelliJ IDEA (Community o Ultimate) con el complemento de Android instalado y habilitado. Aquí hay una captura de pantalla de la matriz de características de IntelliJ IDEA que hace ese punto: ingrese la descripción de la imagen aquí

Básicamente, Android Studio tiene más "marca" para Android que IntelliJ IDEA. Y dado que es solo un IDE de Android, puede estar más "enfocado". Como mencioné, no hay nada que pueda hacer en Android Studio que no pueda hacer en Intellij IDEA. Pero lo contrario no es cierto. Hay una serie de cosas (que no son de Android) que puede hacer en IntelliJ IDEA (tanto la comunidad como las ediciones definitivas) que no puede hacer en Android Studio.

Con respecto a la pregunta sobre si Android Studio puede usar los complementos IntelliJ IDEA, eso dependerá del complemento y de los componentes (dentro de la API del complemento IntelliJ) que aprovecha. Cuando escribe un complemento, debe declarar (en el descriptor de su complemento) qué dependencias de API utiliza. Algunos ejemplos son com.intellij.modules.lang, com.intellij.modules.java, AntSupport, y Git4Idea. Hay docenas, si no cientos, de posibilidades, incluidos otros complementos. Entonces, si un complemento (o una de sus dependencias) termina usando algo en la API del complemento que no está incluido en Android Studio, ese complemento no funcionará. Por ejemplo, un complemento que escribí (que no tiene absolutamente nada que ver con el desarrollo móvil), aparece en la página del complemento JetBrains como compatible con Android Studio porque solo depende de com.intellij.modules.langycom.intellij.modules.java. Entonces, si bien puede funcionar en ambos sentidos, es más probable que (debido a que IntelliJ IDEA tiene más componentes instalados) un complemento solo sea compatible en IntelliJ IDEA como resultado de una dependencia de algo que es exclusivo de ese complemento.

¿Intellij siempre estará retrasado en las versiones de Android Studio, ya que es la herramienta "oficial" de Google?

Puede ser de ambos modos. JetBrains puede agregar cosas que tardan en llegar a Android Studio; y Google puede agregar cosas que toman tiempo para alcanzar IntelliJ IDEA. Sin embargo, lo más probable es que este último sea más frecuente. Sin embargo, no sé de antemano cuánto tiempo dura ese retraso. Esta publicación de blog de JetBrians puede ayudar en ese sentido: Preguntas frecuentes sobre IntelliJ IDEA y Android Studio

Mis recomendaciones personales serían: si sabe que solo va a realizar desarrollo de Android, elija Android Studio. Además, los nuevos desarrolladores de Android probablemente encontrarán que Android Studio se adapta mejor, ya que la mayoría de la documentación y los tutoriales lo mostrarán y puede haber una pequeña diferencia ocasional (como dónde se encuentra algo en un menú) en IntelliJ IDEA. Pero si va a trabajar en proyectos dedicados de JVM usando Java, Kotlin, Groovy y / o Scala, o con otros lenguajes (Python, php, html, css, JavaScript, etc., etc.) o cualquier servidor (o "empresa "), ya sea para sus aplicaciones de Android o para otro trabajo, luego elija IntelliJ IDEA.

Editado el 4 de agosto de 2018 para una aclaración y una captura de pantalla adicional.

Actualizado el 25 de noviembre de 2019 para agregar nueva información.


32
Me sorprende que Google no simplemente produjo complementos intellij para trabajar con la edición comunitaria para que fueran 100% compatibles. Supongo que es la cuestión de la marca :)
peterk

gracias por el enlace del blog de intelli. Ciertamente no apareció en ninguna de las búsquedas que hice.
Peterk

Ah, sí, plantea la pregunta mal investigada del nido (que con suerte proporcionará a otra alma una buena respuesta concisa :) Es decir: qué conjunto de complementos es necesario para habilitar el conjunto equivalente de características en intellij a lo que viene preempaquetado con Android Studio: )
peterk

2
Excelente respuesta : finalmente aclaré mi mente sobre en qué herramienta invertir mis recursos (tiempo y dinero), como desarrollador en solitario (independiente). ¡Respuestas como esta es solo una de las muchas razones por las que amo tanto!
SilSur

3
Bueno, Android Studio tiene soporte para C ++, Intellij IDEA Ultimate no.
Zaffy

0

Para el desarrollo de Android, sería mejor utilizar Android Studio (la vista previa 1.3 ya está disponible).

Dado que Android Studio está basado en Intellij, su "curva de aprendizaje" no debería ser un problema.

Para usar "recursos comunes", supongo que se está refiriendo al código ... y eso debería estar en un repositorio (git / github / ...).


por supuesto, todos los recursos comunes y el proyecto de la aplicación en sí están en control de código fuente, y usamos git :)
Peterk
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.