Відмінність Android Studio від Intellij Idea від плагінів?


117

У нас є існуюча база коду Java, де ми використовуємо ідею Intellij для розробки.

Ми будуємо додаток для Android, де ми будемо ділитися кодом та іншими ресурсами за допомогою наявного коду та бази ресурсів.

Оскільки Android Studio здається в основному модифікованою версією Intellij, моє питання, чи є цілком специфічні функції Android Studio, які є незамінними? Несумісний? "Стандарт"? проти спільноти Intellij Idea або остаточного? Чи взаємозамінні два з належним набором плагінів?

Якби ми використовували Intellij Idea з різними плагінами підтримки для Android, чи ці плагіни збігаються з тими, які поставляються з Android Studio? З цим набором плагінів програми будуть практично взаємозамінними?

(Я помітив, що "мурашина" підтримка відсутня в Android Studio. Хоча все, що мені потрібно, це певна здатність викликати виконувані файли з IDE за допомогою набору налаштувань меню, налаштованих для різних команд - я зараз використовую підтримку мурашника Intellij для цього, тому що це було доступно)

Чи завжди Intellij буде відставати від випусків Android Studio, оскільки це "офіційний" інструмент Google.

Якщо вони суттєво несумісні, то який найпростіший спосіб використовувати спільні ресурси та інструменти між двома системами?


3
Я робив деякі дослідження, але ці питання частково тут, щоб вирішити шум. Я знаходжу багато інших питань подібного характеру і відповіді, які люди дають корисні. Часто найпростіші речі найважче знайти справжні відповіді. Якщо я знайду і відповім на власне питання будь-якими способами, а хтось ще не відповів на нього, я буду.
peterk

10
Я не бачу тут жодного питання, заснованого на думці. ОП просить конкретних технічних відмінностей.

Крім того, є хороша тематична відповідь, яка постійно оновлюється.
Райан М

Відповіді:


80

Оновлений відповідь листопада 2019 року

Раніше в Android Studio не було функціоналу, який не був би в IntelliJ IDEA із встановленим плагіном Android. Однак, з моменту свого створення, Android Studio зростає і все більше відходить від IntelliJ IDEA, особливо останнім часом. Зараз в Android Studio є кілька плагінів, які не сумісні з IntelliJ IDEA. Одним із таких прикладів є підтримка Android APK, яка вперше була випущена в червні 2019 року. Крім того, є деякі додатки на базі Android, в комплекті з Android Studio, які навіть не вказані на веб-сайті JetBrains Plugin (наразі), наприклад, "Android Games", "Підтримка Android NDK", "Асистент посилання на додатки", серед інших.

Таким чином, в цей час, ймовірно, найкраще використовувати Android Studio для проектів Android, а IntelliJ IDEA використовувати для будь-якої допоміжної розробки, наприклад, на стороні серверів.

Як користуватися обома легко

Додаток JetBrains Toolbox полегшує встановлення та використання двох IDE поряд. Це також робить оновлення (та відкочування, якщо хочете) також надто легким. Панель інструментів не підтримувала Android Studio, коли вона вперше вийшла років тому. І тому вибір того чи іншого був більше «проблемою». Крім того, використовуючи плагін Repository Repository (в комплекті з обома IDE), ви можете легко зберігати налаштування між двома IDE платформи IntelliJ. (Див. Розділ Налаштування параметрів через сховище налаштувань у документації IntelliJ IDEA.) Таким чином, між додатком Toolbox та плагіном Repository Repository зручно (IMHO) просто використовувати обидва.


Попередня (застаріла) форма відповіді червень 2015 року

По-перше, відмова від відповідальності ... Я лише злегка використовував Android Studio, як і всю свою роботу в IntelliJ IDEA. Але я був завзятим користувачем IntelliJ IDEA з 2003 року.

Оскільки Android Studio здається в основному модифікованою версією Intellij, моє питання, чи є цілком специфічні функції Android Studio, які є незамінними? Несумісний? "Стандарт"? проти спільноти Intellij Idea або остаточного? Чи взаємозамінні два з належним набором плагінів?

Швидка відповідь - в Android Studio немає нічого, чого не можна зробити в IntelliJ IDEA (Community або Ultimate) із встановленим та ввімкненим плагіном Android. Ось скріншот із матриці функцій IntelliJ IDEA, яка робить це важливим: введіть тут опис зображення

В основному, студія Android має більше "брендингу" для Android, ніж IntelliJ IDEA. А оскільки це лише Android IDE, він може бути більш «зосередженим». Як я вже згадував, в Android Studio немає нічого, чого не можна зробити в Intellij IDEA. Але навпаки не вірно. У програмі IntelliJ IDEA (як у спільноті, так і в кінцевих виданнях), що ви не можете зробити в Android Studio, є ряд (не для Android) речей.

Що стосується питання про те, чи може Android-студія використовувати плагіни IntelliJ IDEA чи ні, це залежатиме від плагіна та від компонентів (в інтерфейсі API плагінів IntelliJ). Коли ви пишете плагін, ви повинні оголосити (у своєму дескрипторі плагінів), які залежності API ви використовуєте. Ось деякі приклади com.intellij.modules.lang, com.intellij.modules.java, AntSupportі Git4Idea. Є десятки, якщо не сотні можливостей - включаючи інші плагіни. Отже, якщо плагін (або одна із його залежностей) закінчується використанням чогось в API плагіна, який не входить в Android Studio, цей плагін не працюватиме. Наприклад, один із написаних мною плагінів (який не має нічого спільного з розвитком мобільних пристроїв) зазначає на сторінці плагіна JetBrains як сумісний з Android Studio, оскільки це залежить лише від com.intellij.modules.langіcom.intellij.modules.java. Тож, хоча це може йти обома способами, більш імовірно, що (у зв'язку з тим, що IntelliJ IDEA має встановлені більше компонентів) плагін може бути сумісним лише в IntelliJ IDEA в результаті залежності від чогось, що є унікальним для цього плагіна.

Чи завжди Intellij буде відставати від випусків Android Studio, оскільки це "офіційний" інструмент Google.

Це може йти обома шляхами. JetBrains може додавати речі, які потребують часу, щоб перейти на Android Studio; і Google може додати речі, які потребують часу, щоб потрапити на IntelliJ IDEA. Найімовірніше, однак, останній буде більш поширеним. Однак я не знаю, як довго ця затримка. У цьому питанні може допомогти ця публікація в блозі JetBrians: питання щодо IntelliJ IDEA та поширені запитання щодо Android Studio

Мої особисті рекомендації полягають у наступному: Якщо ви знаєте, що займаєтесь розробкою Android, тоді перейдіть до Android Studio. Також нові розробники Android, швидше за все, знайдуть Android Studio, оскільки більшість документації та навчальних посібників покажуть це, і може виникнути незначна різниця (наприклад, де щось знаходиться в меню) в IntelliJ IDEA. Але якщо ви будете працювати в спеціальних проектах JVM, використовуючи Java, Kotlin, Groovy та / або Scala, або з іншими мовами (Python, php, html, css, JavaScript тощо) тощо) або будь-якою стороною сервера (або "підприємством" ") код - або для ваших додатків для Android, або для інших робіт, тоді перейдіть з IntelliJ IDEA.

Відредаговано 4 серпня 2018 року для деяких уточнень та доданого скріншоту.

Оновлено 25 листопада 2019 року для додавання нової інформації.


32
Я здивований, що Google не просто створив плагіни Intellij для роботи з версією спільноти, щоб вони були на 100% сумісні. Я здогадуюсь, що це про брендинг :)
peterk

дякую за посилання на блог Intelli. Це, звичайно, не вискочило на жодному з пошукових запитів.
peterk

Ах, так, напрошується невірно досліджене питання про гніздо (яке, сподіваємось, забезпечить іншій душі гарну стислу відповідь :) Тобто: який набір плагінів необхідний, щоб забезпечити еквівалентний набір функцій в Intellij до того, що поставляється заздалегідь в комплекті з Android Studio: )
peterk

2
Чудова відповідь - нарешті прояснив, на який інструмент вкласти свої ресурси (час і гроші) - як соло (незалежний) розробник. Такі відповіді - це лише одна з багатьох причин, які я так люблю !
SilSur

3
Ну, Android Studio має підтримку C ++, Intellij IDEA Ultimate - ні.
Заффі

0

Для розробки Android вам краще всього скористатися Android Studio (тепер доступний попередній перегляд 1.3).

Оскільки Android Studio базується в Intellij, ваша "крива навчання" не повинна бути проблемою.

Для використання "загальних ресурсів", я припускаю, що ви посилаєтесь на код ... і це має бути у сховищі (git / github / ...).


Звичайно, всі загальні ресурси та сам проект програми знаходяться у контролі джерел, і ми використовуємо git :)
peterk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.