Apps

What is Jetpack Compose

What it is

The modern way to build Android app interfaces in Kotlin: screens are described in code, and the layout and theme adapt to the phone and the system settings.

How we use it

The Android interfaces of OshaVPN and the OshaPlay audio player are built with Compose and Material 3: an adaptive layout and a theme that follows the system.

Where it helps a business

  • An app should look good on small and large phones alike, in light and dark themes.
  • The interface should hide complexity behind a single button.

How we use it

The interfaces of both our Android apps are built with Compose and Material 3. In OshaVPN: a main screen with one three-state button, the subscription expiry and remaining traffic, an "Almost ready" permissions screen and a "How to use" section; the layout is adaptive and the theme follows the system. In OshaPlay: the library, playlists with drag-and-drop track order, an audiobook shelf and a track quality breakdown that opens from an icon.

Common problems

  • A fast interface over slow logic. Heavy work (the audio stream, spectrum analysis, the VPN engine) lives outside the interface, or the screen stutters.
  • One button does not mean no settings. Settings remain, but they are tucked away with sensible defaults.

When you do not need it

If you do not need an app and a website or Telegram Mini App will do, you will not need Compose.

โ† All terms

Need a website, a bot or automation?

Terms explained โ€” now let's get to work: tell us about the task and we'll turn it into a clear work plan.