x-render和form-render区别

935 阅读2分钟

x-render 和 form-render 都是阿里巴巴团队开发的库,用于基于 JSON Schema 生成表单。form-render 是 x-render 的一个子集,专注于表单渲染,而 x-render 是一个更广泛的渲染框架,包括 form-render 和其他一些渲染工具。

x-render

x-render 是一个更全面的解决方案,它不仅包括 form-render,还包括其他类型的渲染器,如表格渲染器等。x-render 的目标是提供一个统一的渲染框架,可以用来快速构建各种基于数据驱动的界面。

特点:

  • 包含 form-render,因此拥有 form-render 的所有功能。
  • 提供了更广泛的渲染能力,除了表单,还可以处理列表、详情页等其他类型的数据展示。
  • 设计理念是一套 JSON Schema,多端渲染,即相同的 Schema 可以用来在不同的前端环境中渲染界面。
  • 可以用于构建大型、复杂的应用程序,其中需要统一的数据描述和渲染逻辑。

form-render

form-render 是 x-render 生态中专门用于表单的库。它利用 JSON Schema 来描述数据和校验规则,通过配置生成表单界面。

特点:

  • 深度集成 Ant Design,提供了与 Ant Design 组件相匹配的表单控件。
  • 支持通过可视化工具(如 Formily Designer)编辑 JSON Schema。
  • 提供了丰富的表单控件,如输入框、选择器、开关等,并支持自定义控件。
  • 支持表单布局和复杂表单场景,如动态表单项、依赖条件显示等。

区别

  • 范围form-render 专注于表单,而 x-render 提供了更广泛的渲染能力。
  • 生态x-render 作为一个框架,旨在提供一整套解决方案,包括但不限于表单渲染。
  • 使用场景:如果你只需要处理表单,form-render 可能就足够了;而如果你需要一个更全面的数据驱动渲染解决方案,x-render 可能更合适。

在实际项目中,选择使用 x-render 还是 form-render 取决于你的具体需求。如果你的应用程序需要多种类型的数据驱动渲染,那么 x-render 可能是更好的选择。如果你只需要快速生成表单,form-render 可能会更简单一些。