compose-webview
为Compose多平台应用提供统一、功能强大的WebView组件。
安装使用
复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:
帮我安装这个 AI Skill:compose-webview。 它的用途是:为Compose多平台应用提供统一、功能强大的WebView组件。 完整的 Skill 内容见:https://321skill.com/skills/compose-webview/raw/index.md 请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。
提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。
使用示例
“我正在用Compose Multiplatform开发一个跨平台App,需要内嵌一个帮助页面并与之交互。”,它会建议你使用ComposeWebView,并展示如何添加依赖、在Compose中嵌入网页,以及如何使用JSBridge安全地调用网页中的函数并传递结构化数据。
介绍
ComposeWebView解决了在Jetpack Compose和Compose Multiplatform项目中集成WebView功能时,面临的多平台适配复杂、API不统一、原生功能封装繁琐等痛点。它通过一个统一的Compose API,让开发者能够快速在Android、iOS、Desktop和Web平台上嵌入网页内容,并提供了丰富的原生WebView功能封装。
使用方式非常简单,通过依赖引入后,在Compose UI中直接使用ComposeWebView可组合项即可显示网页。开发者可以通过rememberWebViewState和rememberWebViewController来管理网页状态和控制导航,利用rememberWebViewClient和rememberWebChromeClient来自定义网页行为,并通过强大的JSBridge实现Kotlin与JavaScript之间的类型安全通信。
这个Skill非常适合需要在Compose应用中展示网页、实现混合开发、或与Web服务深度交互的开发者。无论是开发一个内置帮助文档的App、一个需要加载第三方网页的客户端,还是一个使用Web技术作为部分UI的混合应用,ComposeWebView都能提供强大的支持。
建议在使用前详细阅读其官方文档,了解各平台的具体实现差异和配置要求。对于iOS和Desktop平台,需要确保项目已正确配置相应的Compose Multiplatform目标。在涉及复杂的JS交互时,充分利用其基于Promise和Kotlinx Serialization的JSBridge可以极大提升开发效率和代码安全性。
核心特点
核心区别在于其真正的Compose Multiplatform支持与先进的JSBridge设计。它不仅封装了Android WebView,还为iOS、Desktop和Web提供了统一API实现;其JSBridge支持Promise和类型安全的Kotlin数据类自动序列化,超越了简单的回调或字符串拼接方式。
注意事项
不适合需要在非Compose框架(如传统Android View系统或纯原生iOS)中集成WebView的场景。
常见问题
ComposeWebView支持在iOS上使用吗?
支持,它是基于Compose Multiplatform构建的,在iOS上使用原生WKWebView进行封装。
如何用Kotlin调用网页中的JavaScript函数?
通过内置的JSBridge,你可以定义Kotlin接口,使用`webViewController.jsBridge.callFunction`进行类型安全的调用,并直接获取Promise结果。
给 AI 助手的安装指引
如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:
请访问 https://321skill.com/skills/compose-webview/raw/index.md 读取 compose-webview 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。
AI 可直接读取的原始 Markdown 地址:/skills/compose-webview/raw/index.md(查看排版版本)