DEV Community

Cover image for 10 new Android Libraries And Projects To Inspire You In 2022
Michal Bialas
Michal Bialas

Posted on • Originally published at Medium

10 new Android Libraries And Projects To Inspire You In 2022

This is my new compilation of really inspirational, worthy to check, promising Android projects and libraries released or heavily refreshed in 2022.

I have listed projects written in Kotlin and Jetpack Compose in an unordered list so if you are eager to learn new things, check them all!


1. Maestro

This is huge! Maestro presents a fresh approach to UI tests build on experience from Appium, Espresso, UIAutomator, and XCTest.

It is built for both platforms (operates on emulators / simulators and physical devices, both) and uses yaml language to create a test flow.

You can find a sample test flow below.

Maestro-yaml

The project is really well documented and has low learning curve.

100% recommendation! You can learn more about it from an article Introducing: Maestro — Painless Mobile UI Automation.

License: Apache-2.0


2. Page Curl

This is a Jetpack Compose library for creating turning pages effect. Looks really cool!

Page Curl

Docs are pretty sufficient to quickly include the lib to your project.

Most likely it isn’t for your production code, but for some side project for sure!

License: Apache-2.0


3. Redwood

This is a library which could be a game changer in building reactive Android, iOS, and web UIs using Kotlin. Delivered by CashApp Development Team. What is Redwood?

Redwood integrates the Compose compiler, a design system, and a set of platform-specific displays. Each Redwood project is implemented in three parts:

  • A design system. Redwood includes a sample design system called ‘Sunspot’. Most applications should customize this to match their product needs.

  • Displays for UI platforms. The display draws the pixels of the design system on-screen. Displays can be implemented for any UI platform. Redwood includes sample displays for Sunspot for Android, iOS, and web.

  • Composable Functions. This is client logic that accepts application state and returns elements of the design system. These have similar responsibilities to presenters in an MVP system.

Btw, this is still in heavy development process, so be careful ☠️.

License: Apache-2.0


4. Compose Shimmer

This is a library which enables a shimmer effect for Android Jetpack Compose apps.

Image description

This effect was developed in order to create a shimmering effect that traverses the whole screen, highlighting only a certain subset of child views.

The library offers also quite advanced theming and usage, which you can check in the comprehensive docs.

License: Apache-2.0


5. Appyx

This is a model-driven navigation for Jetpack Compose from Bumble Engineering Team.

Image description

Using this lib you can:

- Navigate directly from code — In a type-safe way, without boilerplate

- Gain control of navigation state — Making your navigation unit-testable

- Complete control over operations and behaviour — Use and extend the back stack or the view pager from the library, or build your own

- Your own navigation — With Appyx, you can define your own navigation models

- Use any animation for transitions — Anything you can represent with Compose Modifiers

Using a model-driven approach, navigation states are yours to define — Appyx makes it happen with any animation you can represent using Compose Modifiers.

The best way to learn about this cool approach is to check docs and a demo app in the project.

License: Apache-2.0


6. Twitter’s Jetpack Compose Rules

You probably know that Twitter’s engineering team heavily refactors theirs codebase to adopt Jetpack Compose. But when a big team with a large codebase start working on a challenging task like migrating to Compose, not everybody can be on the same page and follow all the rules.

If you use static analysis tools, these rules will come to the rescue and help to adopt Jetpack Compose to your project.

You can use them with:

License: Apache-2.0


7. Pokedex

Despite the fact I wrote about this project in 2020 on Medium in The 25 Best Android Libraries and Projects of 2020 — Summer Edition, it is still up-to-date and worthy to mention project. It is developed by Jaewoong Eum.

Image description

Pokedex demonstrates modern Android development with Hilt, Coroutines, Flow, Jetpack (Room, ViewModel), and Material Design based on MVVM architecture.

There is really neat documentation too.

License: Apache-2.0


8. Permission Flow for Android

This library, developed using Kotlin Flow, allows to get to know about real-time state of Android app permissions. You can observing permissions with StateFlow as well as in Jetpack Compose using @Composable annotation:

@Composable  
fun ExampleSinglePermission() {  
    val state by rememberPermissionState(Manifest.permission.CAMERA)  
    if (state.isGranted) {  
        // Render something  
    } else {  
        // Render something else  
    }  
}
Enter fullscreen mode Exit fullscreen mode

The library is well written and has 87% test coverage. Also, README is comprehensive and explains a usage of the lib well.

License: Apache-2.0


9. Seal

Seal is open-source Video/Audio downloader, designed and themed with Material You.

Image description

By studying this project you can learn how to download videos and audio files from video platforms supported by yt-dlp. You can use it to get to know more about Material Design 3 UI styling, especially with dynamic color theme.

The project is written according to MAD Skills principles.

License: GPL-3.0


10. UhuruPhotos. A LibrePhotos client

UhuruPhotos is an Android client for LibrePhotos written using the latest Android technologies (Jetpack Compose, SQLDelight, Coroutines) based on MVI architecture.

Image description

With features such as offline support, backup, and syncing, it aims to become a Google Photos alternative with a lot of similar features.

You can follow a development process on Github, or even participate in. You can also join a closed beta on the Google Play store.

License: Apache-2.0


That’s it. I hope you enjoyed the list and that some of the libs or projects inspired you. You can also check my other articles that have been released earlier this year or last year:

Till next time!

Top comments (0)