用途:该技能面向 Makepad 跨平台开发,帮助理解各平台与图形后端,并编写平台相关代码(条件编译与平台 API)。
主要能力:说明支持平台及后端,包括 macOS/iOS 用 Metal、Windows 用 D3D11、Linux 用 OpenGL、Web 用 WebGL2、Android 用 OpenGL ES、OpenHarmony 用 OHOS、OpenXR 用于 VR/AR。提供 OsType 枚举与运行时检测接口,如 cx.os_type()、cx.gpu_info()、cx.xr_capabilities()、cx.cpu_cores();编译期可用 #[cfg(target_os = "...")] 与 #[cfg(target_arch = "wasm32")] 区分平台。还涉及桌面窗口管理、文件对话框、系统菜单、拖放、多显示器,移动端触摸输入、虚拟键盘、屏幕方向、应用生命周期,以及 Web 的 DOM 集成、浏览器事件、本地存储与 HTTP 请求。入口使用 app_main!(App) 宏,并实现 LiveRegister 与 AppMain。
使用方式:回答前需先读取本地参考文件 ./references/platform-support.md;若读取失败或为空,应提示“本地文档不完整,建议运行 /sync-crate-skills makepad --force 更新文档”,再基于 SKILL.md 与内置知识作答。
限制:Makepad 为各平台编译原生代码,无运行时解释器;着色器在构建期按图形后端编译;平台相关代码位于 platform/src/os/ 目录。版本为 makepad-widgets(dev 分支),更新于 2026-01-19,可通过 https://crates.io/crates/makepad-widgets 检查更新。