Ну что ж, вот и мы снова. Выпущена Android Studio 3.2 с новыми функциями для поддержки устройств Android. Иногда кажется, что команда Android Studio забыла, что у Android Studio есть пользователи, или, возможно, они вообще этого не осознавали.
Было время, когда новая версия Android Studio была настоящим праздником. Теперь я почти боюсь обновиться. Прошли годы, а не месяцы с тех пор, как я обновился, не потратив 20 минут или больше на исправление сломанных зависимостей или того хуже. Gradle стал большим проклятием и загадкой в жизни многих программистов Android. Кто на самом деле знает, что он делает, и идет дальше простого повторения магических заклинаний, чтобы скопировать ту или иную строку в один из множества возможных файлов Gradle в проекте?
Некоторые пользователи утверждают, что все это просто работает, но это не мой опыт. И еще есть основная постоянная жалоба — это медленно и, несмотря на все усилия команды разработчиков, хотя и лучше, чем раньше, все же медленно. Если вы не используете быструю машину и не менее 16 ГБ ОЗУ, вы обнаружите, что она неработоспособна.
Это было бы не так уж плохо, но Android Studio — это рекомендуемый способ разработки приложений для Android при поддержке Google — конечно, он может работать лучше? Я действительно верю, что Android теряет разработчиков на Kotlin и Java в пользу альтернатив из-за Android Studio.
Возможно, причина сложностей в том, что Android Studio находится в состоянии постоянной революции. Быть революционером — это нормально, когда вы укрепили свои основы, но мы снова и снова бросаем на нас незавершенные новые технологии. То, как пользователей Android Studio принуждают использовать новые функции, почти заставляет меня думать о Microsoft. Зачем относить относительную компоновку к категории унаследованных, если не каждый разработчик Android убежден в компоновке ограничений? Насколько я понимаю, и это в моем качестве автора четырех изданий книги, посвященной Android Studio, она чудовищно сложна и раздута, просто работает и очень медленно используется.
Возможно, последней каплей для меня является то, что в этой новой версии в палитре инструментов отсутствуют те же виджеты, что и в предыдущем обновлении. Люди, в том числе я, отправляли отчеты об ошибках и задавали вопросы о переполнении стека, но были встречены полным молчанием. Это простая проблема, и все же отчеты об ошибках все еще не назначены — отсюда общий совет, не беспокойтесь о заполнении отчетов об ошибках.
Так какую же последнюю революцию мы должны пережить?
Вы можете подумать, что это будет Android Pie, но программисты Android привыкли к безжалостному маршу Android и его все более тесным связям с сервисами Play, поэтому давайте не будем об этом говорить. Новинка — это App Bundle, новый формат публикации. Каковы преимущества? Он меньше, и Play Store генерирует фактический APK для конечного пользователя, настроенного для его устройства. Недостатки? Поскольку только магазин Play принимает пакеты App Bundle, мы только что были ограничены только этим немного большим. Вы по-прежнему можете создавать свои собственные APK, но рекомендации изменились.
Еще одна особенность заголовка, которая может понадобиться не каждому разработчику Android, — это срезы. Это способ вывести ваше приложение в результаты поиска Google, чтобы продемонстрировать его возможности. Погодите — чьи результаты поиска — о да, конечно, Google. Я чувствую здесь тему.
Эмулятор был улучшен — и я не могу винить в этом. Теперь он может работать с Windows под HyperV и имеет функцию моментальных снимков. Это все еще не самая быстрая вещь, но она намного лучше, чем была раньше. Продолжайте работать над эмулятором — этот победитель.
Еще одна новая функция заголовка, хотя она и не нова, — это JetPack. Это набор библиотек, которые вы можете использовать независимо от версии ОС. Отличная идея — позор, на то, чтобы придумать так долго. Или это так? Разве это не просто библиотека совместимости, как было / есть. Когда-то нам сказали использовать библиотеку совместимости только тогда, когда это необходимо. Затем появились фрагменты, и библиотека совместимости реализовала их лучше, чем ОС, и стала стандартом. Отсюда вниз по склону до JetPack. Только теперь у нас есть не одна библиотека, а набор разных вещей в разных категориях. Хотите использовать привязку данных? Это ж где-то в JetPack. Хотите использовать фрагменты? Что ж, они все еще там вместе с эмодзи и макетами.
Кто знает, что еще лучше всего подходит для Android? Единственное, в чем мы все можем быть уверены, — это то, что все наши старые приложения, созданные даже полгода назад, вероятно, унаследованы.
Есть много небольших или нишевых улучшений — оптимизатор энергии будет полезен, если вы находитесь на завершающей стадии создания чего-либо. Вот список, приведенный в примечаниях к выпуску, на случай, если я пропустил что-то, что может быть важно для вас:
Развивать
Образец рефакторинга AndroidX Обновление дизайна материалов Фрагменты Android Редактирование CMakeList Что нового Помощник Новые проверки Lint Обновление платформы Intellij Обновление Kotlin
Строить
Пакет Android App Bundle D8 Desugaring R8 Optimizer
Тестовое задание
Снимки экрана эмулятора Android Запись экрана в эмуляторе Android Виртуальная сцена Android-эмулятор Камера Поддержка процессора AMD Поддержка Hyper-V Помощник подключения ADB
Оптимизировать
Профилировщик энергии Сеансы профилировщика трассировки Автоматическая запись ЦП Отслеживание ссылок JNI
Суть в том, что лес Android вырос настолько, что вы не только больше не видите деревья, но и видите только сорняки. Если вы обратитесь к документации, вы обычно не можете определить, что является наилучшей практикой, и вполне возможно потратить месяцы, работая над реализацией чего-либо, только чтобы обнаружить, что существует совершенно другой способ сделать это, и теперь это единственный способ сделать это. . Что касается материального дизайна — кто-нибудь знает, о чем все темы и стили? Вы можете утонуть только в них, не беспокоясь о JetPack.
Android Studio отчаянно нуждается в перезагрузке, и команде разработчиков необходимо прислушиваться к своим пользователям.
Майк Джеймс — автор книг «Программирование Android в Kotlin: Начиная с приложения» и «Программирование Android в Java: Начиная с приложения», 3-е издание, посвященное Android Studio 3.