Mieux vaut utiliser Android Studio ou Intellij Idea avec les plugins?

Nous avons une base de code java existante où nous utilisons intellij idea for development.

Nous construisons une application Android où nous partagerons du code et d’autres ressources avec le code et la base de ressources préexistants.

Etant donné qu’Android Studio semble être principalement une version modifiée d’Intellij, ma question est la suivante: existe-t-il des fonctionnalités spécifiques à Android Studio qui sont indispensables? Incompatible? “La norme”? vs communauté Intellij Idea ou ultime? Les deux sont-ils interchangeables avec un jeu de plugins approprié?

Si nous devions utiliser Intellij Idea avec les différents plugins de support Android, ces plugins sont-ils les mêmes que ceux fournis avec Android Studio? Avec cet ensemble de plugins, les programmes seront-ils virtuellement interchangeables?

(J’ai remarqué que le support de “ant” n’est pas dans Android Studio. Tout ce dont j’ai besoin, c’est d’appeler des exécutables de l’EDI avec un ensemble d’entrées configurables par menu pour différentes commandes) était disponible)

Est-ce qu’Intellij sera toujours à la traîne avec Android Studio, car il s’agit de l’outil “officiel” de Google?

S’ils sont incompatibles, quelle est la manière la plus simple d’utiliser des ressources et des outils communs entre les deux systèmes?

Cette question est en quelque sorte une demande de conseils d’expérience – où pouvons-nous investir au mieux notre courbe d’apprentissage et notre dépendance vis-à-vis de l’infrastructure et améliorer nos planches de surf chaos?

Merci.

Tout d’abord, une clause de non-responsabilité … Je n’ai utilisé que légèrement Android Studio, car je fais tout mon travail avec IntelliJ IDEA. Mais je suis un utilisateur avide d’IntelliJ IDEA depuis 2003.

Etant donné qu’Android Studio semble principalement être une version modifiée d’Intellij, ma question est la suivante: existe-t-il des fonctionnalités spécifiques à Android Studio qui sont indispensables? Incompatible? “La norme”? vs communauté Intellij Idea ou ultime? Les deux sont-ils interchangeables avec un jeu de plugins approprié?

La réponse rapide est qu’il n’y a rien que vous puissiez faire dans Android Studio que vous ne pouvez pas faire avec IntelliJ IDEA (Community ou Ultimate) avec le plugin Android installé et activé. Voici une capture d’écran de la masortingce des fonctionnalités d’IntelliJ IDEA: entrer la description de l'image ici

Fondamentalement, Android studio a plus de “branding” pour Android que IntelliJ IDEA. Et comme il ne s’agit que d’ un IDE Android, il peut être plus “concentré”. Comme je l’ai mentionné, il n’y a rien que vous puissiez faire dans Android Studio que vous ne pouvez pas faire avec Intellij IDEA. Mais le contraire n’est pas vrai. Il y a un certain nombre de choses (non-Android) que vous pouvez faire dans IntelliJ IDEA (à la fois la communauté et les éditions ultimes) que vous ne pouvez pas faire dans Android Studio.

En ce qui concerne la question de savoir si le studio Android peut ou non utiliser les plug-ins IntelliJ IDEA, cela dépendra du plug-in et des composants de l’API du plug-in IntelliJ qu’il utilise. Lorsque vous écrivez un plug-in, vous devez déclarer dans votre descripteur de plug-in les dépendances API que vous utilisez. com.intellij.modules.lang , com.intellij.modules.java , AntSupport et Git4Idea . Il existe des dizaines, voire des centaines de possibilités, y compris d’autres plugins. Donc, si un plugin (ou une de ses dépendances) finit par utiliser quelque chose dans l’API du plugin qui n’est pas inclus dans Android Studio, cela ne fonctionnera pas. Par exemple, un plug-in que j’ai écrit, qui n’a absolument rien à voir avec le développement mobile, répertorie la page JetBrains Plugin comme étant compatible avec Android Studio car il ne dépend que de com.intellij.modules.lang et de com.intellij.modules.java . Ainsi, même si IntelliJ IDEA a plus de composants installés, il est probable qu’un plugin ne sera compatible qu’IntelliJ IDEA en raison d’une dépendance par rapport à quelque chose de particulier.

Est-ce qu’Intellij sera toujours à la traîne avec Android Studio, car il s’agit de l’outil “officiel” de Google?

Il peut aller dans les deux sens. JetBrains peut append des choses qui prennent du temps pour atteindre Android Studio. Et Google pourrait append des choses qui prennent du temps pour atteindre IntelliJ IDEA. Très probablement, ce dernier sera plus répandu. Mais je ne sais pas combien de temps ce délai est. Cet article de JetBrians peut aider à cet égard: FAQ sur IntelliJ IDEA et Android Studio

Ma recommandation personnelle serait que si vous savez que vous ne ferez que du développement Android, optez pour Android Studio. Mais s’il y a une chance que vous travailliez avec d’autres langages (Java, Scala, Groovy, Python, PHP, HTML, CSS, JavaScript, etc., etc.) ou un code côté entreprise (ou “entreprise”), pour vos applications Android ou pour d’autres travaux, optez pour IntelliJ IDEA. Enfin, vous pouvez toujours utiliser les deux.

Édité le 4 août 2018 pour des éclaircissements et une capture d’écran supplémentaire.

Pour le développement Android, il serait préférable d’utiliser Android Studio (l’aperçu 1.3 est maintenant disponible).

Comme Android Studio est basé sur Intellij, votre «courbe d’apprentissage» ne devrait pas poser de problème.

Pour utiliser les “ressources communes”, je suppose que vous faites référence au code … et que cela devrait être dans un repository (git / github / …).