Hybrid App
// Definition
A mobile application that wraps a web view inside a native shell. The core logic and UI render in a WebView (similar to a browser), while the native shell provides access to device APIs like the camera and push notifications via a bridge (Cordova, Capacitor, or a similar runtime). React Native and Flutter are sometimes called hybrid but are more accurately cross-platform native — they compile to native components rather than rendering in a WebView. Hybrid apps introduce a dual test surface: the native shell behaves like a native app and needs Appium-style locators, while the embedded web content can use CSS selectors. Context switching between the two (via Appium's getContext / switchContext) is a common source of test flakiness.
// Related terms
Native App
A mobile application built with platform-specific languages and SDKs — Swift or Objective-C for iOS, Kotlin or Java for Android. Native apps have full access to device hardware (camera, NFC, biometrics, GPS), run with the best performance characteristics, and follow each platform's UI conventions. For testers, native apps require platform-specific automation frameworks: XCUITest for iOS or Espresso for Android at the unit/integration layer, and Appium's UIAutomator2/XCUITest drivers at the end-to-end layer. Native apps are the gold standard for user experience but the most expensive to build and test across both platforms.
Mobile Testing
The practice of verifying mobile applications — native, hybrid, and mobile web — across devices, OS versions, and screen sizes. Mobile testing encompasses functional testing, gesture interactions, permissions handling, context switching for hybrid apps, and OEM-specific behaviour that emulators may not replicate.
Appium
An open-source mobile test automation framework that implements the W3C WebDriver protocol for native, hybrid, and mobile web apps on iOS and Android. Appium drives apps from the outside — no app source code required — using UIAutomator2 on Android and XCUITest on iOS as its underlying automation engines.