====== AMIS ====== [[https://github.com/baidu/amis|AMIS]](Application Made In Simple / Application Making Is Simple)是百度开源的前端低代码框架,通过 JSON 配置即可生成完整的后台管理页面,无需编写前端代码(([[https://aisuda.bce.baidu.com/amis/zh-CN/docs/index|AMIS 官方文档 - Baidu]])). ===== 概述 ===== AMIS 由百度 FEX(前端体验)团队开发维护,采用 Apache 2.0 协议开源。截至 2026 年 7 月,GitHub 获得约 18,900 Stars、2,720 Forks,累计合并 PR 超过 5,800 个,关闭 Issue 超过 4,200 个(([[https://github.com/baidu/amis|baidu/amis - GitHub]])). 最新稳定版为 v6.13.0,开发语言以 TypeScript 为主(约 85%)。 百度内部已有 100+ 部门使用 AMIS,累计创建超过 50,000 个页面(([[https://cloud.tencent.com/developer/article/2550584|AMIS 百度开源低代码 - 腾讯云]])). 广泛用于审核系统、数据管理后台、模型监控、机器管理等内部平台。 ===== 核心架构 ===== AMIS 的渲染流程如下(([[https://deepwiki.com/baidu/amis|AMIS 核心架构 - DeepWiki]])): JSON 配置 → SchemaRenderer → resolveRenderer() → React 组件树 → DOM **核心步骤:** - **JSON Schema**:页面由 JSON 对象定义,type 字段指定使用哪个组件 - **SchemaRenderer**:递归遍历 JSON,调用 resolveRenderer() 找到对应 React 组件 - **组件工厂**:type → React 组件的注册表(如 type: "form" → Form 组件) - **属性注入**:JSON 属性作为 React props 传入,支持 ${variableName} 数据绑定 - **递归渲染**:容器组件(page/form/dialog)的 body 数组包含子组件,递归构建组件树 - **数据流**:内置数据存储,组件通过 data/api/action 三种方式读写数据 AMIS 提供两种渲染模式:**React 库模式**(npm 包集成到 React 项目)和 **SDK 独立模式**(单 JS 文件,无需 React 基础)(([[https://aisuda.bce.baidu.com/amis/zh-CN/docs/start/getting-started|AMIS 快速开始]])). ===== 组件生态 ===== AMIS 内置 120+ 组件(部分来源称 140+),覆盖以下类别(([[https://aisuda.bce.baidu.com/amis/zh-CN/docs/components|AMIS 组件文档]]))(([[https://cloud.baidu.com/article/4161510|AMIS 百度低代码框架 - 百度云]])): * **布局**:Page、Grid、Panel、Card、Tabs、Wizard、Collapse * **表单**:30+ 控件 Input、Select、DatePicker、RichText、ImageUpload、TreeSelect、ColorPicker、InputTable、Editor 等 * **CRUD**:完整的增删改查 + 搜索、分页、排序、批量操作 * **图表**:基于 ECharts 的折线图、柱状图、饼图、散点图、雷达图、漏斗图等 * **反馈**:Alert、Toast、Dialog、Drawer、PopOver、Loading、Progress * **导航**:Breadcrumb、Steps、Tabs、Nav * **数据展示**:Markdown、HTML、JSON Tree、Carousel、Audio、Video、IFrame * **功能组件**:Code Editor(Monaco/ACE)、Log 查看器、Diff 查看器、WebSocket、Service ===== 核心特性 ===== * **JSON 驱动**:完整的增删改查页面仅需几十行 JSON 配置 * **可视化编辑器**:amis-editor 提供拖拽式页面设计(([[https://aisuda.github.io/amis-editor-demo|AMIS Editor 演示]])) * **表单验证**:内置 required/min/max/pattern 规则,支持自定义 JS 验证器 * **数据联动**:表单提交后自动刷新表格、级联选择、动态选项 * **导入导出**:CSV、Excel 导出,Office 文档预览 * **主题系统**:多套内置主题(cxd、dark、antd、ang)+ 自定义 CSS 变量 * **权限控制**:基于角色/权限的组件级显隐控制 * **国际化**:内置 zh-CN、en-US 等多语言 * **WebSocket**:实时数据推送 * **Action 链**:复杂的组件间交互编排 ===== 后端集成 ===== AMIS 与后端框架无关,通过标准 REST/HTTP API 通信(([[https://github.com/InfernalAzazel/fastapi-amis|FastAPI-Amis]])): - 数据加载:api 配置发起 GET 请求 - 表单提交:api 配置发起 POST/PUT/DELETE - 请求适配:fetcher 配置自定义请求逻辑 社区常见的后端集成方案:FastAPI(Python)、Spring Boot(Java)、ThinkPHP(PHP)。 ===== 商业版与工具链 ===== 百度在 AMIS 基础上提供了商业产品**爱速搭**(Aisuda / AI速搭)(([[https://aisuda.bce.baidu.com/|爱速搭 - Baidu]])),在开源版之上增加了可视化搭建、流程引擎、数据源管理、团队协作等功能。 其他工具: - **amis-editor**:可视化拖拽编辑器开源版(([[https://github.com/aisuda/amis-editor-demo|amis-editor-demo - GitHub]])) - **amis-admin**:基于 AMIS 的后台管理模板 - **FastAPI-Amis**:Python 社区的集成方案 ===== 适用场景与局限 ===== AMIS 最适合中后台管理页面(增删改查、数据看板、审批流程),在百度内部已验证大规模可行性。不适用的场景包括:面向消费者的前端页面、复杂的自定义交互、移动端原生应用、需要精细控制 DOM 的场景(([[https://blog.csdn.net/qq_42887496/article/details/125063028|AMIS 介绍及实例 - CSDN]])). 生态以中文为主,国际化社区较小,目前仅支持 React(Vue 需要通过桥接方案集成)。 ===== 总结 ===== AMIS 是国内开源低代码领域的优秀代表,经过百度内部大规模验证,适合快速搭建中后台管理页面。核心优势是 JSON 配置即界面、组件丰富、学习成本低。局限是仅限 Web 后台场景、React-only、社区以中文为主。