Выбор среды разработки для платформы Android

Илья Дергунов

Илья Дергунов

Автор статьи. ИТ-специалист с 20 летним стажем, автор большого количества публикаций на профильную тематику (разработка ПО, администрирование, новостные заметки). Подробнее.

Выбираем среду разработки IDE для AndroidПроблема

Использование инструментов сборки не вызывает трудностей, но программиро­вание с помощью текстового редактора происходит слишком медленно, чтобы стать обычным способом разработки. Как выбрать интегрированную среду разработки (IDE) для использования в проектах Android: Android Studio, Eclipse или другие?

Решение

Взвесьте “плюсы” и “минусы” каждого варианта, затем бросьте жребий. Попро­буйте каждый вариант для создания проекта разумного размера.


Оглавление статьи[Показать]


 

Обсуждение

В то время как в мире MS Windows доминирует единая среда разработки, а в мире Android есть единая среда разработки, которая является официальной, в более круп­ном Java-мире есть несколько сред, заслуживающих внимания.

 

Обзор IDE Eclipse

Eclipse  - та интегрированная среда разработки созда­на IBM в первые дни языка Java, когда стало ясно, что его среда IDE Visual Age про­существует недолго (среда Visual Age была написана на языке Smalltalk, а не на Java). По моему опыту преподавания языка Java, около 80% разработчиков на языке Java используют среду Eclipse, и эта цифра остается довольно устойчивой на протяжении многих лет. Spring Tool Suite (STS) и различные среды разработки приложений ком­пании IBM основаны на Eclipse и входят в это число.

 

Обзор Android Studio / IntelliJ Idea

Android Studio - официальная интегрированная среда разработки на платформе Android, поддержива­емая компанией Google. Она основана на интегрированной среде разработки IntelliJ Idea, которая существует уже давно, но имела относительно небольшой уровень ис­пользования в сообществе Java, пока компания Google не включила в нее свой под­ключаемый модуль и не переименовала эту версию в Android Studio.

 

Обзор NetBeanse

Net Beans - эта интегрированная среда разработки была написана в небольшой компании, которую в 1999 г. приобрела компания Sun Microsystems. В свою очередь, в 2000 г. компания Sun Microsystems была приобрете­на компанией Oracle. Среда NetBeans уже давно является официальной интегриро­ванной средой разработки приложений, но ее использование затмила среда Eclipse (помните: затмение (eclipse) возникает, когда другое тело проходит перед Солнцем). Относительно немногие разработчики используют NetBeans специально для плат­формы Android, поэтому, чтобы не отвлекаться на детали, среда NetBeans в моем блоге не рассматривается.

В течение первого десятилетия существования платформы Android компания Google рекомендовала использовать интегрированную среду разработки Eclipse со своим собственным подключаемым модулем под названием Android Development

 

 Android Development Tools (ADT) и AndMore

Tools (ADT). Компания Google предлагала его и как автономный модуль (для тех, у кого уже была установлена среда Eclipse), и как пакет, интегрированный в среду Eclipse. Примерно в 2013 г. компания Google объявила о переключении на сре­ду Android Studio на базе IntelliJ. Вскоре после этого организация Eclipse Foundation объявила, что небольшая команда взяла за основу модуль Android Development Tools (ADT), поскольку он имел открытый исходный код, и объединила его с некоторыми подключаемыми модулями. Этот новый модуль называется AndMore. Среда Eclipse, дополнен­ная модулем AndMore, эквивалентна по функциям и совместима со средой Eclipse, дополненной модулем ADT, но некоторые имена в файлах проекта должны быть из­менены. Обратите внимание на то, что некоторые организации мо­гут по-прежнему использовать модуль ADT. Если вы принадлежите к этому лагерю, то можете (как правило) просто поставить имя ADT везде, где мы говорим о модуле AndMore.

 

Выбор IDE для Android

Кроме того, на выбор интегрированной среды влияют структура вашего проек­та и инструмент сборки. Среда Eclipse поддерживает одноуровневый проект, кото­рый обычно требуется для приложения, с дополнительным вторым проектом для тестирования, если вы используете официальную платформу тестирования модулей Android. Модуль ADT (и, следовательно, AndMore) не требует внешнего инструмента построения; он содержит все необходимое для создания любого типа приложений для платформы Android. Он должен содержать только два файла про­екта, которые должны храниться в системе управления версиями исходного кода: .project и .classpath. Также можно контролировать каталог файлов .settings, но он сильно меняется, поэтому его можно легко игнорировать. В среде Eclipse существует даже интерфейс прикладного программирования для манипулирования структурой проекта. Поскольку существуют только два файла, о взломе проек­та путем редактирования файлов конфигурации не может быть и речи. Кроме того, среда Eclipse хорошо поддерживается инструментом сборки Maven с использованием подключаемых модулей М2Е (Maven Eclipse) и M2E-Android (вам понадобятся оба). Однако эта настройка может быть немного причудливой.

С другой стороны, среда Android Studio использует лабиринт файлов проекта. Ниже приводится список файлов (за исключением исходного кода вашей програм­мы!) в проекте, созданном в среде Android Studio 2.0.

./.gradle/2.4/taskArtifacts/cache.properties
./.gradle/2.4/taskArtifacts/cache.properties.lock
./.gradle/2.4/taskArtifacts/fileHashes.bin
./.gradle/2.4/taskArtifacts/fileSnapshots.bin
./.gradle/2.4/taskArtifacts/outputFileStates.bin
./.gradle/2.4/taskArtifacts/taskArtifacts.bin
./.idea/.name
./.idea/compiler.xml
./.idea/copyright/profiles_settings.xml
./.idea/encodings.xml
./.idea/gradle.xml
./.idea/libraries/appcompat_v7_23_0_1.xml
./.idea/libraries/design_23_0_1.xml
./.idea/libraries/hamcrest_core_1_3.xml
./.idea/libraries/junit_4_12.xml
./.idea/libraries/support_annotations_23_0_1.xml
./.idea/libraries/support_v4_23_0_1.xml
./.idea/misc.xml
./.idea/modules.xml
./.idea/runConfigurations.xml
./.idea/workspace.xml
./build/ - ignore
./build.gradle
./gradle/wrapper/gradle-wrapper.jar
./gradle/wrapper/gradle-wrapper.properties
./gradle.properties
./gradlew
./gradlew.bat
./local.properties
./MyApplication.iml
./settings.gradle
./mainapp/.gitignore
./mainapp/build.gradle
./mainapp/mainapp.iml
./mainapp/proguard-rules.pro

Похоже, что среда Android Studio предлагает около 30 файлов, чтобы сделать то, что делает среда Eclipse с помощью всего лишь нескольких файлов. По общему при­знанию, не все из них должны храниться под контролем источника, но какие имен­но? Чтобы ответить на этот вопрос, загляните в файл .gitignore в проекте, созда­ваемом в среде Android Studio 2.x; в нем перечислены файлы, которые не должны включаться в систему управления версиями исходного кода.

Среда Android Studio также ожидает, что каждый проект имеет дополнительный уровень структуры каталогов, называемый арр (от слова application (приложение)), для обслуживания относительно немногочисленных приложений, которые имеют несколько модулей, таких как библиотеки. В среде Eclipse вы просто заставляете проект использовать библиотеку. Дополнительная структура каталогов, помещенная в пути имен экземпляров Studio, означает, что каталог, в котором создается проект Studio, не соответствует старой структуре проекта Maven и что вы не можете исполь­зовать старую знакомую команду grep -r шаблон имя_проекта /src. Вы должны помнить, что каждый раз нужно дополнительно набирать строку арр/. Это кажется безобидным, но раздражающим недостатком. Конечно, люди, которые часто исполь­зуют несколько проектов, но забывают создавать их по-отдельности, начиная работу, будут ценить то, что среда Studio делает что-то за них.

Следует также учитывать скорость. Обе среды обеспечивают довольно быст­рый ввод кода. Поскольку среда Studio не является самодостаточной интегрирован­ной средой разработки, а зависит от системы сборки Gradle, она работает намно­го медленнее, но ожидается, что версия Studio 2.x будет значительно улучшена в этом отношении. У разных людей разные идеи о том, как измерять скорость (были опубликованы разные результаты), поэтому целесообразно изучить эту проблему самостоятельно на соответствующем аппаратном обеспечении.

Среда Eclipse предоставляет одно окно Package Explorer (Проводник пакетов) на ос­нове дерева, поэтому вы можете легко перемещать, копировать или сравнивать фай­лы из разных проектов. Среды IntelliJ и Studio открывают каждый проект в новом окне и по умолчанию закрывают предыдущий.

Таким образом, между ними есть много различий, но также и много очевидных сходств. Это похоже на покупку автомобиля: автомобили делают компании GM, Ford, Chrysler, Tesla, BMW, Toyota и многие другие, но вам нужно выбрать один. Тем не менее выбор среды IDE не такой уж и исключительный. Что, если вам понравятся обе среды? Вы можете использовать Eclipse для обычной работы на языке Java и IntelliJ / Android Studio для работы на платформе Android, особенно если вам нужна современная поддержка Android, хотя переключение туда и обратно может быть утомительным. Можно даже настроить ваши проекты на платформу Android и открыть в обеих средах IDE — мы сделали это для большинства проектов в ре­позитории примеров. Однако мы не рекомендуем данное мероприятие в качестве общей практики.

Кстати, если вы запустите обе среды, обязательно настройте их для совместно­го использования одной и той же папки SDK — реальных инструментов платформы Android, библиотек и образов эмулятора, — тогда вам не придется обновлять все дважды.

В качестве еще одного способа для опытного пользователя Eclipse можно работать в среде Android Studio, используя при этом комбинации клавиш, которые заставят эту среду работать как Eclipse, хотя многие из параметров комбинаций клавиш там не совсем правильные, и вам придется немного поиграть с ними. И если вы это сде­лаете, а другой разработчик в вашей команде окажется пользователем среды Studio или базовой среды IntelliJ, то вы оба проиграете при парном программировании.

 

Заключение

Если вам нужна лучшая поддержка новых функций, то среда Android Studio мо­жет быть лучшим выбором. Если вы хотите, чтобы среда IDE широко использовалась в сообществе Java, то лучшим выбором может быть Eclipse. Правильного и быстрого ответа на этот вопрос нет.

 

Вас заинтересует / Intresting for you:

Настройка Eclipse с помощью An...
Настройка Eclipse с помощью An... 2858 просмотров Боба Sat, 17 Nov 2018, 05:53:44
Преобразование проекта Eclipse...
Преобразование проекта Eclipse... 2135 просмотров Андрей Волков Wed, 07 Nov 2018, 10:53:54
Работа над Android-приложением...
Работа над Android-приложением... 2172 просмотров Боба Wed, 14 Nov 2018, 15:37:25
Версии платформы Android
Версии платформы Android 2509 просмотров Илья Дергунов Sun, 04 Nov 2018, 14:44:59
Печать
Войдите чтобы комментировать

iSvetik аватар
iSvetik ответил в теме #10864 1 год 3 мес. назад
Я тоже предпочитаю IDE Eclipse
VaaPa аватар
VaaPa ответил в теме #10304 2 года 4 мес. назад
Я за Eclipse IDE!