I've seen the developer keynote of Google I/O 2018, and I've read the jetpack homepage on Android developer website, but I cannot make sense of what it actually is. To me it seems like just a new name for a bunch of APIs we already use. Is there going to be something that the IDE does for us or something that's helpful while coding? All the components in Jetpack point to their original Android documentation, and don't actually showcase any difference than before. Can someone explain in simple terms what Jetpack actually does for me as a developer, apart from clubbing documentation on a web page?
Jetpack is a suite of libraries to help developers follow best practices, reduce boilerplate code, and write code that works consistently across Android versions and devices so that developers can focus on the code they care about.
Android Jetpack is a set of software components, libraries, tools, and guidance to help in developing robust Android applications. Launched by Google in 2018, Jetpack comprises existing android support libraries, android architecture components with an addition of the Android KTX library as a single modular entity.
The Navigation component is now integrated into Jetpack Compose via the new navigation-compose artifact which allows for composable functions to be used as destinations in your app. The Multiple Back Stacks feature has improved to make it easier to remember state.
Jetpack Compose is Kotlin exclusive. It uses features such as coroutines, and the handling of @Composable annotations is done by a Kotlin compiler. There is no way to get access to these from Java. So if your project does not support Kotlin yet, you can't use Jetpack Compose.
On its official site, it says:
Android Jetpack is a set of libraries, tools and architectural guidance to help make it quick and easy to build great Android apps. It provides common infrastructure code so you can focus on what makes your app unique
Technically, it is the support library, android-ktx and the Android Architecture Components re-branded as a single modular "entity".
This is why all non-Android extension libraries like support, etc. are re-packaged to androidx.**
.
Quote from Alan Viverette (from Android Framework Team):
Jetpack is a larger-scoped effort to improve developer experience, but AndroidX forms the technical foundation. From a technical perspective, it's still the same libraries you'd have seen under Support Library and Architecture Components.
As best practices change, you may also see libraries in the androidx.* package that are not included in Jetpack.
See https://developer.android.com/topic/libraries/support-library/refactor for more info.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With