Skip to content

Welcome to ComposeWebView

License: MIT API Kotlin Release Compose Multiplatform

ComposeWebView is a powerful, flexible, and feature-rich WebView wrapper designed specifically for Jetpack Compose and Compose Multiplatform.

It provides a unified API to control WebViews across Android, iOS, Desktop, and Web, with a strong focus on mobile productivity and developer experience.


✨ Key Features

  • Multiplatform Support ---

    Run your WebView logic on Android, iOS, Desktop (CEF), and Web (JS) with a single codebase.

  • Advanced JSBridge ---

    Promise-based, type-safe communication between Kotlin and JavaScript. No more callback hell.

  • Reactive State ---

    Monitor URL changes, loading progress, and errors using standard Compose state objects.

  • Rich Capabilities ---

    Built-in support for File Uploads, Fullscreen Video, and Custom Views.

📱 Platform Support

Platform Implementation Status Note
Android AndroidView (WebView) ✅ Stable Full feature support
iOS UIKitView (WKWebView) ✅ Stable Full feature support (Seamless JS Bridge)
Desktop SwingPanel (CEF via KCEF) 🚧 Experimental WIP: Basic browsing works. KCEF integration in progress.
Web (JS) Iframe (DOM) 🚧 Experimental WIP: Basic navigation and postMessage bridge.
Web (WASM) Iframe (DOM) 🚧 Experimental WIP: Uses iframe with dynamic positioning. Same-origin policy restrictions.

Project Focus: Mobile Productivity

This library is optimized for Mobile (Android & iOS) development. While Desktop and Web are supported, they are currently experimental. If you need a battle-tested solution primarily for Desktop/Web, other libraries might be a better fit.

🚀 Get Started

Ready to start building? Check out the Getting Started guide to add compose-webview to your project in minutes.

Get Started