Czym różni się Android Studio od Intellij Idea z wtyczkami?


117

Mamy istniejącą bazę kodu java, w której używamy intellij idea do programowania.

Budujemy aplikację na Androida, w której będziemy udostępniać kod i inne zasoby z istniejącym kodem i bazą zasobów.

Ponieważ Android Studio wydaje się być głównie zmodyfikowaną wersją Intellij, moje pytanie brzmi: czy istnieją całkowicie specyficzne funkcje, które ma Android Studio, które są niezbędne? Niekompatybilny? "Standard"? vs społeczność Intellij Idea czy Ultimate? Czy można je stosować zamiennie z odpowiednim zestawem wtyczek?

Gdybyśmy mieli używać Intellij Idea z różnymi wtyczkami obsługującymi Androida, czy te wtyczki są takie same, jak te, które są dostarczane z Android Studio? Czy dzięki temu zestawowi wtyczek programy będą praktycznie wymienne?

(Zauważyłem, że obsługa "ant" nie jest dostępna w Android Studio. Chociaż wszystko, czego potrzebuję, to możliwość wywoływania plików wykonywalnych z IDE z zestawem wpisów konfigurowalnych w menu dla różnych poleceń - teraz używam do tego wsparcia intellij ant, ponieważ było dostępne)

Czy Intellij zawsze będzie opóźniony w wydaniu Androida Studio, ponieważ jest to „oficjalne” narzędzie Google.

Jeśli są one znacząco niekompatybilne, jaki jest najłatwiejszy sposób wykorzystania wspólnych zasobów i narzędzi między dwoma systemami?


3
Zrobiłem trochę badań, ale te pytania są częściowo tutaj, aby przebić się przez hałas. Uważam, że wiele innych pytań tego rodzaju i odpowiedzi, których udzielają ludzie, są pomocne. Często najtrudniej jest znaleźć prawdziwe odpowiedzi na proste rzeczy. Jeśli znajdę i odpowiem na swoje pytanie w jakikolwiek sposób, a ktoś inny na nie nie odpowiedział, to zrobię.
peterk

10
Nie widzę tutaj ani jednego pytania opartego na opinii. OP prosi o konkretne różnice techniczne.

Ponadto istnieje dobra odpowiedź na temat, która jest stale aktualizowana.
Ryan M

Odpowiedzi:


80

Zaktualizowana odpowiedź z listopada 2019 r

W przeszłości w Android Studio nie było funkcji, której nie było w IntelliJ IDEA z zainstalowaną wtyczką dla Androida. Jednak od momentu powstania Android Studio rozwijało się i coraz bardziej oddalało się od IntelliJ IDEA, zwłaszcza ostatnio. W Android Studio jest teraz kilka wtyczek, które nie są kompatybilne z IntelliJ IDEA. Jednym z takich przykładów jest Android APK Support, który został wydany po raz pierwszy w czerwcu 2019 r. Ponadto, istnieją pewne wtyczki oparte na Androidzie dołączone do Android Studio, których nawet nie ma na stronie wtyczek JetBrains (w tej chwili), takie jak „Android Games”, „Wsparcie Android NDK”, „App Links Assistant”, między innymi.

Dlatego w tej chwili najprawdopodobniej najlepiej jest używać Android Studio dla projektów Android i używać IntelliJ IDEA do dowolnego dodatkowego rozwoju, takiego jak aplikacje po stronie serwera.

Jak łatwo używać obu

Aplikacja JetBrains Toolbox ułatwia instalację i używanie obu IDE obok siebie. Uaktualnienie (i wycofanie, jeśli kiedykolwiek zajdzie taka potrzeba) jest również bardzo łatwe. Zestaw narzędzi nie obsługiwał Android Studio, kiedy pojawił się lata temu. A zatem wybranie jednego lub drugiego było bardziej „problemem”. Dodatkowo, korzystając z wtyczki Settings Repository Plugin (dołączonej do obu IDE), możesz łatwo zachować synchronizację ustawień pomiędzy dwoma IDE IntelliJ Platform. (Zobacz Udostępnianie ustawień poprzez repozytorium ustawień w dokumentacji IntelliJ IDEA). Dlatego między aplikacją Toolbox a wtyczką Settings Repository Plugin wygodnie (IMHO) jest po prostu używać obu.


Poprzedni (nieaktualny) formularz odpowiedzi, czerwiec 2015 r

Po pierwsze, zrzeczenie się odpowiedzialności ... Jedynie w niewielkim stopniu korzystałem z Android Studio, ponieważ całą swoją pracę wykonuję w IntelliJ IDEA. Ale jestem zapalonym użytkownikiem IntelliJ IDEA od 2003 roku.

Ponieważ Android Studio wydaje się być głównie zmodyfikowaną wersją Intellij, moje pytanie brzmi: czy istnieją całkowicie specyficzne funkcje, które ma Android Studio, które są niezbędne? Niekompatybilny? "Standard"? vs społeczność Intellij Idea czy Ultimate? Czy można je stosować zamiennie z odpowiednim zestawem wtyczek?

Szybka odpowiedź brzmi: w Android Studio nie można zrobić nic, czego nie można zrobić w IntelliJ IDEA (Community lub Ultimate) z zainstalowaną i włączoną wtyczką Androida. Oto zrzut ekranu z macierzy funkcji IntelliJ IDEA, która to podkreśla: wprowadź opis obrazu tutaj

Zasadniczo studio Android ma więcej „brandingu” dla Androida niż IntelliJ IDEA. A ponieważ jest to tylko IDE dla Androida, może być bardziej „skoncentrowane”. Jak wspomniałem, w Android Studio nie ma nic, czego nie można zrobić w Intellij IDEA. Ale odwrotnie nie jest prawdą. Jest wiele rzeczy (innych niż Android), które możesz zrobić w IntelliJ IDEA (zarówno w wersji Community, jak i Ultimate), których nie możesz zrobić w Android Studio.

Jeśli chodzi o pytanie, czy Android Studio może używać wtyczek IntelliJ IDEA, będzie to zależeć od wtyczki i komponentów (w ramach interfejsu API wtyczki IntelliJ), z których korzysta. Kiedy piszesz wtyczkę, musisz zadeklarować (w deskryptorze wtyczki), jakich zależności API używasz. Oto kilka przykładów com.intellij.modules.lang, com.intellij.modules.java, AntSupport, i Git4Idea. Możliwości są dziesiątki, jeśli nie setki - w tym inne wtyczki. Więc jeśli wtyczka (lub jedna z jej zależności) kończy się używaniem czegoś w API wtyczki, co nie jest zawarte w Android Studio, ta wtyczka nie będzie działać. Na przykład jedna wtyczka, którą napisałem (która nie ma absolutnie nic wspólnego z programowaniem mobilnym), wyświetla na stronie wtyczki JetBrains jako kompatybilną z Android Studio, ponieważ zależy tylko od com.intellij.modules.langicom.intellij.modules.java. Więc chociaż może to działać w obie strony, jest bardziej prawdopodobne, że (z powodu zainstalowania większej liczby komponentów IntelliJ IDEA) wtyczka może być kompatybilna tylko w IntelliJ IDEA w wyniku zależności od czegoś, co jest unikalne dla tej wtyczki.

Czy Intellij zawsze będzie opóźniony w wydaniu Androida Studio, ponieważ jest to „oficjalne” narzędzie Google.

Może to działać w obie strony. JetBrains może dodać rzeczy, które wymagają czasu, aby trafić do Android Studio; a Google może dodać rzeczy, które wymagają czasu, aby trafić w IntelliJ IDEA. Najprawdopodobniej jednak ta ostatnia będzie bardziej rozpowszechniona. Jednak nie wiem od ręki, jak długie jest to opóźnienie. Ten post na blogu JetBrians może w tym pomóc: IntelliJ IDEA i Android Studio FAQ

Moje osobiste zalecenia to: jeśli wiesz, że będziesz zajmować się tylko programowaniem na Androida, wybierz Android Studio. Również nowi programiści Androida prawdopodobnie uznają Android Studio za lepsze dopasowanie, ponieważ większość dokumentacji i samouczków będzie go pokazywać, a od czasu do czasu mogą występować niewielkie różnice (takie jak miejsce, w którym coś znajduje się w menu) w IntelliJ IDEA. Ale jeśli będziesz pracować w projektach dedykowanych JVM przy użyciu Java, Kotlin, Groovy i / lub Scala lub z innymi językami (Python, php, html, css, JavaScript itp.) Lub po stronie serwera (lub „enterprise ”) - albo do aplikacji na Androida, albo do innych celów, a następnie przejdź do IntelliJ IDEA.

Edytowano 4 sierpnia 2018 r. W celu uzyskania wyjaśnień i dodanego zrzutu ekranu.

Zaktualizowano 25 listopada 2019 r. W celu dodania nowych informacji.


32
Dziwię się, że Google nie wyprodukowało po prostu wtyczek intellij do pracy z edycją społecznościową, aby były w 100% kompatybilne. Myślę, że to kwestia brandingu :)
peterk

dzięki za link do bloga intelli. Z pewnością nie pojawił się w żadnym z wyszukiwań, które przeprowadziłem.
peterk

Aha, błaga gniazdo słabo zbadane pytanie (które, miejmy nadzieję, dostarczy innej duszy dobrej, zwięzłej odpowiedzi :) To znaczy: jaki zestaw wtyczek jest niezbędny, aby włączyć równoważny zestaw funkcji w intellij do tego, co jest dostarczane z Android Studio: )
peterk

2
Świetna odpowiedź - w końcu zdecydowałem, w które narzędzie zainwestować moje zasoby (czas i pieniądze) - jako samodzielny (niezależny) programista. Takie odpowiedzi to tylko jeden z wielu powodów, dla których TAK bardzo kocham !!
SilSur

3
Cóż, Android Studio obsługuje C ++, Intellij IDEA Ultimate nie.
Zaffy

0

W przypadku programowania na Androida najlepiej byłoby użyć Android Studio (wersja zapoznawcza 1.3 jest już dostępna).

Ponieważ Android Studio jest oparte na Intellij, Twoja „krzywa uczenia się” nie powinna stanowić problemu.

Zakładam, że używając „wspólnych zasobów” odnosisz się do kodu… który powinien znajdować się w repozytorium (git / github /…).


oczywiście wszystkie wspólne zasoby i sam projekt aplikacji są pod kontrolą źródła, a my używamy gita :)
peterk
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.