第01天 目标与范围界定****
今日寄语 :"很多低代码项目不是死在技术上,而是死在想做'万能系统'的野心上。"**
1 .0 今日导读****
前置依赖: 无(起始章节)
核心产出: MVP范围清单目标受众分析技术选型列表
预计耗时:
-
[指南] 阅读理解: 30-45分钟
-
[实践] 必做作业: 30-60分钟
-
[*] 选做挑战: 1-2小时
学习重点:
-
理解低代码平台的核心价值与差异化
-
掌握MVP范围界定的原则
-
明确你的目标受众与交付场景
AI 结对策略: 使用 Claude/ChatGPT 分析竞品架构,快速生成系统上下文与功能清单。
[提示] **关于"21天" : 如前言所述,这是知识组织框架而非严格时间表。你可以按自己的节奏学习,重要的是理解架构思想、掌握实现路径。
1.1 写在最前面:MVP的生存法则****
准备好了吗?让我们开始这段旅程。
1.2 产品定位:我们到底在做什么?****
在开始写第一行代码之前,请先停下来,喝口咖啡,认真思考这三个问题:为谁做?解决什么问题?有什么差异化?
1.2.1 目标受众(Who)****
我们的低代码平台(暂命名为 "MetaFlow" )主要服务于两类截然不同的用户:
- 专业开发者(Pro-Code) :
**痛点:大量重复的CRUD操作占用开发时间,修改字段需要前后端多处同步变更。
**需求:通过可视化工具生成基础代码,同时保留手写扩展复杂逻辑的灵活性。
- 技术型业务人员(Citizen Developer) :
**痛点:业务需求依赖IT部门排期,响应周期长。
**需求:具备基础SQL/逻辑思维,希望通过可视化方式快速构建审批流程和报表。
1.2.2 核心价值主张(Value Proposition)****
市面上已经有 OutSystems、Mendix、钉钉宜搭了,我们为什么还要造轮子?
Data-First(数据优先) :
先设计数据模型,再生成 UI*。根基稳了,房子才盖得高。
AI-Assisted(AI 辅助) :
AI 是智能助手*。能够辅助生成 DSL、优化代码、提供开发建议,提升开发效率。
Flexible Export(灵活导出) :
出码能力*。生成的应用支持导出为标准的前端源码,便于后续接管和定制开发。
1.3 范围界定:学会说"不"****
为了在有限的学习时间内掌握核心概念,我们必须对很多诱人的功能说"不"。这是 MVP 的核心生存法则。
[目标] 本书的MVP策略 : 不是"21天做完所有功能",而是"21个主题掌握完整知识体系"。每个模块我们会明确标注哪些是 已实现的核心 ,哪些是 设计方案 ,哪些是 后续增强 。**
| 模块 | 本书包含 (已实现/原型) [√] | 后续增强 (需补充实现) [○] | 理由 |
|---|---|---|---|
| 内核 | 元数据引擎、DSL 解析器、插件系统 | 分布式事务、多云部署 | 先跑通单机,再考虑分布式 |
| 数据 | 通用CRUD、筛选分页、Prisma适配 | 动态建模、NoSQL 支持、复杂 ETL | 关系型数据库能覆盖 90% 场景 |
| UI | 组件注册表、渲染器、基础表单 | 完整设计器、复杂图表、3D 渲染 | BI 和大屏是另一个领域 |
| 逻辑 | 事件总线、简单工作流、JS 沙箱 | 复杂规则引擎 (Drools)、AI 决策 | 能跑通审批流就算成功 |
| 运维 | 基础日志、Token 鉴权、指标原型 | 全链路监控 (APM)、弹性伸缩 | 监控可以后期接入 Prometheus |
[警告] 避坑指南 : 哪怕你觉得"这个功能很简单,顺手加一下",也 千万不要加 。学习阶段,任何非核心功能都会分散注意力,影响对核心架构的理解。**
风险提示****
- 范围蔓延风险:每天都要审视是否偏离了MVP目标
- 技术债务风险:快速开发必然产生技术债务,需要在后期偿还
- AI依赖风险:不要过度依赖AI生成的代码,需要人工审查
1.4 业务场景:我们要造什么?****
空谈架构误国。为了验证平台的可用性,我们将贯穿全书构建一个真实的业务系统—— “油田设备资产管理系统(EAM)” 。
这不仅仅是一个 Demo,它包含了工业互联网最核心的要素:移动巡检、维修工单、设备台账。
1.4.1 核心功能****
-
设备台账 (EAM) :建立设备电子台账,包括设备编号、型号、位置、购置日期、保修期限等信息。
-
设备巡检:一线人员通过移动端扫码设备二维码,执行日常巡检任务,记录设备运行参数,上传现场照片,发现异常自动触发维修工单。
-
维修工单:设备出现故障后,自动创建维修工单,分配给维修人员,跟踪维修进度、记录维修历史,实现闭环管理。
-
预防性维护:根据设备保养计划,系统自动生成定期保养任务,实现“以养代修”。
1.4.2 业务实体预览****
-
员工 (Employee) :姓名、班组、岗位(决定审批权限)。
-
设备台账 (Asset) :设备编号、型号、位置、状态(正常/故障)、购置日期、保修期限。
-
巡检记录 (InspectionRecord) :巡检时间、设备ID、巡检人、运行状态、现场照片(Image)、GPS位置。
-
维修工单 (MaintenanceOrder) :工单编号、设备ID、故障描述、状态(待分配/维修中/已完成)、维修人员、完成时间。
-
审批流 (Workflow) :
**场景 A:常规维修 -> 班组长直接分配。
**场景 B:重大故障 -> 设备管理科介入 + 资源协调。
**场景 C:巡检发现异常 -> 自动触发维修工单。
1.4. 3 学习目标清单****
完成本书学习后,你应该掌握:
-
[√] 数据模型设计器的架构与实现原理(支持设备、巡检、工单实体)
-
[√] 移动端表单页面生成的技术方案(扫码/拍照/定位)
-
[√] 闭环工单流程配置的设计与实践
-
[√] 基础权限控制的实现方法(班组隔离)
1.5 系统上下文:宏观视角****
我们需要明确 MetaFlow 平台在整个企业 IT 版图中的位置。
免责声明 :MetaFlow 仅为本书教学用的虚构平台名称,如有重名,纯属巧合。**
C4Context
title System Context Diagram for MetaFlow Platform
Person(developer, "应用开发者", "不仅是程序员,也包括懂技术的业务人员")
Person(end_user, "终端用户", "使用生成应用的人,如执行设备巡检的员工")
System(metaflow, "MetaFlow 低代码平台", "核心系统:包含设计器(Designer)、引擎(Engine)与运行时(Runtime)")
System_Ext(db, "业务数据库", "SQLite(MVP)/PostgreSQL/MySQL, 存储用户实际产生的业务数据")
System_Ext(auth, "身份认证中心", "LDAP/OAuth2, 企业的统一登录入口")
System_Ext(ai, "AI 模型服务", "OpenAI/Claude API, 我们的智能大脑")
Rel(developer, metaflow, "设计数据模型、拖拽页面、配置流程", "HTTPS")
Rel(end_user, metaflow, "访问运行时应用,处理任务", "HTTPS")
Rel(metaflow, db, "读写业务数据 (Schema自动管理)", "JDBC/SQL")
Rel(metaflow, auth, "验证用户身份与权限", "OIDC")
Rel(metaflow, ai, "请求代码生成、SQL解释、逻辑优化", "REST API")
核心三剑客
-
Designer (设计态) :这是给开发者用的 IDE。它的产物不是代码,而是 JSON Schema (元数据) 。
-
Runtime (运行态) :这是一个通用的解析引擎。它读取 JSON,动态渲染出页面和逻辑。
-
Server (服务端) :负责处理数据存储、API 转发和权限校验。
1.6 技术选型:工欲善其事****
这是一个经过深思熟虑的 "全栈 TypeScript" 组合,旨在降低上下文切换成本。
前端 (Frontend)****
框架:React 18 + TypeScript
状态管理:Zustand
拖拽库:dnd-kit
组件库:Ant Design 5
[提示] 架构设计 : 虽然 MVP 阶段选择 Ant Design 作为基础组件库,但我们会通过 Renderer 适配层 进行封装 (详见 Day 05),确保 DSL 与具体 UI 库解耦,未来可平滑替换为 MUI、Element 等其他库。**
后端 (Backend)****
运行时:Node.js (NestJS)
ORM:Prisma
数据库:SQLite(MVP);生产推荐:PostgreSQL
AI 集成****
SDK:LangChain.js
AI 工具准备****
- Claude:用于架构分析和竞品研究
- ChatGPT:用于代码生成和文档撰写
- GitHub Copilot:用于实时代码辅助
[√] 必做任务 (预计 30-60 分钟)****
任务1: 环境准备 (预计 20分钟)
- 安装 Node.js 20+ 和 pnpm
```bash
# 检查版本
node --version # 应该 >= 20.0.0
npm install -g pnpm
```
- 安装 VS Code + 推荐插件
- ESLint
- Prettier
- Prisma (可选)
- 验收标准: 命令行能正常执行 node --version 和 pnpm --version
任务2: 思考MVP范围 (预计 15分钟)
- 根据你的实际场景,填写以下表格:
| 我的场景 | 必须有 | 可以没有 | 理由 |
|---|---|---|---|
| _______ | ______ | ________ | ____ |
任务3: 选择学习路径 (预计 5分钟)
-
根据前面"三种学习路径",决定你的学习节奏
-
在日历上标记学习计划
[] 选做挑战 (预计 1-2 小时)***
1. 竞品分析: 试用 3 个低代码平台(如 Mendix, 铉铉宜搭, 华为 AppCube)
- 记录优点和不足
- 思考: 它们的MVP范围是如何界定的?
2. AI工具准备 (可选)
- 注册 OpenAI/Claude API (或本地安装 Ollama)
- 测试一个简单的 Prompt: "帮我设计一个设备巡检的数据模型"
请确认你已经:
-
理解了低代码平台的三大价值: Data-First、AI-Assisted、Flexible Export
-
明确了MVP范围界定的原则: 学会说"不"
-
了解了油田设备维保场景的业务逻辑
-
看懂了系统上下文图(设计器/运行时/服务端)
-
确定了自己的学习路径和节奏
-
完成了开发环境的基础准备
[提示] 如果上述任何一项不清楚,建议重新阅读对应章节**
1. 目标受众: 专业开发者(Pro-Code) + 技术型业务人员(Citizen Developer)
2. MVP边界: 不是"21天做完所有功能",而是"21个主题掌握完整知识体系"
3. 技术选型: 全栈TypeScript + SQLite(MVP) + Ollama(AI)
4. 贯穿场景: 油田设备维保系统(移动巡检+维修工单+闭环流程)
5. 核心理念: 先设计数据模型,再生成UI; AI是结对程序员,不是代替品
- [Report] Low-Code and the Democratization of Programming: 了解低代码发展的宏观趋势
- [Book] The Lean Startup by Eric Ries: 深入理解 MVP(最小可行性产品)的核心理念
- [Article] 低代码平台的架构设计模式: 搜索相关技术博客
1.7 常见问题****
Q1: 为什么不直接用现成的低代码平台?
A: 本书目标是帮你理解架构原理,具备自主可控的能力。现成平台可能锁定你的技术栈、数据结构和业务逻辑。
Q2: SQLite能否用于生产环境?
A: 不建议。SQLite适合MVP和小型应用(并发<10),生产环境应使用PostgreSQL并启用RLS、连接池等企业级特性。
Q3: AI工具是必须的吗?
A: 不是必须,但强烈建议。AI能大幅提升开发效率。本地Ollama免费且隐私安全,是很好的选择。
Q4: 21天真的能学完吗?
A: 再次强调:"21天"是21个知识模块,不是严格的时间限制。你可以按自己的节奏学习,1周到1年都可以。