+-
AI → JSON → UI ,将 AI 生成的 JSON 数据渲染为用户界面的工具,前端开发越来越懒人化了

json-render

一个将 AI 生成的 JSON 数据渲染为用户界面(UI)的工具,其核心理念是“AI → JSON → UI”,旨在让用户通过自然语言描述生成界面,同时确保生成的界面是可预测、安全且符合开发者定义的组件规范的。

Github地址

https://github.com/vercel-labs/json-render

在线体验

https://json-render.dev

AI → JSON → UI ,将 AI 生成的 JSON 数据渲染为用户界面的工具,前端开发越来越懒人化了

功能特点

  • 核心功能

    • 定义组件目录:开发者可以创建一个组件目录,明确 AI 在生成界面时可以使用的组件及其属性。例如,可以定义一个卡片组件(Card)和一个指标组件(Metric),并规定它们的属性和是否可以包含子组件。

    • 注册组件渲染方式:通过定义 React 组件,将 JSON 数据中的组件映射为实际的 UI 元素。比如,将卡片组件渲染为一个带有标题和子内容的 HTML 结构。

    • AI 生成 JSON:用户通过自然语言描述需求,AI 根据预定义的组件目录生成符合规范的 JSON 数据,然后通过项目提供的工具将其渲染为界面。

  • 优势特点

    • 条件可见性:可以根据数据、用户权限或复杂逻辑动态显示或隐藏组件。例如,只有在满足特定条件时才显示某个警告信息或管理面板。

    • 丰富的动作支持:允许为组件定义复杂动作,包括确认对话框和回调函数。比如,退款按钮可以触发一个确认对话框,并在成功或失败时执行相应的操作。

    • 内置验证:支持对用户输入进行验证,确保数据的正确性和完整性。例如,可以验证电子邮件地址是否符合格式要求。

    • 安全可控:AI 的输出被严格限制在开发者定义的组件目录内,避免了生成不符合预期或存在安全风险的界面。

    • 高效渲染:支持流式渲染,即在 AI 响应过程中逐步渲染界面,提高了用户体验和性能。

    • 丰富的功能支持

使用方法

  • 快速开始

    • 安装依赖:通过 npm 安装@json-render/core@json-render/react包。

    • 定义组件目录:使用createCatalog函数创建组件目录,定义组件的属性和行为。

    • 注册组件渲染方式:创建一个组件注册表,将 JSON 数据中的组件映射为 React 组件。

    • 让 AI 生成界面:通过useUIStream钩子发送用户提示给 AI,并使用Renderer组件将生成的 JSON 数据渲染为界面。