- 难度
- 较难
- 适合
- 入门 / 进阶
- 主要语言
- TypeScript
- GitHub
- ★ 11.4k
- 许可证
- Apache-2.0
- 快照日期
- 2026年8月10日
先判断要不要学
这个项目值得拆什么?
Grist Core 是 Apache-2.0 许可的关系型电子表格应用,把熟悉的网格编辑与关系数据、表单、图表、细粒度访问控制、协作和 Python 公式结合起来。它适合作为 NocoDB 的开源准入替代:学习者既能研究表格式交互,也能观察文档数据、计算沙箱与多人应用服务如何分层。
- 01
用电子表格这一熟悉入口展示关系、视图、公式与权限如何组成数据应用
- 02
TypeScript 应用层与 Python 公式沙箱形成清楚的信任边界,适合学习安全设计
可以学什么
不只是看代码,而是找到产品的骨架
- 学界面
- 学数据库
- 学用户登录
- 学产品结构
- 学部署
- 学完整项目组织
从网格到关系数据应用
观察列类型、引用关系、多个视图和表单如何共享同一文档模型。
app/client · app/common · app/server不可信公式的隔离边界
学习为什么用户可编辑的 Python 公式需要独立沙箱,以及不同运行方式的安全取舍。
sandbox · app/server/lib · README.md数据级访问控制
从用户属性和单元格值出发理解权限规则,而不是只在页面层隐藏按钮。
app/common · app/server · test三段学习路径
从理解、修改到做出你的版本
0130 分钟先跑通
理解 Grist 与普通电子表格的核心差异。
- 浏览 README 的功能与许可证说明
- 创建表、引用列和两个视图
- 尝试一条 Python 公式
完成标志:能解释结构化列、关系和视图如何让表格成为应用。
022 小时动手改
做一个小型关系数据工作台。
- 建立客户与任务两张表
- 用引用列连接记录
- 添加卡片或图表视图
- 创建录入表单
- 配置一条只读权限规则
完成标志:得到一个包含关系、录入、展示和权限的内部工具原型。
031 天做变体
读懂一条从编辑到计算再到同步的链路。
- 从 app/client 定位单元格编辑动作
- 在 common 层识别共享数据结构
- 追踪 server 对文档动作的处理
- 查看 sandbox 如何执行公式
- 为边界情况补一条测试设计
完成标志:得到一份标注客户端、服务端、文档存储和公式沙箱职责的代码地图。
评分解释
每一分都要说清楚为什么
可复刻性15 / 25
可快速搭建业务表,但完整网格与公式引擎不宜从零复刻。
文档与代码清晰度17 / 20
客户端、共享层、服务端和沙箱边界清楚,代码规模仍大。
新手学习价值15 / 20
适合学习数据应用设计,深入内核需要一定基础。
产品完整度15 / 15
关系、视图、表单、权限、协作和自托管链路成熟。
vibe coding 代表性7 / 10
适合让 AI 辅助设计数据模型和界面,但公式与权限必须人工验证。
活跃度5 / 5
仓库持续发布并有清楚的自托管资料。
新颖性5 / 5
电子表格交互与关系数据库、Python 公式的组合很有启发。