Wear OS versus Mobile Development

Wear OS is based on Android and is optimized for the wrist. If you have developed for Android before, you may have used many of the same features and APIs. However, there are some differences between how you design a mobile app and how you design a Wear OS app.

We recommend that you read through the Principles of Wear OS development guide to learn how to design your app.

To find out how a specific feature, API, or best practice is different in Wear OS app development compared to Android mobile development, review the following table or use the filter field to find a specific topic.

Feature, API, or best practice Wear OS versus Mobile Wear OS details
Design your app's UI or UX Different Focuses on a handful of critical tasks that can be done within seconds.
UI surfaces Different Goes beyond activities and notifications with many additional unique surfaces including apps, tiles, complications, watch faces, and more.
UI components Mobile and more Includes mobile components plus Wear-OS-specific components, including: BoxInsetLayout, SwipeDismissFrameLayout, WearableRecyclerView, and many more.
Ongoing activity Different Adds ongoing notifications to new Wear OS surfaces.
Dark theme or mode Different Provides only dark mode to save battery.
Back stack Different Lets users swipe to dismiss and swipe to go up the back stack.
Physical buttons Different A wearable device typically contains one or more physical buttons. Wear OS devices always have, at minimum, one button—the power button. Beyond that, watches may have zero or more multifunction buttons that can be used in your app.
Rotary input Different Some Wear OS devices contain a physical rotating side button or rotary input. The user can turn the button to scroll your app's current view up or down.
App resume Different Lets users double-tap the secondary hardware button to resume their recently used apps. When users re-enter your app, it must remember the users' scroll position.
Architecture Components Same See Android Architecture Components in the Android documentation.
Navigation Different Apps should be shallow—avoid a design deeper than two levels—and linear—show most content and navigation inline.
Interaction with other apps Same See Interacting with other apps.
Interaction with paired devices New Can interact with paired devices through the Wear app. Read more at Send and sync data.
Intents and intent filters Same See Intents and intent filters in the Android documentation.
Animations and transitions Same See Animations and transitions in the Android documentation.
Images and graphics Same See Images and graphics in the Android documentation.
Services and background tasks Same See Services overview in the Android documentation.
Background tasks Same See Background work overview in the Android documentation.
Permissions Same See Permissions on Android in the Android documentation.
App data and files Same See App data and files in the Android documentation.
User data and identity Similar Has additional options for authentication beyond the related mobile APIs. Read more about Authentication on wearables.
User location Same TheFusedLocationProvider also takes advantage of the phone's GPS chip to save battery life and to detect location on Wear OS.
Touch and input Mobile and more Offers more input beyond standard touch input. Read more at Touch and input overview.
Sensors Mobile and more Development for Wear OS is similar to mobile. To simplify your app on Wear OS, consider the Health Services API, which handles this for you. Read about Sensors.
Health Services New Provides fitness and health data generated from sensors, contextually aware algorithms, and all-day health monitoring. For more information, see Health Services on Wear OS.
Connectivity Similar Most mobile APIs are fully supported, but there are some limitations. For example, the android.webkit APIs aren't supported. For more information, read Network access and sync on Wear OS.
Android App Bundles Same See About Android app bundles in the Android documentation.
Dependency injection Same See Dependency injection in Android in the Android documentation.
Testing Similar See Test apps on Android in the Android documentation.
Performance Similar See Guide to app performance in the Android documentation.
Accessibility Same See Build accessible apps in the Android documentation.
Privacy Same See Privacy best practices in the Android documentation.
Security Same See App security best practices in the Android documentation.