Differenza tra Android Studio e Intellij Idea con i plugin?


117

Abbiamo una base di codice java esistente in cui utilizziamo l'idea di intellij per lo sviluppo.

Stiamo costruendo un'applicazione Android in cui condivideremo il codice e altre risorse con il codice preesistente e la base di risorse.

Poiché Android Studio sembra essere principalmente una versione modificata di Intellij, la mia domanda è: ci sono funzionalità totalmente specifiche di Android Studio che sono indispensabili? Incompatibile? "Standard"? vs Intellij Idea community o ultimate? I due sono intercambiabili con un set di plug-in appropriato?

Se dovessimo utilizzare Intellij Idea con i vari plugin di supporto Android, questi plugin sono gli stessi di quelli forniti con Android Studio? Con questo set di plugin i programmi saranno virtualmente intercambiabili?

(Ho notato che il supporto "ant" non è in Android Studio. Anche se tutto ciò di cui ho bisogno è una certa capacità di richiamare eseguibili dall'IDE con una serie di voci configurabili dal menu per vari comandi - ora uso il supporto intellij ant per farlo perché era disponibile)

Intellij sarà sempre in ritardo nelle versioni essendo Android Studio in quanto è lo strumento "ufficiale" di Google.

Se sono significativamente incompatibili, qual è il modo più semplice per utilizzare risorse e strumenti comuni tra i due sistemi?


3
Ho fatto delle ricerche, ma queste domande sono in parte qui per tagliare il rumore. Trovo che molte altre domande di questa natura e le risposte che le persone forniscono siano utili. Spesso le cose semplici sono le più difficili da trovare risposte reali. Se trovo e rispondo alla mia domanda con qualsiasi mezzo e qualcun altro non ha risposto, lo farò.
peterk

10
Non vedo una singola domanda basata sull'opinione presentata qui. OP chiede differenze tecniche specifiche.

Inoltre, c'è una buona risposta sull'argomento che viene mantenuta aggiornata.
Ryan M

Risposte:


80

Risposta aggiornata novembre 2019

In passato, non c'erano funzionalità in Android Studio che non fossero presenti in IntelliJ IDEA con il plug-in Android installato. Tuttavia, sin dal suo inizio, Android Studio è cresciuto e si è discostato sempre di più da IntelliJ IDEA, soprattutto di recente. Ora ci sono alcuni plugin in bundle in Android Studio che non sono compatibili con IntelliJ IDEA. Uno di questi esempi è il supporto APK Android che è stato rilasciato per la prima volta nel giugno 2019. Inoltre, ci sono alcuni plug-in basati su Android in bundle con Android Studio che non sono nemmeno elencati sul sito del plug-in JetBrains (in questo momento) come "Giochi Android", "Android NDK Support", "App Links Assistant", tra gli altri.

Pertanto, in questo momento, è probabile che sia meglio utilizzare Android Studio per progetti Android e utilizzare IntelliJ IDEA per qualsiasi sviluppo ausiliario, come le applicazioni lato server.

Come usarli entrambi facilmente

L' app JetBrains Toolbox semplifica l'installazione e l'utilizzo dei due IDE fianco a fianco. Rende anche l'upgrade (e il rollback se lo si desidera) super facile. Il toolbox non supportava Android Studio quando è uscito per la prima volta anni fa. E quindi scegliere l'uno o l'altro era più un "problema". Inoltre, utilizzando il plug-in Repository delle impostazioni (in bundle in entrambi gli IDE) è possibile mantenere facilmente sincronizzate le impostazioni tra i due IDE della piattaforma IntelliJ. (Vedere Condivisione delle impostazioni tramite un repository delle impostazioni nella documentazione di IntelliJ IDEA.) Pertanto, tra l'app Toolbox e il plug-in del repository delle impostazioni, è conveniente (IMHO) utilizzare solo entrambi.


Modulo di risposta precedente (obsoleto) giugno 2015

Innanzitutto, un disclaimer ... Ho usato solo leggermente Android Studio poiché svolgo tutto il mio lavoro in IntelliJ IDEA. Ma sono un utente avido di IntelliJ IDEA dal 2003.

Poiché Android Studio sembra essere principalmente una versione modificata di Intellij, la mia domanda è: ci sono funzionalità totalmente specifiche di Android Studio che sono indispensabili? Incompatibile? "Standard"? vs Intellij Idea community o ultimate? I due sono intercambiabili con un set di plug-in appropriato?

La risposta rapida è che non c'è nulla che puoi fare in Android Studio che non puoi fare in IntelliJ IDEA (Community o Ultimate) con il plug-in Android installato e abilitato. Ecco uno screenshot dalla matrice delle caratteristiche di IntelliJ IDEA che sottolinea questo punto: inserisci qui la descrizione dell'immagine

Fondamentalmente, Android Studio ha più "branding" per Android di IntelliJ IDEA. E poiché è solo un IDE Android, può essere più "concentrato". Come ho già detto, non c'è niente che puoi fare in Android Studio che non puoi fare in Intellij IDEA. Ma non è vero il contrario. Ci sono una serie di cose (non Android) che puoi fare in IntelliJ IDEA (sia la community che le edizioni Ultimate) che non puoi fare in Android Studio.

Per quanto riguarda la domanda se Android Studio possa utilizzare o meno i plugin IntelliJ IDEA, dipenderà dal plugin e da quali componenti (all'interno dell'API del plugin IntelliJ) sfrutta. Quando scrivi un plugin, devi dichiarare (nel descrittore del tuo plugin) quali dipendenze API usi. Alcuni esempi sono com.intellij.modules.lang, com.intellij.modules.java, AntSupport, e Git4Idea. Ci sono dozzine, se non centinaia, di possibilità, inclusi altri plugin. Quindi, se un plug-in (o una delle sue dipendenze) finisce per utilizzare qualcosa nell'API del plug-in che non è incluso in Android Studio, quel plug-in non funzionerà. Ad esempio, un plug-in che ho scritto (che non ha assolutamente nulla a che fare con lo sviluppo mobile), elenca nella pagina del plug-in JetBrains come compatibile con Android Studio perché dipende solo da com.intellij.modules.langecom.intellij.modules.java. Quindi, sebbene possa funzionare in entrambe le direzioni, è più probabile che (a causa del fatto che IntelliJ IDEA abbia più componenti installati) un plug-in possa essere compatibile in IntelliJ IDEA solo a causa di una dipendenza da qualcosa che è unico per quel plug-in.

Intellij sarà sempre in ritardo nelle versioni essendo Android Studio in quanto è lo strumento "ufficiale" di Google.

Può andare in entrambe le direzioni. JetBrains può aggiungere cose che richiedono tempo per colpire Android Studio; e Google potrebbe aggiungere elementi che richiedono tempo per raggiungere IntelliJ IDEA. È molto probabile, tuttavia, che quest'ultimo sarà più diffuso. Tuttavia, non so quanto tempo sia lungo questo ritardo. Questo post sul blog di JetBrians può aiutare in questo senso: Domande frequenti su IntelliJ IDEA e Android Studio

I miei consigli personali sarebbero: se sai che farai solo sviluppo Android, allora vai con Android Studio. Anche i nuovi sviluppatori Android probabilmente troverebbero Android Studio più adatto poiché la maggior parte della documentazione e dei tutorial lo mostreranno e potrebbero esserci delle piccole differenze occasionali (come dove si trova qualcosa in un menu) in IntelliJ IDEA. Ma se lavorerai in progetti dedicati JVM che utilizzano Java, Kotlin, Groovy e / o Scala, o con altri linguaggi (Python, php, html, css, JavaScript, ecc., Ecc.) O qualsiasi lato server (o "enterprise ") - per le tue app Android o per altri lavori, quindi scegli IntelliJ IDEA.

Modificato il 4 agosto 2018 per alcuni chiarimenti e uno screenshot aggiunto.

Aggiornato il 25 novembre 2019 per aggiungere nuove informazioni.


32
Sono sorpreso che Google non abbia semplicemente prodotto plug-in intellij per funzionare con l'edizione della community in modo che fossero compatibili al 100%. Immagino sia la cosa del marchio :)
Peterk

grazie per il link al blog intelli. Certamente non è apparso in nessuna delle ricerche che ho eseguito.
Peterk

Ah, sì, domanda al nido scarsamente ricercata (che si spera fornirà a un'altra anima una buona risposta concisa :) Ovvero: quale set di plug-in è necessario per abilitare l'insieme equivalente di funzionalità in intellij a ciò che viene preconfezionato con Android Studio: )
Peterk

2
Ottima risposta - finalmente mi sono chiarito su quale strumento investire le mie risorse (tempo e denaro) - come sviluppatore solista (indipendente). Risposte come questa sono solo uno dei tanti motivi per cui amo così tanto !!
SilSur

3
Bene, Android Studio ha il supporto C ++, Intellij IDEA Ultimate no.
Zaffy

0

Per lo sviluppo Android, sarebbe meglio utilizzare Android Studio (l'anteprima 1.3 è ora disponibile).

Poiché Android Studio è basato su Intellij, la tua "curva di apprendimento" non dovrebbe essere un problema.

Per l'utilizzo di "risorse comuni", presumo che ti riferisci al codice ... e che dovrebbe essere in un repository (git / github / ...).


ovviamente tutte le risorse comuni e il progetto dell'applicazione stessa sono nel controllo del codice sorgente e usiamo git :)
peterk
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.