Diferença entre o Android Studio e o Intellij Idea com plug-ins?


117

Temos uma base de código Java existente onde usamos a ideia intellij para desenvolvimento.

Estamos construindo um aplicativo Android no qual compartilharemos código e outros recursos com o código pré-existente e a base de recursos.

Como o Android Studio parece ser principalmente uma versão modificada do Intellij, minha pergunta é: existem recursos totalmente específicos que o Android Studio possui que são indispensáveis? Incompatível? "Padrão"? vs comunidade Intellij Idea ou final? Os dois são intercambiáveis ​​com um conjunto de plug-ins adequado?

Se fôssemos usar o Intellij Idea com os vários plug-ins de suporte do Android, esses plug-ins são iguais aos que vêm com o Android Studio? Com este conjunto de plug-ins, os programas serão virtualmente intercambiáveis?

(Eu percebi que o suporte "ant" não está no Android Studio. Embora tudo que eu preciso seja alguma capacidade de invocar executáveis ​​do IDE com um conjunto de entradas configuráveis ​​de menu para vários comandos - eu agora uso o suporte intellij ant para fazer isso porque estava disponível)

O Intellij sempre estará atrasado em relação aos lançamentos do Android Studio, pois é a ferramenta "oficial" do Google.

Se eles forem significativamente incompatíveis, qual é a maneira mais fácil de usar recursos e ferramentas comuns entre os dois sistemas?


3
Eu fiz algumas pesquisas, mas essas perguntas estão aqui parcialmente para cortar o ruído. Acho muitas outras perguntas dessa natureza e as respostas que as pessoas fornecem úteis. Freqüentemente, as coisas simples são as mais difíceis de encontrar respostas reais. Se eu encontrar e responder à minha própria pergunta por qualquer meio e outra pessoa não a tiver respondido, eu o farei.
peterk

10
Não vejo uma única pergunta baseada em opinião apresentada aqui. OP está pedindo diferenças técnicas específicas.

Além disso, há uma boa resposta sobre o tópico que está sendo mantida atualizada.
Ryan M

Respostas:


79

Resposta atualizada em novembro de 2019

No passado, não havia funcionalidade no Android Studio que não estivesse presente no IntelliJ IDEA com o plug-in Android instalado. No entanto, desde o seu início, o Android Studio cresceu e divergiu cada vez mais do IntelliJ IDEA, especialmente recentemente. Agora, existem alguns plug-ins agrupados no Android Studio que não são compatíveis com IntelliJ IDEA. Um exemplo é o Android APK Support, lançado pela primeira vez em junho de 2019. Além disso, existem alguns plug-ins baseados no Android agrupados com o Android Studio que nem mesmo estão listados no site de plug-ins do JetBrains (no momento), como "Jogos Android", "Android NDK Support", "App Links Assistant", entre outros.

Portanto, neste momento, é provavelmente melhor usar o Android Studio para projetos Android e usar o IntelliJ IDEA para qualquer desenvolvimento auxiliar, como aplicativos do lado do servidor.

Como usar ambos facilmente

O JetBrains Toolbox App facilita a instalação e o uso dos dois IDEs lado a lado. Também torna a atualização (e reversão, se desejado) muito fácil. A caixa de ferramentas não era compatível com o Android Studio quando foi lançado, anos atrás. E, portanto, escolher um ou outro era mais um "problema". Além disso, usando o plug-in do repositório de configurações (incluído em ambos os IDEs), você pode facilmente manter as configurações entre os dois IDEs da plataforma IntelliJ em sincronia. (Consulte Compartilhar configurações por meio de um repositório de configurações na documentação do IntelliJ IDEA.) Portanto, entre o aplicativo Toolbox e o plug-in do repositório de configurações, é conveniente (IMHO) apenas usar ambos.


Formulário de resposta anterior (desatualizado) de junho de 2015

Em primeiro lugar, uma isenção de responsabilidade ... Usei apenas levemente o Android Studio enquanto faço todo o meu trabalho no IntelliJ IDEA. Mas sou um usuário ávido do IntelliJ IDEA desde 2003.

Como o Android Studio parece ser principalmente uma versão modificada do Intellij, minha pergunta é: existem recursos totalmente específicos que o Android Studio possui que são indispensáveis? Incompatível? "Padrão"? vs comunidade Intellij Idea ou final? Os dois são intercambiáveis ​​com um conjunto de plug-ins adequado?

A resposta rápida é que não há nada que você possa fazer no Android Studio que não possa ser feito no IntelliJ IDEA (Community ou Ultimate) com o plug-in do Android instalado e ativado. Aqui está uma captura de tela da matriz de recursos do IntelliJ IDEA que mostra esse ponto: insira a descrição da imagem aqui

Basicamente, o Android Studio tem mais "marca" para o Android do que o IntelliJ IDEA. E como é apenas um IDE Android, pode ser mais "focado". Como mencionei, não há nada que você possa fazer no Android Studio que não possa ser feito no Intellij IDEA. Mas o oposto não é verdade. Existem várias coisas (não relacionadas ao Android) que você pode fazer no IntelliJ IDEA (tanto a comunidade quanto as edições finais) que você não pode fazer no Android Studio.

Em relação à questão se o Android Studio pode ou não usar os plug-ins IntelliJ IDEA, isso vai depender do plug-in e de quais componentes (dentro da API do plug-in IntelliJ) ele aproveita. Ao escrever um plugin, você deve declarar (em seu descritor de plugin) quais dependências de API você usa. Alguns exemplos são com.intellij.modules.lang, com.intellij.modules.java, AntSupport, e Git4Idea. Existem dezenas, senão centenas, de possibilidades - incluindo outros plug-ins. Portanto, se um plug-in (ou uma de suas dependências) acabar usando algo na API do plug-in que não está incluído no Android Studio, esse plug-in não funcionará. Por exemplo, um plug-in que escrevi (que não tem absolutamente nada a ver com desenvolvimento móvel), lista na página JetBrains Plugin como sendo compatível com o Android Studio porque depende apenas de com.intellij.modules.langecom.intellij.modules.java. Portanto, embora possa ser dos dois lados, é mais provável que (devido ao IntelliJ IDEA ter mais componentes instalados) um plug-in só seja compatível no IntelliJ IDEA como resultado de uma dependência de algo exclusivo desse plug-in.

O Intellij sempre estará atrasado em relação aos lançamentos do Android Studio, pois é a ferramenta "oficial" do Google.

Ele pode ir nos dois sentidos. JetBrains pode adicionar coisas que demoram para chegar ao Android Studio; e o Google pode adicionar coisas que demoram para chegar ao IntelliJ IDEA. É mais provável, entretanto, que o último seja mais prevalente. No entanto, não sei de antemão quanto tempo é esse atraso. Esta postagem no blog do JetBrians pode ajudar nesse sentido: Perguntas frequentes sobre IntelliJ IDEA e Android Studio

Minhas recomendações pessoais seriam: se você sabe que só fará desenvolvimento para Android, escolha o Android Studio. Além disso, os novos desenvolvedores Android provavelmente acharão o Android Studio uma opção melhor, já que a maioria da documentação e tutoriais irão mostrar isso e pode haver uma pequena diferença ocasional (como onde algo está localizado em um menu) no IntelliJ IDEA. Mas se você vai trabalhar em projetos JVM dedicados usando Java, Kotlin, Groovy e / ou Scala, ou com outras linguagens (Python, php, html, css, JavaScript, etc., etc.) ou qualquer servidor (ou "empresa ") código - para seus aplicativos Android ou para outro trabalho, então vá com IntelliJ IDEA.

Editado em 4 de agosto de 2018 para alguns esclarecimentos e uma captura de tela adicionada.

Atualizado em 25 de novembro de 2019 para adicionar novas informações.


32
Estou surpreso que o Google não tenha simplesmente produzido plug-ins de intellij para funcionar com a edição da comunidade, de forma que eles fossem 100% compatíveis. Acho que é a coisa da marca :)
peterk

obrigado pelo link do blog do intelli. Certamente não apareceu em nenhuma das pesquisas que fiz.
peterk

Ah, sim, implora o ninho de questão mal pesquisada (que esperançosamente fornecerá outra alma com uma boa resposta concisa :) Ou seja: qual conjunto de plug-ins é necessário para habilitar o conjunto equivalente de recursos no intellij para o que vem pré-empacotado com o Android Studio: )
peterk

2
Ótima resposta - finalmente esclareci em qual ferramenta investir meus recursos (tempo e dinheiro) - como um desenvolvedor solo (independente). Respostas como esta são apenas uma das muitas razões pelas quais eu amo tanto !!
SilSur

3
Bem, o Android Studio tem suporte para C ++, o Intellij IDEA Ultimate não.
Zaffy

0

Para o desenvolvimento do Android, é melhor usar o Android Studio (a versão 1.3 já está disponível).

Como o Android Studio é baseado em Intellij, sua "curva de aprendizado" não deve ser um problema.

Para usar "recursos comuns", suponho que você esteja se referindo ao código ... e que deve estar em um repositório (git / github / ...).


é claro que todos os recursos comuns e o projeto do aplicativo em si estão no controle de origem, e usamos git :)
peterk
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.