Can't figure out the hierarchy of AndroidX and Jetpack - android

I have been studying Android for two years, and now I am completely confused about the hierarchy of AndroidX libraries.
To be more concrete: We have AndroidX, Jetpack and Jetpack Compose libraries.
How are they related?
In Jetpack Compose, I've seen packages from AndroidX and vice versa.

androidx is a namespace that include the Android Jetpack libraries, and Compose is just one of them.
The first line of AndroidX Overview docs :
The androidx namespace comprises the Android Jetpack libraries.
And when you use a compose dependency you can see the namespace, e.g. androidx.compose.foundation:foundation.

Related

How to do Jetpack Compose Navigation for dynamic feature modules?

Working on Jetpack Compose Navigation with multi module application. Using Kotlin DSL.
We have dynamic feature modules DFM1, DFM2, DFM3.
How to setup navigation graph and navigate between dynamic feature modules.

How to use TapTargetView with Jetpack compose

In my current project https://github.com/KeepSafe/TapTargetView is used to showcase a tutorial for new user. I am planning to convert my project in Jetpack compose. How this library can be used in Composables? Is there any similar library for Jetpack Compose only?
Better raise an issue in the GitHub repository so the library maintainers can decide to make compose version of the library
There is a way to use existing layouts in compose using AndroidView but I'm not sure about how perfect it will be for this library.
I know I'm late to the party but there's this library inspired by TapTargetView and it's made for Compose: Intro Showcase View which is really similar to the original one. Hope others may find this useful.

AndroidX and Android Jetpack

As per my knowledge Androidx is itself a library, and android jetpack is a set of libraries. Does androidx is a library in Android jetpack ? Iam little bit confused about androidx and android jetpack. Can anyone explain me clearly
As per the AndroidX FAQ doc:
How are androidx and AndroidX related to Jetpack?
They are all the same thing! In a sentence, androidx is the packaging and AndroidX is the development workflow for all components in Jetpack. Jetpack is the external branding for libraries within androidx.
In more detail, Jetpack is the external branding for the set of components, tools, and guidance that improve the developer experience on Android. AndroidX is the open-source development project that defines the workflow, versioning, and release policies for ALL libraries included in Jetpack. All libraries within the androidx Java package follow a consistent set of API design guidelines, conform to SemVer and alpha/beta revision cycles, and use the Android issue tracker for bugs and feature requests.
androidx.* has been replacing the old android.support.* and android.arch.* set of libraries.
It also includes support to all the older libraries (except for the deprecated one, of course).
Android Jetpack is a suite of tools developed by Google to write applications that follow certain standards as well as ease the job of developers like us.
Part of the Android Jetpack "universe" is Room (a library that facilitates the writing of an SQL database), DataStore (currently still in beta, but soon it will replace SharedPreference for the persistence of settings when for example we set Dark mode in the app, we close it, and we expect to still have Dark mode ON when we open it back), LiveData (for asynchronous data stream), ......and others.
All this goes hand in hand with the continuous development of the Kotlin language and the never-ending usefulness of COROUTINES, just to mention one.
I hope this overview was of use to the readers.

Android Jetpack Compose Documentation

I'm trying to find the official Android Compose documentation, but I can't find it.
I'm looking for something like the Flutter docs.
What I need is to know the properties of the components and how to use them, something like the Flutter documentation.
The Jetpack Compose documentation can be found at https://developer.android.com/jetpack/compose
The documentation for all the classes is here and you can find a list of packages here.
Since you mention components and how to use them, the functions in the material library are probably most relevant to you. There's also a tutorial that demonstrates some basic usage.

Material Design Components Site

Today I was Googling for "material design components" I ended up at this site:
https://material.io/components/
As I remember, I've never seen it before.
In the Android section there are instruction to use the components and ok, it seems to be the well-known Android Design Support Library:
But what intrigues me is that there are components there that are not in the design library, such as:
Back Layer Layout, Material Card and Material Button.
The docs for these classes seems to be not ready yet and the links points to nowhere, like: material button doc.
There is something in the github site.
Sorry for ignorance, but what is the purpose of this site? Is it something future or something left behind?
The Android Design Support Library was the precursor of the Material Design Components. As of the Support Library 28.0.0-alpha1 release, the Design Library now contains all of the new components introduced in the Material Design Components:
We’ve introduced a new application theme, Theme.MaterialComponents, with new attributes and updated styles for components.
We’ve added the following components:
BottomAppBar
Chip
ChipGroup
MaterialButton
MaterialCardView
While the 28.0.0-alpha1 release does contain all of the new classes, the documentation on developer.android.com does not yet contain the updates from the Design Library (keeping the docs effectively on what was publically available previously), but they are definitely there if you use that dependency.
The support libraries are now available through Google's Maven repository. We no longer support downloading the libraries through the SDK Manager, and that functionality will be removed soon..
as the Support Library Setup says. And this repository and material library within it will be offical to use.
Latest dependencies to use material components is:
com.google.android.material:material:1.0.0-alpha1
Getting started with Material Components for Android will help you to setup your project.

Categories

Resources