peterk
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 y la base de recursos preexistentes.
Como Android Studio parece ser principalmente una versión modificada de IntelliJ, mi pregunta es: ¿hay características totalmente específicas de Android Studio que sean 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?
(Me di cuenta de que el soporte “ant” 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 ant de IntelliJ para hacer esto porque estaba disponible.)
¿IntelliJ siempre estará retrasado en los lanzamientos de Android Studio, ya que es la herramienta “oficial” de Google?
Si son significativamente incompatibles, ¿cuál es la forma más fácil de usar recursos y herramientas comunes entre los dos sistemas?
javaru
Respuesta actualizada noviembre 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 de ello 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 figuran en el sitio de complementos de JetBrains (en este momento), como “Juegos de Android”, “Soporte de NDK de Android”, “Aplicación Asistente de enlaces”, entre otros.
Por lo tanto, en este momento, probablemente sea mejor 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
los Aplicación Caja de herramientas de JetBrains facilita la instalación y el uso de los dos IDE uno al lado del otro. También hace que la actualización (y la reversión si alguna vez se desea) sea muy fácil. La caja de herramientas no era compatible con Android Studio cuando salió por primera vez hace años. Y, por lo tanto, elegir uno u otro fue más un “problema”. Además, mediante el uso de la Complemento del repositorio de configuración (incluido en ambos IDE), puede mantener sincronizadas fácilmente las configuraciones entre los dos IDE de la plataforma IntelliJ. (Ver Compartir configuraciones a través de un repositorio de configuraciones 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 (obsoleto) Junio de 2015
Primero, un descargo de responsabilidad… Solo he usado Android Studio ligeramente 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 de Android Studio que sean 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 demuestra ese punto:
Básicamente, Android Studio tiene más “marca” para Android que IntelliJ IDEA. y ya que es sólo 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 en la comunidad como en la edición definitiva) que no puede hacer en Android Studio.
Con respecto a la pregunta sobre si Android Studio puede o no usar los complementos de IntelliJ IDEA, eso dependerá del complemento y de los componentes (dentro de la API del complemento de IntelliJ) que aproveche. Cuando escribe un complemento, debe declarar (en el descriptor de su complemento) qué dependencias de API usa. 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 de complementos de JetBrains como compatible con Android Studio porque solo depende de com.intellij.modules.lang
y com.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 los lanzamientos de Android Studio, ya que es la herramienta “oficial” de Google?
Puede ser de ambos modos. JetBrains puede agregar cosas que toman tiempo para llegar a Android Studio; y Google puede agregar cosas que toman tiempo para llegar a 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 es 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 desarrollar 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 diferencia menor ocasional (como dónde se encuentra algo en un menú) en IntelliJ IDEA. Pero si va a trabajar en proyectos dedicados a JVM usando Java, Kotlin, Groovy y/o Scala, o con otros lenguajes (Python, php, html, css, JavaScript, etc., etc.) o cualquier lado del servidor (o “empresa “), ya sea para sus aplicaciones de Android o para otro trabajo, luego vaya con IntelliJ IDEA.
editado 4 de agosto de 2018 para obtener algunas aclaraciones y una captura de pantalla adicional.
Actualizado 25 de noviembre de 2019 para agregar nueva información.
-
Me sorprende que Google no haya producido simplemente complementos de intellij para trabajar con la edición de la comunidad para que sean 100% compatibles. Supongo que es cosa de la marca 🙂
– peterk
12 de junio de 2015 a las 1:44
-
gracias por el enlace del blog intelli. Ciertamente no apareció en ninguna de las búsquedas que realicé.
– peterk
12 de junio de 2015 a las 2:48
-
Ah, sí, surge la pregunta mal investigada (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
12 de junio de 2015 a las 3:27
-
Gran 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 Me gusta tanto mucho !!
– SilSur
15 de marzo de 2019 a las 13:11
-
Bueno, Android Studio tiene soporte para C++, Intellij IDEA Ultimate no.
– Zaffy
18 de noviembre de 2019 a las 15:14
AntañoIII
Para el desarrollo de Android, sería mejor que usara Android Studio (la versión preliminar 1.3 ya está disponible).
Dado que Android Studio se basa en Intellij, su “curva de aprendizaje” no debería ser un problema.
Para usar “recursos comunes”, asumo que te refieres 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 fuente, y usamos git 🙂
– peterk
12 de junio de 2015 a las 2:26
Investigué un poco, pero estas preguntas están en parte aquí para reducir el ruido. Encuentro muchas otras preguntas de esta naturaleza y las respuestas que la gente proporciona 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
12 de junio de 2015 a las 1:42
No veo una sola pregunta basada en una opinión presentada aquí. OP está pidiendo diferencias técnicas específicas.
– usuario636044
06/08/2016 a las 17:35
Además, hay una buena respuesta sobre el tema que se mantiene actualizada.
– Ryan M.
♦
21 de marzo de 2020 a las 20:07