Что такое 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 вещей были недавно добавлены.
-
Android Ktx
Цель Android KTX - сделать разработку Android с Kotlin более кратким, приятным и идиоматичным, используя возможности языка Kotlin, такие как функции/свойства расширения, lambdas, именованные параметры и значения по умолчанию для параметра
-
навигация
Компонент архитектуры навигации упрощает реализацию навигации в приложении для Android. Это связано с реализацией четкого потока в вашем приложении. Здесь в этом видео вы можете найти очень хорошее объяснение по этой теме.
-
Paging
Пейджинговая библиотека упрощает загрузку данных постепенно и изящно в вашем приложении RecyclerView. Вот сообщение I/O от Yigit Boyar, это очень хорошо объяснено им.
-
Ломтики
Слайсы - это шаблоны пользовательского интерфейса, которые могут отображать богатый, динамический и интерактивный контент из вашего приложения из приложения Google Поиск, а затем в других местах, например, в помощнике Google. Ломтики могут помочь пользователям быстрее выполнять задачи, разрешая взаимодействие за пределами полноэкранного приложения. Вы можете создавать фрагменты как дополнения к действиям приложений. Узнайте больше об этом разговоре
-
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. Он обеспечивает общий код инфраструктуры, поэтому вы можете сосредоточиться на том, что делает ваше приложение уникальным.
Ответ 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 вещи
- Итак, все библиотеки, входящие в Jetpack, не зависят друг от друга. Вы можете обновить любую конкретную библиотеку, не обновляя при этом другие. Вы помните эти предупреждения,
Эти разочаровывающие сообщения "Все библиотеки com.android.support должны использовать одну и ту же версию спецификации" должны уйти в прошлое.
Но это когда вы используете библиотеки Androidx и не поддерживаете их.
- Теперь все эти библиотеки, входящие в состав Jetpack, выполняют много стандартного кода, поэтому вам не нужно писать много кода и просто беспокоиться о логике. Ex - Помните, как обрабатывать поворот экрана? (ViewModel позаботится об этом), Обработка бесконечной прокрутки с помощью нумерации страниц? (теперь у вас есть пейджинговая библиотека для этого), обработка кнопок "назад" (навигационная библиотека для вас) (только некоторые из них)
Есть и другие причины, чтобы выпускать JetPack отдельно, давайте обсудим это тоже.
Первоначально имя каждого пакета указывало минимальный уровень API, поддерживаемый этим пакетом, например, support-v4. Однако версия 26.0.0 библиотеки поддержки увеличила минимальный API до 14, поэтому сегодня многие имена пакетов не имеют ничего общего с минимальным поддерживаемым уровнем API. Когда оба пакета support-v4 и support-v7 имеют минимальный API-интерфейс 14, легко понять, почему люди путаются! Так что теперь с AndroidX эта путаница исчезает.
В соответствии с действующим соглашением об именах (поддерживаемых) также не ясно, какие пакеты связаны с операционной системой Android, а какие - с вашими приложениями APK (Android Package Kit). Чтобы устранить эту путаницу, все разделенные библиотеки будут перемещены в пространство имен AndroidXs androidx. *, А иерархия пакетов android. * Будет зарезервирована для пакетов, которые поставляются с операционной системой Android. Проще говоря, теперь, android. * Будет зарезервировано для пакетов, связанных с операционной системой Android, поэтому эти пакеты в любом случае будут начинаться с android. * Имя пакета WHILE androidx. * Теперь будет зарезервировано для вещей, связанных с разработкой приложений.
Помимо этого у вас есть:
- Архитектурный компонент
- Основополагающий компонент
- Пользовательский интерфейс
- Компонент поведения
Так что теперь Jetpack - это не что иное, как название, данное надмножеству этих компонентов, androidx и других инструментов.