Hello Jetpack, my new friend... An Android Jetpack Introduction

(By Santiago Cortés-Fernández)


As defined on the Android Developers website,

Jetpack is a collection of Android software components to make it easier for you to develop great Android apps. These components help you follow best practices, free you from writing boilerplate code, and simplify complex tasks, so you can focus on the code you care about (Android Developers).

In other words, Android Jetpack is a collection of software components that were realesed in 2018 as a way to facilitate the development of Android applications. For example, as it was said in the previous section, Android apps can now be easily implemented using the MVVM architectural pattern thanks to the Jetpack components. In addition to this, Jetpack also counts with some other package libraries that aim to help developers to reduce boilerplate code, accelerate the development of apps, take advantage of Kotlin language, amonst some other very interesting functionalities.

Furthermore, as the image below depicts it, there are four current components that constitute Android Jetpack for developing high quality applications, with their own specific purpose and features.

UI

The UI components provide widgets and helpers that aim to improve the interactions that users have with Android applications. Among these components, some of the most interesting ones, which can be very useful to facilitate the development of the project and contribute significantly to the users experience, are:

  • Animation and Transition: Used (as you imagined) for moving widgets and to create transitions between screens.

  • Fragments: Represents a behaviour or portion of the user interface, used for dynamic and flexible UI designs (and to reduce boilerplate layouts and code).

  • Layouts: Are used for creating and designing the structure of the user interface.

  • Palette: Used for designing layout themes and to apply custom colors to the elements of the app.

  • Wear OS by Google: Components created to help develop apps for Wear.

Behaviour

The Behaviour components are oriented to help developers with the integrations of standard Android services. Some of this components are:

  • Notifications: Providing a notification API that also works with Wear.

  • Permissions: Needed to request permission to access sensitive data from users (contacts, camera, multimedia, etc.).

  • Preferences: Used to create interactive settings for the user to choose (some of) the overall functionality and behaviour of an application.

  • Media & Playback: Backwards compatible APIs for media playback and routing.

Foundation

The Foundation components provide cross-cutting functionalities such as:

*AppCompat: Are support libraries which help applications developed in newer versions to work with older versions.

  • Testing: As the name says it, this components give developers a set of testing tools to verify an aplication's correctedness, funcionality, etc.

  • Kotlin Support: A set of Kotlin extensions to help with a consice and pleasant app development using the Kotlin language

Architecture

The Architecture components are used by developer to design robust, testeable and maintainable applications. Amongst all the elements that compose this Android Jetpack component, it contains all the necessary elements to implement a fully lifecycle-aware application with the MVVM architectual pattern.

Check our guide describing the main architecture components to start developing an Android application with the help of Android Jetpack.


Check the following link to learn more about Android Jetpack!

To have a better understanding of how Jetpack libraries are developed, tested, packageed, versioned and released (It could be quite helpful) check this link to learn about AndroidX

Check the Android Architecture Components guide to learn more about how to implement MVVM in Android.

Last updated