Différence entre Android Studio et Intellij Idea avec des plugins?

117

Nous avons une base de code java existante dans laquelle nous utilisons l'idée intellij pour le développement.

Nous construisons une application Android dans laquelle nous partagerons du code et d'autres ressources avec le code préexistant et la base de ressources.

Comme Android Studio semble principalement être une version modifiée d'Intellij, ma question est la suivante: existe-t-il des fonctionnalités totalement spécifiques à Android Studio qui sont indispensables? Incompatible? "La norme"? vs communauté Intellij Idea ou ultime? Les deux sont-ils interchangeables avec un ensemble 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 pratiquement interchangeables?

(J'ai remarqué que la prise en charge de "fourmi" n'est pas dans Android Studio. Bien que tout ce dont j'ai besoin, c'est d'une certaine capacité à appeler des exécutables à partir de l'EDI avec un ensemble d'entrées de menu configurables pour diverses commandes - j'utilise maintenant la prise en charge d'intellij ant pour le faire car il était disponible)

Intellij sera-t-il toujours en retard sur les versions d'Android Studio car il s'agit de l'outil "officiel" de Google.

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

Peterk
la source
3
J'ai fait quelques recherches, mais ces questions sont en partie là pour couper le bruit. Je trouve beaucoup d'autres questions de cette nature et les réponses que les gens fournissent utiles. Souvent, les choses simples sont les plus difficiles à trouver de vraies réponses. Si je trouve et répond à ma propre question par quelque moyen que ce soit et que quelqu'un d'autre n'y a pas répondu, je le ferai.
peterk
10
Je ne vois pas une seule question basée sur l'opinion présentée ici. OP demande des différences techniques spécifiques.
De plus, il existe une bonne réponse sur le sujet qui est mise à jour.
Ryan M

Réponses:

80

Réponse mise à jour novembre 2019

Dans le passé, il n'y avait aucune fonctionnalité dans Android Studio qui n'était pas présente dans IntelliJ IDEA avec le plugin Android installé. Cependant, depuis sa création, Android Studio s'est développé et s'est de plus en plus éloigné d'IntelliJ IDEA, en particulier récemment. Il existe maintenant des plugins fournis dans Android Studio qui ne sont pas compatibles avec IntelliJ IDEA. Un tel exemple est le support Android APK qui a été publié pour la première fois en juin 2019. De plus, il existe des plugins basés sur Android fournis avec Android Studio qui ne sont même pas répertoriés sur le site JetBrains Plugin (pour le moment) tels que "Android Games", "Android NDK Support", "App Links Assistant", entre autres.

Ainsi, pour le moment, il est probablement préférable d'utiliser Android Studio pour les projets Android et d'utiliser IntelliJ IDEA pour tout développement auxiliaire, comme les applications côté serveur.

Comment utiliser les deux facilement

L'application JetBrains Toolbox facilite l'installation et l'utilisation des deux IDE côte à côte. Cela rend également la mise à niveau (et la restauration si jamais souhaitée) très facile. La boîte à outils ne prenait pas en charge Android Studio lors de sa sortie il y a des années. Et donc choisir l'un ou l'autre était plus un "problème". De plus, en utilisant le plugin de référentiel de paramètres (fourni dans les deux IDE), vous pouvez facilement synchroniser les paramètres entre les deux IDE de la plate-forme IntelliJ. (Voir Partager les paramètres via un référentiel de paramètres dans la documentation IntelliJ IDEA.) Ainsi, entre l'application Toolbox et le plugin Settings Repository, il est pratique (IMHO) d'utiliser les deux.


Formulaire de réponse précédent (obsolète) Juin 2015

Tout d'abord, un avertissement ... Je n'ai utilisé que légèrement Android Studio car je fais tout mon travail dans IntelliJ IDEA. Mais je suis un fervent utilisateur d'IntelliJ IDEA depuis 2003.

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

La réponse rapide est que vous ne pouvez rien faire dans Android Studio que vous ne pouvez pas faire dans IntelliJ IDEA (Community ou Ultimate) avec le plug-in Android installé et activé. Voici une capture d'écran de la matrice des fonctionnalités d'IntelliJ IDEA qui souligne ce point: entrez la description de l'image ici

Fondamentalement, le studio Android a plus de «branding» pour Android que IntelliJ IDEA. Et comme il ne s'agit que d' un IDE Android, il peut être plus «ciblé». Comme je l'ai mentionné, il n'y a rien que vous puissiez faire dans Android Studio que vous ne puissiez pas faire dans Intellij IDEA. Mais le contraire n'est pas vrai. Il existe 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 plugins IntelliJ IDEA, cela dépendra du plugin et des composants (dans l'API du plugin IntelliJ) qu'il exploite. Lorsque vous écrivez un plugin, vous devez déclarer (dans votre descripteur de plugin) les dépendances d'API que vous utilisez. Quelques exemples sont com.intellij.modules.lang, com.intellij.modules.java, AntSupportet Git4Idea. Il existe des dizaines, voire des centaines de possibilités, y compris d'autres plugins. Donc, si un plugin (ou l'une de ses dépendances) finit par utiliser quelque chose dans l'API du plugin qui n'est pas inclus dans Android Studio, ce plugin ne fonctionnera pas. Par exemple, un plugin que j'ai écrit (qui n'a absolument rien à voir avec le développement mobile), répertorie sur la page JetBrains Plugin comme étant compatible avec Android Studio car il ne dépend que de com.intellij.modules.langetcom.intellij.modules.java. Ainsi, même si cela peut aller dans les deux sens, il est plus probable que (en raison d'IntelliJ IDEA ayant plus de composants installés) un plugin ne soit compatible dans IntelliJ IDEA qu'en raison d'une dépendance à quelque chose qui est unique à ce plugin.

Intellij sera-t-il toujours en retard sur les versions d'Android Studio car il s'agit de l'outil "officiel" de Google.

Cela peut aller dans les deux sens. JetBrains peut ajouter des éléments qui prennent du temps pour accéder à Android Studio; et Google peut ajouter des éléments qui mettent du temps à atteindre IntelliJ IDEA. Il est très probable, cependant, que ce dernier sera plus répandu. Cependant, je ne sais pas d'emblée combien de temps ce délai est. Cet article de blog JetBrians peut vous aider à cet égard: FAQ IntelliJ IDEA et Android Studio

Mes recommandations personnelles seraient les suivantes: si vous savez que vous allez uniquement faire du développement Android, optez pour Android Studio. De plus, les nouveaux développeurs Android trouveraient probablement Android Studio mieux adapté car la plupart de la documentation et des didacticiels le montreront et il peut y avoir une différence mineure occasionnelle (par exemple, l'emplacement d'un élément dans un menu) dans IntelliJ IDEA. Mais si vous travaillez dans des projets dédiés JVM utilisant Java, Kotlin, Groovy et / ou Scala, ou avec d'autres langages (Python, php, html, css, JavaScript, etc., etc.) ou tout côté serveur (ou "entreprise ") code - que ce soit pour vos applications Android ou pour d'autres travaux, alors optez pour IntelliJ IDEA.

Modifié le 4 août 2018 pour quelques éclaircissements et une capture d'écran ajoutée.

Mise à jour le 25 novembre 2019 pour ajouter de nouvelles informations.

Javaru
la source
32
Je suis surpris que Google n'ait pas simplement produit des plugins intellij pour fonctionner avec l'édition communautaire afin qu'ils soient 100% compatibles. Je suppose que c'est le truc de la marque :)
peterk
merci pour le lien du blog intelli. Il n'est certainement apparu dans aucune des recherches que j'ai effectuées.
peterk
Ah oui, c'est une question mal recherchée (qui, espérons-le, fournira à une autre âme une bonne réponse concise :) C'est-à-dire: quel ensemble de plugins est nécessaire pour activer l'ensemble équivalent de fonctionnalités dans intellij à ce qui est pré-emballé avec Android Studio: )
peterk
2
Excellente réponse - j'ai finalement éclairci mon esprit sur quel outil investir mes ressources (temps et argent) - en tant que développeur solo (indépendant). Des réponses comme celle-ci ne sont que l'une des nombreuses raisons pour lesquelles j'aime tant !!
SilSur
3
Eh bien, Android Studio prend en charge C ++, ce n'est pas le cas d'Intellij IDEA Ultimate.
Zaffy
0

Pour le développement Android, vous feriez mieux d'utiliser Android Studio (l'aperçu 1.3 est maintenant disponible).

Étant donné qu'Android Studio est basé sur Intellij, votre «courbe d'apprentissage» ne devrait pas poser de problème.

Pour utiliser des "ressources communes", je suppose que vous faites référence au code ... et que cela devrait être dans un référentiel (git / github / ...).

Erst whileIII
la source
bien sûr, toutes les ressources communes et le projet d'application lui-même sont dans le contrôle de code source, et nous utilisons git :)
peterk