Perbedaan antara Android Studio dan Intellij Idea dengan plugin?

117

Kami memiliki basis kode java yang ada di mana kami menggunakan ide intellij untuk pengembangan.

Kami sedang membangun aplikasi android tempat kami akan berbagi kode dan sumber daya lain dengan kode dan basis sumber daya yang sudah ada sebelumnya.

Karena Android Studio tampaknya merupakan versi modifikasi dari Intellij, pertanyaan saya adalah apakah ada fitur khusus yang dimiliki Android Studio yang sangat diperlukan? Tidak kompatibel? "Standar"? vs komunitas Intellij Idea atau ultimate? Apakah keduanya dapat dipertukarkan dengan set plugin yang tepat?

Jika kita menggunakan Intellij Idea dengan berbagai plugin dukungan Android, apakah plugin ini sama dengan yang disertakan dengan android studio? Dengan rangkaian plugin ini, apakah program-program tersebut dapat dipertukarkan secara virtual?

(Saya melihat dukungan "ant" tidak ada di Android Studio. Meskipun yang saya butuhkan hanyalah beberapa kemampuan untuk memanggil file yang dapat dieksekusi dari IDE dengan satu set entri menu yang dapat dikonfigurasi untuk berbagai perintah - Saya sekarang menggunakan dukungan ant intellij ant untuk melakukan ini karena itu tersedia)

Akankah Intellij selalu menjadi rilis tertinggal sebagai Android Studio karena ini adalah Alat "Resmi" Google.

Jika keduanya sangat tidak kompatibel, apa cara termudah untuk menggunakan sumber daya dan alat umum di antara kedua sistem?

peterk
sumber
3
Saya memang melakukan penelitian tetapi pertanyaan-pertanyaan ini sebagian ada di sini untuk memotong kebisingan. Saya menemukan banyak pertanyaan lain seperti ini dan jawaban yang diberikan orang-orang bermanfaat. Seringkali hal-hal sederhana adalah yang paling sulit untuk menemukan jawaban yang sebenarnya. Jika saya menemukan dan menjawab pertanyaan saya sendiri dengan cara apa pun dan orang lain belum menjawabnya, saya akan.
peterk
10
Saya tidak melihat satu pun pertanyaan berbasis opini disajikan di sini. OP meminta perbedaan teknis tertentu.
Selain itu, ada jawaban bagus sesuai topik yang selalu diperbarui.
Ryan M

Jawaban:

80

Jawaban yang Diperbarui November 2019

Sebelumnya, tidak ada fungsi di Android Studio yang tidak ada di IntelliJ IDEA dengan plugin Android terpasang. Namun, sejak awal, Android Studio telah berkembang dan semakin menyimpang dari IntelliJ IDEA, terutama baru-baru ini. Sekarang ada beberapa plugin yang dibundel di Android Studio yang tidak kompatibel dengan IntelliJ IDEA. Salah satu contohnya adalah Android APK Support yang pertama kali dirilis pada Juni 2019. Apalagi ada beberapa plugin berbasis Android yang dibundel dengan Android Studio yang bahkan tidak terdaftar di situs Plugin JetBrains (saat ini) seperti "Android Games", "Android NDK Support", "App Links Assistant", antara lain.

Jadi saat ini, kemungkinan terbaik adalah menggunakan Android Studio untuk Proyek Android, dan menggunakan IntelliJ IDEA untuk pengembangan tambahan apa pun, seperti aplikasi sisi server.

Cara menggunakan keduanya dengan mudah

Aplikasi JetBrains Toolbox memudahkan untuk menginstal dan menggunakan dua IDE secara berdampingan. Itu juga membuat peningkatan (dan memutar kembali jika diinginkan) sangat mudah juga. Toolbox tidak mendukung Android Studio saat pertama kali keluar beberapa tahun yang lalu. Dan dengan demikian memilih satu atau yang lain lebih merupakan "masalah". Selain itu, dengan menggunakan Plugin Repositori Pengaturan (dibundel di kedua IDE) Anda dapat dengan mudah menjaga pengaturan antara dua IDE Platform IntelliJ tetap sinkron. (Lihat Berbagi pengaturan melalui repositori pengaturan dalam dokumentasi IntelliJ IDEA.) Jadi, antara Aplikasi Toolbox dan Plugin Repositori Pengaturan, lebih mudah (IMHO) untuk hanya menggunakan keduanya.


Formulir Jawaban Sebelumnya (Kedaluwarsa) Juni 2015

Pertama, penafian ... Saya hanya menggunakan Android Studio dengan ringan karena saya melakukan semua pekerjaan saya di IntelliJ IDEA. Tapi saya telah menjadi pengguna setia IntelliJ IDEA sejak 2003.

Karena Android Studio tampaknya merupakan versi modifikasi dari Intellij, pertanyaan saya adalah apakah ada fitur khusus yang dimiliki Android Studio yang sangat diperlukan? Tidak kompatibel? "Standar"? vs komunitas Intellij Idea atau ultimate? Apakah keduanya dapat dipertukarkan dengan set plugin yang tepat?

Jawaban cepatnya adalah tidak ada yang dapat Anda lakukan di Android Studio yang tidak dapat Anda lakukan di IntelliJ IDEA (Community atau Ultimate) dengan Android Plugin diinstal dan diaktifkan. Berikut tangkapan layar dari matriks fitur IntelliJ IDEA yang menjelaskan hal itu: masukkan deskripsi gambar di sini

Pada dasarnya, Android Studio memiliki lebih banyak "branding" untuk Android daripada IntelliJ IDEA. Dan karena ini hanya IDE Android, ini bisa lebih "fokus". Seperti yang saya sebutkan, tidak ada yang dapat Anda lakukan di Android Studio yang tidak dapat Anda lakukan di Intellij IDEA. Namun yang sebaliknya tidak benar. Ada sejumlah hal (non-Android) yang dapat Anda lakukan di IntelliJ IDEA (baik komunitas maupun edisi ultimat) yang tidak dapat Anda lakukan di Android Studio.

Mengenai pertanyaan apakah Android studio dapat menggunakan plugin IntelliJ IDEA atau tidak, itu akan bergantung pada plugin dan komponen apa (dalam API plugin IntelliJ) yang dimanfaatkan. Saat Anda menulis plugin, Anda harus mendeklarasikan (dalam deskriptor plugin Anda) dependensi API apa yang Anda gunakan. Beberapa contoh adalah com.intellij.modules.lang, com.intellij.modules.java, AntSupport, dan Git4Idea. Ada lusinan, jika tidak ratusan, kemungkinan - termasuk plugin lain. Jadi jika sebuah plugin (atau salah satu dependensinya) akhirnya menggunakan sesuatu di API plugin yang tidak disertakan di Android Studio, plugin itu tidak akan berfungsi. Misalnya, satu plugin yang saya tulis (yang sama sekali tidak ada hubungannya dengan pengembangan seluler), tercantum di halaman Plugin JetBrains sebagai kompatibel dengan Android Studio karena hanya bergantung pada com.intellij.modules.langdancom.intellij.modules.java. Jadi meskipun bisa berjalan dua arah, kemungkinan besar (karena IntelliJ IDEA memiliki lebih banyak komponen yang diinstal) sebuah plugin mungkin hanya kompatibel di IntelliJ IDEA sebagai akibat dari ketergantungan pada sesuatu yang unik untuk plugin itu.

Akankah Intellij selalu menjadi rilis tertinggal sebagai Android Studio karena ini adalah Alat "Resmi" Google.

Ini bisa berjalan dua arah. JetBrains mungkin menambahkan hal-hal yang membutuhkan waktu untuk mencapai Android Studio; dan Google dapat menambahkan hal-hal yang membutuhkan waktu untuk mencapai IntelliJ IDEA. Kemungkinan besar, bagaimanapun, yang terakhir akan lebih umum. Namun, saya tidak tahu begitu saja berapa lama penundaan itu. Entri blog JetBrians ini dapat membantu dalam hal itu: IntelliJ IDEA dan FAQ Android Studio

Rekomendasi pribadi saya adalah: Jika Anda tahu Anda hanya akan melakukan pengembangan Android, gunakan Android Studio. Selain itu, pengembang Android baru kemungkinan akan menganggap Android Studio lebih cocok karena sebagian besar dokumentasi & tutorial akan menunjukkannya dan mungkin ada perbedaan kecil sesekali (seperti di mana sesuatu terletak di menu) di IntelliJ IDEA. Tetapi jika Anda akan bekerja dalam proyek khusus JVM menggunakan Java, Kotlin, Groovy dan / atau Scala, atau dengan bahasa lain (Python, php, html, css, JavaScript, dll., Dll.) Atau sisi server (atau "perusahaan ") - baik untuk aplikasi Android Anda atau untuk pekerjaan lain, gunakan IntelliJ IDEA.

Diedit 4 Agustus 2018 untuk beberapa klarifikasi dan tangkapan layar tambahan.

Diperbarui 25 November 2019 untuk menambahkan informasi baru.

Javaru
sumber
32
Saya terkejut Google tidak hanya memproduksi plugin intellij untuk bekerja dengan edisi komunitas sehingga 100% kompatibel. Saya kira itu adalah hal tentang branding :)
peterk
terima kasih untuk tautan blog yang cerdas. Itu pasti tidak muncul di pencarian apa pun yang saya jalankan.
peterk
Ah ya mohon pertanyaan yang kurang diteliti (yang diharapkan akan memberikan jawaban singkat yang bagus bagi jiwa lain :) Yaitu: kumpulan plugin apa yang diperlukan untuk mengaktifkan kumpulan fitur yang setara di intellij dengan apa yang telah dikemas sebelumnya dengan Android Studio: )
peterk
2
Jawaban yang bagus - akhirnya menjernihkan pikiran saya tentang alat mana untuk menginvestasikan sumber daya saya (waktu & uang) ke - sebagai pengembang solo (independen). Jawaban seperti ini hanyalah salah satu dari banyak alasan saya sangat mencintai !!
SilSur
3
Nah, Android Studio memiliki dukungan C ++, sedangkan Intellij IDEA Ultimate tidak.
Zaffy
0

Untuk pengembangan Android, Anda sebaiknya menggunakan Android Studio (pratinjau 1.3 sekarang tersedia).

Karena Android Studio berbasis di Intellij, "kurva belajar" Anda seharusnya tidak menjadi masalah.

Untuk menggunakan "sumber daya umum", saya berasumsi bahwa Anda mengacu pada kode ... dan itu harus ada dalam repositori (git / github / ...).

Erst WhileIII
sumber
tentu saja semua sumber daya yang umum dan proyek aplikasi itu sendiri berada dalam kendali sumber, dan kami memang menggunakan git :)
peterk