Что такое Android Jetpack?

Я видел основную информацию о разработчике Google I/O 2018, и я прочитал домашнюю страницу jetpack на веб-сайте разработчика Android, но я не могу понять, что это на самом деле. Для меня это похоже только на новое имя для набора API, которые мы уже используем. Будет ли что-то, что IDE делает для нас или что-то полезное при кодировании? Все компоненты Jetpack указывают на их оригинальную документацию на Android, и на самом деле не демонстрируют никакой разницы, чем раньше. Может ли кто-нибудь объяснить в простых терминах, что Jetpack на самом деле делает для меня как разработчика, кроме клубной документации на веб-странице?

Ответ 1

На официальном сайте говорится:

Android Jetpack - это набор библиотек, инструментов и архитектурных руководств, которые помогут быстро и просто создавать отличные приложения для Android. Он обеспечивает общий код инфраструктуры, поэтому вы можете сосредоточиться на том, что делает ваше приложение уникальным

Технически это библиотека поддержки, android-ktx и компоненты Android Architecture, заново заклейменные как единый модульный "объект".

Вот почему все библиотеки расширения, отличные от Android, такие как поддержка и т.д., Повторно упаковываются в androidx.**.

Цитата из Alan Viverette (из группы Android Framework):

Jetpack - это более масштабное усилие для улучшения опыта разработчиков, но AndroidX формирует техническую основу. С технической точки зрения, это все те же библиотеки, которые вы видели в разделе "Поддержка библиотеки и компонентов архитектуры".

По мере изменения лучших практик вы также можете увидеть библиотеки в пакете androidx. *, Которые не включены в Jetpack.

См. Https://developer.android.com/topic/libraries/support-library/refactor для получения дополнительной информации.

Ответ 2

В основном это всего лишь набор полезных вещей, объединенных и отсортированных под 4 категории

Фонд

Архитектура

Поведение

UI

Некоторые из основных вещей, таких как библиотека AppCompat, компоненты архитектуры, фрагменты, анимация и переходы и многие другие, теперь были добавлены в относительные категории, и эти 5 вещей были недавно добавлены.

  1. Android Ktx

    Цель Android KTX - сделать разработку Android с Kotlin более кратким, приятным и идиоматичным, используя возможности языка Kotlin, такие как функции/свойства расширения, lambdas, именованные параметры и значения по умолчанию для параметра

  2. навигация

    Компонент архитектуры навигации упрощает реализацию навигации в приложении для Android. Это связано с реализацией четкого потока в вашем приложении. Здесь в этом видео вы можете найти очень хорошее объяснение по этой теме.

  3. Paging

    Пейджинговая библиотека упрощает загрузку данных постепенно и изящно в вашем приложении RecyclerView. Вот сообщение I/O от Yigit Boyar, это очень хорошо объяснено им.

  4. Ломтики

    Слайсы - это шаблоны пользовательского интерфейса, которые могут отображать богатый, динамический и интерактивный контент из вашего приложения из приложения Google Поиск, а затем в других местах, например, в помощнике Google. Ломтики могут помочь пользователям быстрее выполнять задачи, разрешая взаимодействие за пределами полноэкранного приложения. Вы можете создавать фрагменты как дополнения к действиям приложений. Узнайте больше об этом разговоре

  5. WorkManager [Я лично рекомендую вам проверить это)

    Графически планировать задачи можно с помощью WorkManager. API WorkManager упрощает определение отложенных, асинхронных задач и их запуск. Эти API позволяют создавать задачу и передавать ее WorkManager для запуска сразу или в соответствующее время. Это видео объясняет это подробно.

    Я создал плейлист Здесь. Он состоит из всех лучших видеороликов, связанных с Jetpack, надеюсь, это поможет.

Ответ 3

Из блога:

Android Jetpack - это новое поколение компонентов Android, объединяющее преимущества библиотеки поддержки - обратная совместимость и немедленные обновления - для большего набора компонентов, что позволяет быстро и легко создавать надежные и высококачественные приложения. Android Jetpack управляет такими действиями, как фоновые задачи, навигация и управление жизненным циклом, поэтому вы можете исключить шаблонный код и сосредоточиться на том, что делает ваше приложение отличным. Android Jetpack разработан, чтобы хорошо работать с Kotlin, сохраняя вам еще больше кода с Android KTX. Новые компоненты Android Jetpack, выпущенные сегодня, включают WorkManager, Paging, Navigation и Slices.

Из официального документа:

Android Jetpack - это набор библиотек, инструментов для разработчиков и архитектурных руководств, которые помогут быстро и просто создавать отличные приложения для Android. Он обеспечивает общий код инфраструктуры, поэтому вы можете сосредоточиться на том, что делает ваше приложение уникальным.

enter image description here

Ответ 4

Android Jetpack - это набор программных компонентов Android, который помогает нам создавать великолепные приложения для Android.

Эти программные компоненты помогают в:

  • Следуя лучшим рекомендациям и написав шаблонный код.
  • Делать сложные вещи очень просто.

Ранее было много проблем, которые заключаются в следующем:

  • Управление жизненными циклами активности.
  • Выжившие изменения конфигурации.
  • Предотвращение утечек памяти.

Все эти основные проблемы были решены программными компонентами Android Jetpack.

Итак, решение всех проблем - Andriod Jetpack.

Еще одна важная вещь о Jetpack заключается в том, что он обновляется чаще, чем платформа Android, поэтому мы всегда получаем самую последнюю версию.

Jetpack включает библиотеки пакетов androidx. *, Отделенные от API платформы. Это означает, что он предлагает обратную совместимость.

Компоненты Android Jetpack

Компоненты Android Jetpack - это набор библиотек, которые могут быть адаптированы индивидуально и созданы для совместной работы с использованием возможностей языка Kotlin, которые делают нас более продуктивными.

Эти программные компоненты распределены по четырем категориям:

  • Основные компоненты
  • Компоненты архитектуры
  • Компоненты поведения
  • Компоненты пользовательского интерфейса

Давайте посмотрим один за другим.

Основные компоненты

Фундаментные компоненты обеспечивают следующее:

  • Обратная совместимость
  • Тестирование
  • Поддержка языка Kotlin.

Все основные компоненты следующие:

  • App Compat
  • Android KTX
  • Multidex
  • Тест

Компоненты архитектуры

Компоненты архитектуры помогают нам в строительстве:

  • Надежные приложения
  • Тестируемые приложения
  • Поддерживаемые приложения

Все компоненты архитектуры следующие:

  • Привязка данных
  • Жизненные циклы
  • LiveData
  • Навигация
  • Paging
  • номерViewModel
  • WorkManager

Компоненты поведения

Компоненты поведения помогают в интеграции со стандартными службами Android, такими как

  • Уведомления
  • права доступа
  • Обмен
  • Помощник

Все компоненты поведения следующие:

  • Менеджер загрузок
  • Медиа & воспроизведение
  • Уведомления
  • права доступа
  • Предпочтения
  • Обмен
  • Ломтики

Компоненты пользовательского интерфейса

Компоненты пользовательского интерфейса предоставляют виджеты и помощники, которые делают ваше приложение не только простым, но и восхитительным в использовании.

Все компоненты пользовательского интерфейса выглядят следующим образом:

  • Анимация и переходы
  • Авто
  • Emoji
  • Фрагмент
  • Компоновка
  • Палитра
  • TV
  • Носите

Справочная статья

Ответ 5

Поскольку мы все цитируем официальный сайт и там написано:

Android Jetpack предоставляет набор разделенных библиотек, не привязанных к какой-либо конкретной версии Android, что дает разработчикам возможность поддерживать более новые функции в более старых версиях операционной системы Android. В дополнение к обратной совместимости, Jetpack обещает помочь вам сделать больше с меньшим количеством кода, предоставляя шаблон для решения повторяющихся задач, таких как управление жизненным циклом приложения.

Так что теперь давайте разбить это на кусочки, это просто говорит 2 вещи

  1. Итак, все библиотеки, входящие в Jetpack, не зависят друг от друга. Вы можете обновить любую конкретную библиотеку, не обновляя при этом другие. Вы помните эти предупреждения,

Эти разочаровывающие сообщения "Все библиотеки com.android.support должны использовать одну и ту же версию спецификации" должны уйти в прошлое.

Но это когда вы используете библиотеки Androidx и не поддерживаете их.

  1. Теперь все эти библиотеки, входящие в состав Jetpack, выполняют много стандартного кода, поэтому вам не нужно писать много кода и просто беспокоиться о логике. Ex - Помните, как обрабатывать поворот экрана? (ViewModel позаботится об этом), Обработка бесконечной прокрутки с помощью нумерации страниц? (теперь у вас есть пейджинговая библиотека для этого), обработка кнопок "назад" (навигационная библиотека для вас) (только некоторые из них)

Есть и другие причины, чтобы выпускать JetPack отдельно, давайте обсудим это тоже.

  1. Первоначально имя каждого пакета указывало минимальный уровень API, поддерживаемый этим пакетом, например, support-v4. Однако версия 26.0.0 библиотеки поддержки увеличила минимальный API до 14, поэтому сегодня многие имена пакетов не имеют ничего общего с минимальным поддерживаемым уровнем API. Когда оба пакета support-v4 и support-v7 имеют минимальный API-интерфейс 14, легко понять, почему люди путаются! Так что теперь с AndroidX эта путаница исчезает.

  2. В соответствии с действующим соглашением об именах (поддерживаемых) также не ясно, какие пакеты связаны с операционной системой Android, а какие - с вашими приложениями APK (Android Package Kit). Чтобы устранить эту путаницу, все разделенные библиотеки будут перемещены в пространство имен AndroidXs androidx. *, А иерархия пакетов android. * Будет зарезервирована для пакетов, которые поставляются с операционной системой Android. Проще говоря, теперь, android. * Будет зарезервировано для пакетов, связанных с операционной системой Android, поэтому эти пакеты в любом случае будут начинаться с android. * Имя пакета WHILE androidx. * Теперь будет зарезервировано для вещей, связанных с разработкой приложений.

  3. Помимо этого у вас есть:

    • Архитектурный компонент
    • Основополагающий компонент
    • Пользовательский интерфейс
    • Компонент поведения

Так что теперь Jetpack - это не что иное, как название, данное надмножеству этих компонентов, androidx и других инструментов.