news 2026/4/3 3:00:13

大厂在用的低代码工具!只需配置json即可快速生成前端界面的

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大厂在用的低代码工具!只需配置json即可快速生成前端界面的


  • 💂 个人网站:IT知识小屋
  • 🤟 版权:本文由【IT学习日记】原创、在CSDN首发、需要转载请联系博主
  • 💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦

文章目录

      • 简介
      • 技术栈
      • 实现原理
      • 快速上手
      • 开源地址&使用手册
      • 写在最后

简介

amis是由百度开源的一款前端低代码渲染框架,无需懂前端,仅通过配置JSON即可生成各式各样的后台页面,大大降低前端开发门槛和提升了开发效率,且不会受前端技术栈变更的影响,特别适用于构建中后台系统与数据驱动的可视化界面。用户无需深入掌握React、Vue、Webpack等技术,只需专注业务即可快速搭建高质量界面。

主要特点如下:

  • 基于JSON驱动:通过JSON Schema一键生成表单、列表、图表等组件,无需编码即可实现页面渲染

  • 组件库丰富:内置表单、表格、按钮、图表、容器、拖拽等 100+ 常用组件,可满足复杂业务场景

  • 可视化编辑:支持在线Schema编辑器,可实时预览页面效果,便于快速修改与测试

  • 性能稳定:经过百度内部多年实战检验,已支撑数万页面稳定运行

  • 低技术门槛:对前端门外汉友好,非前端背景人员亦可快速上手创建页面

  • 灵活扩展:支持自定义组件混用,在低代码基础上集成自定义业务组件


技术栈

语言框架:TypeScript + React 渲染方式:JSON → Component Schema 渲染 状态管理:MobX + mobx‑state‑tree 脚手架:npm / Lerna / Vite 样式:SCSS 编译工具:Vite 许可证:Apache‑2.0

实现原理

amis的渲染过程是将 json 转成对应的 React 组件。先通过 json 的 type 找到对应的 Component,然后把其他属性作为 props 传递过去完成渲染。

如:一个表单页面来说,如果用 React 组件开发一般长这样:

<Page title="页面标题" subTitle="副标题"> <Form title="用户登录"> <InputText name="username" label="用户名" /> </Form> </Page>

替换成amis实现则仅是:只需要把 json 节点,根据 type 信息自动转成 React Component 即可

{ "type": "page", "title": "页面标题", "subTitle": "副标题", "body": { "type": "form", "title": "用户登录", "body": [ { "type": "input-text", "name": "username", "label": "用户名" } ] } }

快速上手

1、下载依赖SDK,方式有如下2中:

  • 方式1、在开源社区获取最新发行版,解压放入项目即可

  • 方式2、使用 npm i amis 来下载,在 node_modules\amis\sdk 目录里就能找到

2、在html中引入,基于json开发,如下面的一个增删改查界面

{ "title": "浏览器内核对 CSS 的支持情况", "remark": "嘿,不保证数据准确性", "type": "page", "body": { "type": "crud", "draggable": true, "syncLocation": false, "api": "https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/mock2/sample", "keepItemSelectionOnPageChange": true, "autoGenerateFilter": true, "bulkActions": [ { "type": "button", "label": "批量删除", "actionType": "ajax", "api": "delete:https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/mock2/sample/${ids|raw}", "confirmText": "确定要批量删除?" }, { "type": "button", "label": "批量修改", "actionType": "dialog", "dialog": { "title": "批量编辑", "name": "sample-bulk-edit", "body": { "type": "form", "api": "https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/mock2/sample/bulkUpdate2", "body": [ { "type": "hidden", "name": "ids" }, { "type": "input-text", "name": "engine", "label": "Engine" } ] } } } ], "quickSaveApi": "https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/mock2/sample/bulkUpdate", "quickSaveItemApi": "https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/mock2/sample/$id", "headerToolbar": [ "bulkActions", { "type": "button", "label": "重置测试数据", "actionType": "ajax", "size": "sm", "api": "https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/mock2/sample/reset" }, "export-excel", { "type": "tpl", "tpl": "一共有 ${count} 行数据。", "className": "v-middle" }, { "type": "columns-toggler", "align": "right", "draggable": true }, { "type": "drag-toggler", "align": "right" } ], "footerToolbar": [ "statistics", "switch-per-page", "pagination" ], "columns": [ { "name": "id", "label": "ID", "width": 20, "sortable": true, "type": "text", "searchable": { "type": "input-text", "name": "id", "label": "主键", "placeholder": "输入id" } }, { "name": "browser", "label": "Browser", "searchable": { "type": "select", "name": "browser", "label": "浏览器", "placeholder": "选择浏览器", "options": [ { "label": "Internet Explorer ", "value": "ie" }, { "label": "AOL browser", "value": "aol" }, { "label": "Firefox", "value": "firefox" } ] } }, { "name": "platform", "label": "平台", "popOver": { "trigger": "hover", "body": { "type": "tpl", "tpl": "就是为了演示有个叫 popOver 的功能" } }, "sortable": true, "type": "text" }, { "name": "grade", "label": "CSS 等级", "type": "select", "options": [ "A", "B", "C", "D", "X" ] }, { "type": "operation", "label": "操作", "width": 100, "buttons": [ { "type": "button", "actionType": "ajax", "label": "删除", "confirmText": "您确认要删除?", "api": "delete:https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/mock2/sample/$id" } ] } ] } }

开源地址&使用手册

点击下方的【IT学习日记】回复【资源】领取!

如果这篇文章对您有帮助,请一定帮我点个“关注”“点赞”,这对我非常重要。我将会继续推荐更多优质项目和新闻。

写在最后

1000+优质开源项目更新进度:269/1000。如需更多类型优质项目推荐,请在文章后留言。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/8 19:43:16

DASD-4B-Thinking应用场景:AI数学家——自动发现定理证明路径

DASD-4B-Thinking应用场景&#xff1a;AI数学家——自动发现定理证明路径 1. 为什么我们需要一个“会思考”的数学AI&#xff1f; 你有没有试过让普通大模型解一道稍复杂的数学证明题&#xff1f;比如&#xff1a;“证明任意奇数的平方减1必能被8整除”。 很多模型会直接跳到…

作者头像 李华
网站建设 2026/3/17 12:24:18

2026别错过!MBA专属AI论文网站 —— 千笔·专业论文写作工具

你是否曾为MBA论文的选题方向感到迷茫&#xff1f;是否在撰写过程中因逻辑混乱而反复修改&#xff1f;又是否因查重率过高而焦虑不已&#xff1f;论文写作不仅是学术能力的考验&#xff0c;更是时间与精力的双重挑战。面对这些难题&#xff0c;你是否渴望一个高效、专业的智能助…

作者头像 李华
网站建设 2026/3/31 21:38:11

LongCat-Image-Edit V2与ChatGPT集成:智能图像编辑助手

LongCat-Image-Edit V2与ChatGPT集成&#xff1a;智能图像编辑助手 1. 当图像编辑遇上自然语言对话 你有没有过这样的经历&#xff1a;想把一张照片里的背景换成海边&#xff0c;但对着复杂的修图软件界面发呆&#xff1b;或者想给商品图加一句中文标语&#xff0c;却要反复调…

作者头像 李华
网站建设 2026/4/1 7:38:06

Meixiong Niannian画图引擎ChatGPT集成:智能提示词生成

Meixiong Niannian画图引擎ChatGPT集成&#xff1a;智能提示词生成 1. 创意内容生成的痛点与新解法 做设计的朋友可能都经历过这样的场景&#xff1a;打开画图工具&#xff0c;盯着空白输入框发呆十分钟&#xff0c;反复删改又重写&#xff0c;最后还是输入了“一个女孩站在海…

作者头像 李华
网站建设 2026/4/2 12:15:10

PETRV2-BEV模型训练效果对比:GridMask增强对mATE/mASE指标提升实测

PETRV2-BEV模型训练效果对比&#xff1a;GridMask增强对mATE/mASE指标提升实测 在自动驾驶感知领域&#xff0c;BEV&#xff08;Birds Eye View&#xff09;空间建模能力直接决定多传感器融合的精度上限。PETRV2作为端到端视觉BEV检测的代表性架构&#xff0c;其性能表现备受关…

作者头像 李华
网站建设 2026/2/26 10:49:38

QwQ-32B惊艳推理效果:ollama平台下复杂数理逻辑题求解演示

QwQ-32B惊艳推理效果&#xff1a;ollama平台下复杂数理逻辑题求解演示 1. 引言&#xff1a;当AI开始“思考” 你有没有遇到过这样的情况&#xff1f;面对一道复杂的数学题或者逻辑推理题&#xff0c;感觉脑子像一团浆糊&#xff0c;怎么也想不明白。传统的AI模型可能会直接给…

作者头像 李华