Native SDK icon

Native SDK

Native SDK 是用于构建原生桌面应用的工具包,支持声明式标记、消息驱动状态模型和原生渲染,无需浏览器或 WebView,适合开发在真实系统窗口中运行的界面。

Native SDK

Native SDK 无需浏览器运行时即可构建原生桌面应用

Native SDK 是用于构建原生桌面应用的工具包,支持声明式标记、消息驱动状态模型和原生渲染,面向希望界面在真实操作系统窗口中运行而无需捆绑浏览器或 WebView 的开发者。

该系统围绕显式消息和状态更新展开,因此界面变更更容易跟踪和调试。网站还说明了以桌面为主的平台支持,并对 iOS 和 Android 提供实验性的移动覆盖。

核心功能

支持类型化更新的声明式标记

界面使用原生标记编写,并通过类型化消息处理器进行更新,这让状态变化保持显式,而不是隐藏在临时事件逻辑中。

原生渲染器与操作系统窗口

工具包直接渲染到真实的操作系统窗口中,原生渲染的应用无需浏览器或 WebView。

可预测的消息驱动状态模型

事件产生消息,消息更新状态,状态再渲染界面,从而让应用在一个明确的位置应用行为变化。

平台特定的原生行为

运行时保留原生行为,例如滚动物理效果、菜单、对话框、文件拖放事件、IME 合成以及 HiDPI 渲染(在平台支持的情况下)。

自动化与调试工具

Native SDK 包含一个自动化服务器,可用于快照、断言、模拟输入、截图以及录制/回放,还提供用于环境检查的 `native doctor` 命令。

打包与发布构建

文档将打包作为工具包的一部分进行介绍,并为桌面工作流描述了平台特定输出和静态发布二进制文件。

典型使用场景

  • 桌面产品界面

    构建需要标准窗口、菜单、对话框和响应式交互、且无需嵌入浏览器引擎的原生桌面应用。

  • 工具和内部应用

    创建仪表板、编辑器和实用工具等操作界面,在这些场景中,可预测的状态变化和紧凑的运行时更重要。

  • AI 辅助应用生成

    将声明式标记和类型化更新模型作为一种可供代理编写、检查和可靠自动化的界面。

  • 跨平台、感知宿主的应用

    面向 macOS、Linux 和 Windows 发布,并在需要时评估对 iOS 和 Android 的实验性移动支持,同时保留平台特定行为。

  • 自动化测试与检查

    在开发或类似 CI 的工作流中,使用内置自动化服务器捕获快照、驱动输入,并对运行中的应用状态进行断言。

Pros and Cons

Pros

  • 原生渲染的应用不需要浏览器或 WebView。
  • 状态变化是显式的,相比隐式 UI 行为更容易检查。
  • 运行时保留了多种原生平台行为,包括菜单、对话框和滚动物理效果。
  • 平台支持以分层方式记录,这让限制清晰可见,而不是被默认忽略。
  • 内置工具涵盖环境检查和自动化工作流。

Cons

  • 移动支持被描述为实验性,而非完全成熟。
  • 不支持的操作会返回运行时错误,因此某些能力被有意限制在宿主环境中。
  • 平台支持页面指出,某些桌面/网页引擎组合以及移动细节仍存在注意事项。

FAQ

Native SDK 构建什么?

它是一个用于构建原生桌面应用的工具包,并且对 iOS 和 Android 的移动画布应用提供实验性支持。

Native SDK 是否需要浏览器或 WebView?

原生渲染的应用不需要浏览器或 WebView。文档描述了一个可直接绘制到操作系统窗口中的原生渲染器。

支持哪些平台?

源文档将 macOS、Linux 和 Windows 列为桌面平台,并将 iOS 和 Android 列为实验性的移动平台。

`native doctor` 是做什么的?

`native doctor` 用于检查本地开发环境中的问题,例如宿主平台详情、相关情况下的 WebView 可用性、清单有效性、日志目录可写性、Chromium 配置所需的 CEF 是否存在,以及签名工具。

Native SDK 是否包含自动化支持?

是的。文档描述了一个内置的自动化服务器,支持快照、断言、输入、截图以及录制/回放。

Quick Facts

类别
开发工具
主要平台
桌面
桌面支持
macOS、Linux、Windows
移动支持
实验性的 iOS 和 Android
运行时模型
带有基于消息的状态更新的声明式标记
显著工具
native doctor 和内置自动化