Android Studio ile Intellij Idea arasındaki fark nedir?


117

Geliştirme için intellij fikrini kullandığımız mevcut bir java kod tabanımız var.

Önceden var olan kod ve kaynak tabanı ile kodu ve diğer kaynakları paylaşacağımız bir android uygulaması oluşturuyoruz.

Android Studio esas olarak Intellij'in değiştirilmiş bir sürümü gibi göründüğü için sorum, Android Studio'nun vazgeçilmez olan tamamen belirli özellikleri var mı? Uyumsuz? "Standart"? Intellij Idea topluluğu mu yoksa nihai mi? İkisi uygun bir eklenti seti ile değiştirilebilir mi?

Intellij Idea'yı çeşitli Android destek eklentileriyle kullanacak olsaydık, bu eklentiler android stüdyo ile birlikte gelenlerle aynı mıdır? Bu eklenti seti ile programlar neredeyse birbirinin yerine geçebilir mi?

("Ant" desteğinin Android Studio'da olmadığını fark ettim. Tek ihtiyacım olan, çeşitli komutlar için menü ile yapılandırılabilir girişler kümesiyle IDE'den çalıştırılabilirleri çağırma yeteneğidir - şimdi bunu yapmak için intellij ant desteğini kullanıyorum çünkü mevcuttu)

Intellij, Google'ın "Resmi" Aracı olduğu için her zaman Android Studio olmaktan çıkan sürümleri geride bırakacak.

Önemli ölçüde uyumsuzlarsa, iki sistem arasında ortak kaynakları ve araçları kullanmanın en kolay yolu nedir?


3
Biraz araştırma yaptım ama bu sorular kısmen gürültüyü kesmek için burada. Bu nitelikteki diğer birçok soruyu ve insanların verdiği cevapları faydalı buluyorum. Çoğunlukla basit şeyler, gerçek yanıtları bulmak en zor olanlardır. Kendi sorumu her ne şekilde bulur ve cevaplarsam ve başka biri cevaplamadıysa cevap vereceğim.
peterk

10
Burada sunulan düşünceye dayalı tek bir soru görmüyorum. OP, belirli teknik farklılıklar istiyor.

Dahası, güncel tutulan iyi ve konu üzerine bir cevap var.
Ryan M

Yanıtlar:


80

Güncellenmiş Cevap Kasım 2019

Geçmişte, Android Studio'da Android eklentisi yüklü IntelliJ IDEA'da bulunmayan hiçbir işlevsellik yoktu. Ancak, başlangıcından bu yana, Android Studio büyüdü ve özellikle son zamanlarda IntelliJ IDEA'dan giderek daha fazla ayrıldı. Artık Android Studio'da IntelliJ IDEA ile uyumlu olmayan bazı eklentiler var. Buna bir örnek, ilk olarak Haziran 2019'da yayınlanan Android APK Desteğidir. Üstelik, Android Studio ile birlikte paketlenmiş olan ve JetBrains Eklenti sitesinde (şu anda) "Android Oyunları" gibi listelenmemiş bazı Android tabanlı eklentiler vardır. Diğerlerinin yanı sıra "Android NDK Desteği", "Uygulama Bağlantıları Yardımcısı".

Bu nedenle, şu anda, Android Projeleri için Android Studio kullanmak ve sunucu tarafı uygulamalar gibi herhangi bir yardımcı geliştirme için IntelliJ IDEA kullanmak en iyisidir.

İkisi de nasıl kolayca kullanılır

JetBrains Toolbox App kolay kurulum ve yan yana iki IDE tarafı kullanmak mümkün kılar. Ayrıca yükseltmeyi (ve istenirse geri almayı) da süper kolay hale getirir. Araç kutusu, yıllar önce ilk çıktığında Android Studio'yu desteklemiyordu. Ve böylece birini veya diğerini seçmek daha çok bir "sorun" oldu. Ek olarak, Ayarlar Deposu Eklentisini (her iki IDE'de bulunur) kullanarak, iki IntelliJ Platform IDE'si arasındaki ayarları senkronize halde kolayca tutabilirsiniz. (Bkz . IntelliJ IDEA belgelerinde bir ayarlar deposu aracılığıyla ayarları paylaşın .) Bu nedenle, Toolbox Uygulaması ve Ayarlar Deposu Eklentisi arasında, yalnızca ikisini de kullanmak (IMHO) uygundur.


Önceki (Eski) Cevap Formu Haziran 2015

İlk olarak, bir sorumluluk reddi ... IntelliJ IDEA'da tüm çalışmalarımı yaptığım için Android Studio'yu yalnızca hafifçe kullandım. Ancak 2003'ten beri IntelliJ IDEA'nın hevesli bir kullanıcısıyım.

Android Studio esas olarak Intellij'in değiştirilmiş bir sürümü gibi göründüğü için sorum, Android Studio'nun vazgeçilmez olan tamamen belirli özellikleri var mı? Uyumsuz? "Standart"? Intellij Idea topluluğu mu yoksa nihai mi? İkisi uygun bir eklenti seti ile değiştirilebilir mi?

Hızlı cevap, Android Eklentisi yüklü ve etkin haldeyken IntelliJ IDEA'da (Topluluk veya Ultimate) Android Studio'da yapamayacağınız hiçbir şey olmamasıdır. IntelliJ IDEA özellikleri matrisinden bu noktayı gösteren bir ekran görüntüsü: görüntü açıklamasını buraya girin

Temel olarak, Android stüdyosu Android için IntelliJ IDEA'dan daha fazla "markalama" içeriyor. Ve sadece bir Android IDE olduğu için daha "odaklanmış" olabilir. Bahsettiğim gibi Intellij IDEA'da yapamayacağınız Android Studio'da yapabileceğiniz hiçbir şey yok. Ancak bunun tersi doğru değil. IntelliJ IDEA'da (hem topluluk hem de nihai sürümler) yapabileceğiniz ve Android Studio'da yapamayacağınız birkaç (Android olmayan) şey vardır.

Android stüdyosunun IntelliJ IDEA eklentilerini kullanıp kullanamayacağı sorusuyla ilgili olarak, bu eklentiye ve hangi bileşenlerden (IntelliJ eklenti API'sinde) yararlandığına bağlı olacaktır. Bir eklenti yazarken, hangi API bağımlılıklarını kullandığınızı (eklenti tanımlayıcınızda) belirtmeniz gerekir. Bazı örnekler şunlardır com.intellij.modules.lang, com.intellij.modules.java, AntSupport, ve Git4Idea. Yüzlerce olmasa da düzinelerce olasılık vardır - diğer eklentiler dahil. Dolayısıyla, bir eklenti (veya bağımlılıklarından biri) eklenti API'sinde Android Studio'da bulunmayan bir şeyi kullanırsa, bu eklenti çalışmayacaktır. Örneğin, yazdığım bir eklenti (mobil geliştirmeyle kesinlikle ilgisi olmayan), JetBrains Eklenti sayfasında Android Studio ile uyumlu olarak listeliyor çünkü yalnızca com.intellij.modules.langvecom.intellij.modules.java. Bu nedenle, her iki yönde de gidebilirken, (IntelliJ IDEA'nın daha fazla bileşene sahip olması nedeniyle) bir eklentinin, yalnızca bu eklentiye özgü bir şeye olan bağımlılığın bir sonucu olarak IntelliJ IDEA ile uyumlu olması daha olasıdır.

Intellij, Google'ın "Resmi" Aracı olduğu için her zaman Android Studio olmaktan çıkan sürümleri geride bırakacak.

Her iki yöne de gidebilir. JetBrains, Android Studio'ya gelmesi zaman alan şeyler ekleyebilir; ve Google, IntelliJ IDEA'ya ulaşması zaman alan şeyler ekleyebilir. Büyük olasılıkla, ancak ikincisi daha yaygın olacak. Ancak, bu gecikmenin ne kadar süreceğini bilmiyorum. Bu JetBrians blog yazısı bu konuda yardımcı olabilir: IntelliJ IDEA ve Android Studio SSS

Kişisel önerilerim şunlar olabilir: Yalnızca Android geliştirme yapacağınızı biliyorsanız, Android Studio ile devam edin. Ayrıca yeni Android geliştiricileri, çoğu dokümantasyon ve öğretici bunu göstereceğinden ve IntelliJ IDEA'da ara sıra küçük farklar (bir şeyin bir menüde bulunduğu yer gibi) olabileceğinden, Android Studio'yu daha uygun bulacaktır. Ancak, Java, Kotlin, Groovy ve / veya Scala veya diğer diller (Python, php, html, css, JavaScript, vb.) Veya herhangi bir sunucu tarafında (veya "kurumsal ") kod - Android uygulamalarınız veya diğer işler için, ardından IntelliJ IDEA ile devam edin.

Bazı açıklama ve ekran görüntüsü için 4 Ağustos 2018'de düzenlendi .

Yeni bilgiler eklemek için 25 Kasım 2019'da güncellendi .


32
Google'ın yalnızca% 100 uyumlu olacak şekilde topluluk sürümüyle çalışmak için intellij eklentileri üretmediğine şaşırdım. Ben marka şey :) olduğunu tahmin
Peterk

intelli blog bağlantısı için teşekkürler. Yaptığım aramaların hiçbirinde kesinlikle ortaya çıkmadı.
peterk

Ah evet, yuvaya yeterince araştırılmamış bir soruya yalvarıyor (umarız ki başka bir kişiye iyi bir özlü cevap verecektir :) Yani: intellij'deki eşdeğer özellik kümesini Android Studio ile önceden paketlenmiş olarak gelenlere etkinleştirmek için hangi eklenti seti gereklidir: )
peterk

2
Harika cevap - sonunda kaynaklarımı (zaman ve para) hangi araca yatıracağım - solo (bağımsız) bir geliştirici olarak fikrimi açtı. Bunun gibi yanıtlar, bu kadar çok sevdiğim birçok nedenden sadece biri !!
SilSur

3
Android Studio'nun C ++ desteği var, Intellij IDEA Ultimate yok.
Zaffy

0

Android geliştirme için, Android Studio'yu kullanmanız en iyisidir (önizleme 1.3 artık mevcut).

Android Studio Intellij tabanlı olduğundan, "öğrenme eğriniz" bir sorun olmamalı.

"Ortak kaynakları" kullanmak için, koda atıfta bulunduğunuzu varsayıyorum ... ve bu bir havuzda olmalıdır (git / github / ...).


tabii ki ortak tüm kaynaklar ve uygulama projesinin kendisi kaynak kontrolünde ve git kullanıyoruz :)
peterk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.