Unterschied zwischen Android Studio und Intellij Idea mit Plugins?

117

Wir haben eine vorhandene Java-Codebasis, in der wir die Intellij-Idee für die Entwicklung verwenden.

Wir erstellen eine Android-Anwendung, in der wir Code und andere Ressourcen mit dem bereits vorhandenen Code und der Ressourcenbasis teilen.

Da Android Studio hauptsächlich eine modifizierte Version von Intellij zu sein scheint, ist meine Frage, ob es völlig spezifische Funktionen von Android Studio gibt, die unverzichtbar sind. Unvereinbar? "Standard"? vs Intellij Idea Community oder Ultimate? Sind die beiden mit einem richtigen Plugin-Set austauschbar?

Wenn wir Intellij Idea mit den verschiedenen Android-Support-Plugins verwenden würden, stimmen diese Plugins mit denen von Android Studio überein? Werden die Programme mit diesen Plugins praktisch austauschbar sein?

(Ich habe festgestellt, dass die "Ant" -Unterstützung nicht in Android Studio verfügbar ist. Ich benötige jedoch nur die Möglichkeit, ausführbare Dateien aus der IDE mit einer Reihe von im Menü konfigurierbaren Einträgen für verschiedene Befehle aufzurufen. Ich verwende jetzt die Intellij Ant-Unterstützung, um dies zu tun war verfügbar)

Wird Intellij immer hinter den Veröffentlichungen von Android Studio zurückbleiben, da es Googles "offizielles" Tool ist?

Was ist der einfachste Weg, gemeinsame Ressourcen und Tools zwischen den beiden Systemen zu verwenden, wenn sie erheblich inkompatibel sind?

Peterk
quelle
3
Ich habe einige Nachforschungen angestellt, aber diese Fragen sind teilweise hier, um den Lärm zu vermeiden. Ich finde viele andere Fragen dieser Art und die Antworten, die die Leute geben, hilfreich. Oft sind die einfachen Dinge am schwierigsten zu beantworten. Wenn ich meine eigene Frage auf irgendeine Weise finde und beantworte und jemand anderes sie nicht beantwortet hat, werde ich es tun.
Peterk
10
Ich sehe hier keine einzige meinungsbasierte Frage. OP fragt nach spezifischen technischen Unterschieden.
Darüber hinaus gibt es eine gute, themenbezogene Antwort, die auf dem neuesten Stand gehalten wird.
Ryan M

Antworten:

79

Aktualisierte Antwort November 2019

In der Vergangenheit gab es in Android Studio keine Funktionen, die in IntelliJ IDEA mit dem installierten Android-Plugin nicht vorhanden waren. Seit seiner Gründung ist Android Studio jedoch gewachsen und hat sich vor allem in letzter Zeit immer mehr von IntelliJ IDEA entfernt. In Android Studio sind jetzt einige Plugins enthalten, die nicht mit IntelliJ IDEA kompatibel sind. Ein solches Beispiel ist der Android APK Support, der erstmals im Juni 2019 veröffentlicht wurde. Darüber hinaus gibt es einige Android-basierte Plugins, die mit Android Studio gebündelt sind und derzeit noch nicht einmal auf der JetBrains Plugin-Website aufgeführt sind, wie z. B. "Android Games". Unter anderem "Android NDK Support", "App Links Assistant".

Daher ist es derzeit wahrscheinlich am besten, Android Studio für Android-Projekte und IntelliJ IDEA für jede zusätzliche Entwicklung zu verwenden, z. B. für serverseitige Anwendungen.

Wie man beide einfach benutzt

Die JetBrains Toolbox App erleichtert die Installation und Verwendung der beiden IDEs nebeneinander. Außerdem ist das Aktualisieren (und Zurückrollen, falls gewünscht) sehr einfach. Die Toolbox unterstützte Android Studio nicht, als sie vor Jahren herauskam. Und so war die Auswahl des einen oder anderen eher ein "Problem". Zusätzlich kann durch die Verwendung von Einstellungen Repository Plugin (in beiden IDEs gebündelt) können Sie leicht Einstellungen halten zwischen der beide IntelliJ - Plattform IDEs synchron. (Siehe Freigeben von Einstellungen über ein Einstellungs-Repository in der IntelliJ IDEA-Dokumentation.) Daher ist es zwischen der Toolbox-App und dem Plugin für das Einstellungs-Repository praktisch (IMHO), nur beide zu verwenden.


Vorheriges (veraltetes) Antwortformular Juni 2015

Zunächst ein Haftungsausschluss ... Ich habe Android Studio nur geringfügig verwendet, da ich alle meine Arbeiten in IntelliJ IDEA erledige. Aber ich bin seit 2003 ein begeisterter Benutzer von IntelliJ IDEA.

Da Android Studio hauptsächlich eine modifizierte Version von Intellij zu sein scheint, ist meine Frage, ob es völlig spezifische Funktionen von Android Studio gibt, die unverzichtbar sind. Unvereinbar? "Standard"? vs Intellij Idea Community oder Ultimate? Sind die beiden mit einem richtigen Plugin-Set austauschbar?

Die schnelle Antwort lautet: In Android Studio können Sie nichts tun, was Sie in IntelliJ IDEA (Community oder Ultimate) mit installiertem und aktiviertem Android-Plugin nicht tun können. Hier ist ein Screenshot aus der IntelliJ IDEA-Funktionsmatrix, der darauf hinweist: Geben Sie hier die Bildbeschreibung ein

Grundsätzlich hat Android Studio mehr "Branding" für Android als IntelliJ IDEA. Und da es sich nur um eine Android-IDE handelt, kann sie "fokussierter" sein. Wie bereits erwähnt, können Sie in Android Studio nichts tun, was Sie in Intellij IDEA nicht tun können. Das Gegenteil ist jedoch nicht der Fall. In IntelliJ IDEA (sowohl in der Community als auch in der ultimativen Edition) können Sie eine Reihe von (Nicht-Android-) Aufgaben ausführen, die Sie in Android Studio nicht ausführen können.

Die Frage, ob Android Studio IntelliJ IDEA-Plugins verwenden kann oder nicht, hängt vom Plugin und den verwendeten Komponenten (innerhalb der IntelliJ-Plugin-API) ab. Wenn Sie ein Plugin schreiben, müssen Sie (in Ihrem Plugin-Deskriptor) angeben, welche API-Abhängigkeiten Sie verwenden. Einige Beispiele sind com.intellij.modules.lang, com.intellij.modules.java, AntSupport, und Git4Idea. Es gibt Dutzende, wenn nicht Hunderte von Möglichkeiten - einschließlich anderer Plugins. Wenn also ein Plugin (oder eine seiner Abhängigkeiten) etwas in der Plugin-API verwendet, das nicht in Android Studio enthalten ist, funktioniert dieses Plugin nicht. Zum Beispiel listet ein Plugin, das ich geschrieben habe (das absolut nichts mit mobiler Entwicklung zu tun hat), auf der JetBrains-Plugin-Seite als mit Android Studio kompatibel auf, da es nur von com.intellij.modules.langund abhängtcom.intellij.modules.java. Obwohl es in beide Richtungen gehen kann, ist es wahrscheinlicher, dass (da IntelliJ IDEA mehr Komponenten installiert hat) ein Plugin nur in IntelliJ IDEA kompatibel ist, da es von etwas abhängig ist, das für dieses Plugin einzigartig ist.

Wird Intellij immer hinter den Veröffentlichungen von Android Studio zurückbleiben, da es Googles "offizielles" Tool ist?

Es kann in beide Richtungen gehen. JetBrains kann Dinge hinzufügen, die Zeit brauchen, um Android Studio zu erreichen. und Google kann Dinge hinzufügen, die Zeit brauchen, um IntelliJ IDEA zu erreichen. Es ist jedoch am wahrscheinlichsten, dass letzteres häufiger auftritt. Ich weiß jedoch nicht sofort, wie lange diese Verzögerung dauert. Dieser JetBrians-Blogbeitrag kann in dieser Hinsicht hilfreich sein: IntelliJ IDEA und Android Studio FAQ

Meine persönlichen Empfehlungen wären: Wenn Sie wissen, dass Sie nur Android-Entwicklung betreiben, dann entscheiden Sie sich für Android Studio. Auch neue Android-Entwickler würden Android Studio wahrscheinlich besser finden, da die meisten Dokumentationen und Tutorials dies zeigen und es gelegentlich geringfügige Unterschiede (z. B. wo sich etwas in einem Menü befindet) in IntelliJ IDEA gibt. Aber wenn Sie in JVM-Projekten mit Java, Kotlin, Groovy und / oder Scala oder mit anderen Sprachen (Python, PHP, HTML, CSS, JavaScript usw. usw.) oder einer anderen Serverseite (oder einem Unternehmen) arbeiten ") Code - entweder für Ihre Android-Apps oder für andere Arbeiten, dann entscheiden Sie sich für IntelliJ IDEA.

Bearbeitet am 4. August 2018 zur Verdeutlichung und für einen zusätzlichen Screenshot.

Aktualisiert am 25. November 2019, um neue Informationen hinzuzufügen.

Javaru
quelle
31
Ich bin überrascht, dass Google nicht einfach Intellij-Plugins für die Community-Edition erstellt hat, damit diese zu 100% kompatibel sind. Ich denke, es ist das Branding-Ding :)
Peterk
Danke für den Intelli-Blog-Link. Bei keiner meiner Suchanfragen ist es aufgetaucht.
Peterk
Ah ja, wirft die schlecht recherchierte Frage des Nestes auf (die hoffentlich einer anderen Seele eine gute, prägnante Antwort geben wird :) Das heißt: Welche Plugins sind erforderlich, um die gleichen Funktionen in Intellij zu aktivieren, die mit Android Studio vorinstalliert sind: )
Peterk
2
Tolle Antwort - endlich klar, in welches Tool ich meine Ressourcen (Zeit und Geld) investieren soll - als Solo-Entwickler (unabhängig). Antworten wie diese sind nur einer der vielen Gründe, warum ich so sehr liebe !!
SilSur
3
Nun, Android Studio unterstützt C ++, Intellij IDEA Ultimate nicht.
Zaffy
0

Für die Android-Entwicklung verwenden Sie am besten Android Studio (Vorschau 1.3 ist jetzt verfügbar).

Da Android Studio auf Intellij basiert, sollte Ihre "Lernkurve" kein Problem sein.

Für die Verwendung von "allgemeinen Ressourcen" gehe ich davon aus, dass Sie sich auf Code beziehen ... und dieser sollte sich in einem Repository befinden (git / github / ...).

ErstwhileIII
quelle
Natürlich befinden sich alle gemeinsamen Ressourcen und das Anwendungsprojekt selbst in der Quellcodeverwaltung, und wir verwenden Git :)
Peterk