Google IO 2018: Android has a Jetpack
One of the biggest announcements for Android developers from Google IO 2018 was the announcement of Android Jetpack. Android Jetpack is a collection of libraries and guidelines for developing Android applications. Most of these libraries we have seen before, including the Architecture Components released last year at Google IO. Some, are the newly refactored Support libraries, which have been renamed AndroidX.
What’s New In Android Jetpack?
Even though many components of Android Jetpack have been a part of the ecosystem for a while, there are a lot of new things that have come with this bundling. One of the major efforts that in the long term I am hopeful will help Android app development is the consolidations of the numerous methods to do the same thing in Android. This has the added benefit of giving Google the opportunity to simplify and fix a lot of the issues that have plagued developers in the past, like with the many issues around Fragments.
In addition to the refactor work, Google has provided a few new libraries with Jetpack, including WorkManager, Paging, and Navigation. Each of these solves, or simplifies, problems that face Android developers, like long running asynchronous tasks, loading a subset of a large dataset into a RecyclerView, or handling the navigation backstack (not just for Fragments!).
Why Should I Care?
On the surface, each of the components of Jetpack may not seem that impressive. Each of the libraries are designed in a manner that you do not have to use all of them, you can pick and choose what you use. Some of them, like Navigation, have been created in a way that isn’t coupled to Fragments, meaning that you could incorporate the Navigation component while still using another library, like Conductor.
Like Architecture Components, Google has taken the next step in providing some possible guiding principles. Even though the guidance of Jetpack is shown as optional and states that we should still follow whatever patterns we want, these guidelines will be some of the first guidelines that new Android developers will see. This will mean that most junior level developers will be coming in with the knowledge of these guidelines.
When creating our apps, maintainability and onboarding new members should be among our concerns when deciding what libraries and patterns to be adopting. The adoption of a subset of these libraries and guidelines will accelerate the timeline for new developers to be brought up to speed and start making meaningful contributions to your project.
Where Do We Go From Here?
Right now Android Jetpack is in an alpha state, so I highly encourage every Android developer, from those just looking into the platform for the first time to those who have been working with it for 10 years, to take a look over Android Jetpack, learn from it, and provide feedback to Google. Google is listening more than ever and wanting our feedback. We have a great opportunity right now in shaping the future of our platform and shouldn’t squander it.