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 these 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 you read through the Principles of Wear OS development guide to get a full picture on how to design your app.
Note: The API level 30 Wear OS emulator system image is currently in Developer Preview. See release notes for the latest updates.
To find how a specific feature/API/best practice is different from Android mobile app development to Wear OS app development, use the the filter field.
Features / APIs / Best Practices | Wear OS versus Mobile | Details |
Designing your App's UI/UX | Different | Focus on a handful of critical tasks that can be done within seconds. |
UI Surfaces | Different | Wear OS goes beyond activities and notifications with many additional unique surfaces including overlays, tiles, complications, watch faces, and more. |
UI Components | Mobile and more | Mobile components and Wear-OS-specific specific components: BoxInsetLayout ,
SwipeDismissFrameLayout , WearableRecyclerView , and many
additional components. |
Ongoing Activity | Different | Adds ongoing notifications to new Wear OS surfaces. |
Dark theme/mode | Different | Everything is dark mode in Wear OS to save battery. |
Back Stack | Different | Users can 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. When the user turns the button, your app's current view should scroll up or down. |
App Resume | Different | Users can double-tap the secondary hardware button to resume their recently used apps. When users re-enter your app, your app should remember the users' scroll position. |
Architecture Components | Same | Android developer guide: Android Architecture Components |
Navigation | Different | Wear OS apps should be shallow (avoid deeper than two levels) and linear (show most content and navigation inline). |
Interacting with other apps | Same | Interacting with other aps |
Interacting with paired devices | New | Wear OS can interact with paired devices through the Wear app. Read more at Send and sync data. |
Intents and intent filters | Same | Android developer guide: Intents and intent filters |
Animations and transitions | Same | Android developer guide: Animations and transitions |
Images and graphics | Same | Android developer guide: Images and graphics |
Services / Background Tasks | Same | Android developer guide: Services overview |
Background Tasks | Same | Android developer guide: Guide to background processing |
Permissions | Same | Android developer guide: Permissions on Android |
App data and files | Same | Android developer guide: App data and files |
User data and identity | Similar but different | Wear OS has additional options for authentication beyond the other related APIs. Read more about Authentication in Wear OS. |
User Location | Same | TheFusedLocationProvider also takes advantage of the phone's GPS chip to
save battery life and
Detect location on Wear OS. |
Touch and input | Mobile and more | Beyond standard touch input, Wear OS offers more input. Read more at Touch and input overview. |
Sensors | Same and more | Development for Wear OS is similar to mobile. Also, 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 Wear Health Services |
Connectivity | Mostly the same | Most of the APIs are fully supported, but there are some limitations for certain edge
cases. For example, the android.webkit APIs aren't supported.
For more information, read Network
access and sync on Wear OS. |
Android App Bundles | Same | Android developer guide: About Android app bundles |
Dependency injection | Same | Android developer guide: Dependency injection in Android |
Testing | Similar | Android developer guide: Test apps on Android |
Performance | Similar | Android developer guide: Performance and power |
Accessibility | Same | Android developer guide: Build more accessible apps |
Privacy | Same | Android developer guide: Privacy best practices |
Security | Same | Android developer guide: App security best practices |