📖 深度参考手册 — 本模块属于理论参考,非主线必读。
主线学习路径见 README.md。
当你在项目实战中遇到相关问题时,回来查阅。
这个模块是参考手册,帮你在技术选型时快速做出决策,在阅读技术文章时理解术语。
定义:前端技术栈是构建用户界面所使用的框架、库和工具的组合,决定了开发体验、性能表现和可维护性。
为什么重要:选错前端框架可能导致项目中期大规模重写,选对则能让团队效率翻倍。
| 框架 | 特点 | 适合场景 | 学习曲线 |
|---|
| React | 生态最大,灵活,JSX | 大型应用,团队项目 | 中等 |
| Vue | 模板语法,渐进式,中文生态好 | 中小型应用,个人项目 | 较低 |
| Svelte | 编译时框架,无虚拟DOM,体积小 | 性能敏感,简单应用 | 低 |
| Next.js | React全栈框架,SSR/SSG,App Router | 需要SEO的应用,全栈 | 较高 |
| Nuxt | Vue全栈框架,对标Next.js | Vue生态的全栈方案 | 中等 |
| 方案 | 原理 | 优点 | 缺点 |
|---|
| Tailwind CSS | 原子类,直接在HTML中写样式 | 最流行,开发快,一致性强 | HTML较冗长 |
| CSS Modules | 编译时生成局部作用域类名 | 无冲突,传统CSS写法 | 文件多,复用性一般 |
| styled-components | CSS-in-JS,样式写在JS中 | 动态样式方便,组件化 | 运行时开销,包体积大 |
定义:后端技术栈是服务器端处理业务逻辑、数据存储和API服务所使用的编程语言和框架的组合。
为什么重要:后端选型直接影响系统的性能上限、运维复杂度和团队招聘难度。
| 语言 | 特点 | 适合场景 | 代表框架 |
|---|
| Go | 编译型,并发强(goroutine),部署简单 | 微服务,高并发API,CLI工具 | Gin / Echo / Fiber |
| Node.js | JS全栈,非阻塞IO,npm生态大 | 实时应用,全栈,快速原型 | Express / Fastify / NestJS |
| Python | 语法简洁,ML/数据生态强 | 数据处理,ML服务,脚本,快速原型 | FastAPI / Django / Flask |
| Java | 企业级,JVM生态,强类型 | 大型企业系统,金融 | Spring Boot / Quarkus |
| Rust | 内存安全,零成本抽象,性能极致 | 系统编程,性能关键组件 | Actix / Axum |
| 场景 | 推荐 | 理由 |
|---|
| 一个人快速做MVP | Node.js(Express)或 Python(FastAPI) | 开发速度最快,生态丰富 |
| 团队开发生产系统 | Go(Gin)或 Java(Spring Boot) | 性能好,类型安全,易维护 |
| 性能关键组件 | Go 或 Rust | 接近C的性能,内存占用低 |
定义:数据库技术栈是根据数据模型和访问模式选择的存储引擎组合,不同类型的数据库解决不同类型的问题。
为什么重要:数据库是系统中最难替换的组件,选错数据库的迁移成本远高于换一个前端框架。
| 数据库 | 类型 | 特点 | 适合场景 |
|---|
| PostgreSQL | 关系型 | 功能最全(JSON/GIS/全文搜索),ACID,扩展性强 | 默认选择,复杂查询 |
| MySQL | 关系型 | 简单可靠,读性能好,生态成熟 | Web应用,读多写少 |
| MongoDB | 文档型 | Schema灵活,水平扩展,JSON原生 | 快速迭代,异构数据 |
| Redis | 键值/内存 | 极快(微秒级),数据结构丰富(String/Hash/List/Set/ZSet) | 缓存,会话,排行榜,限流 |
| Elasticsearch | 搜索引擎 | 倒排索引,全文搜索,聚合分析 | 搜索,日志分析 |
| ClickHouse | 列式/分析 | 极快的聚合查询,适合大量数据分析 | 数据分析,报表 |
| Neo4j | 图数据库 | 节点+关系,多跳查询高效 | 社交关系,推荐,知识图谱 |
| InfluxDB | 时序 | 时间戳索引,自动降采样 | 监控指标,IoT数据 |
├── 需要搜索 → + Elasticsearch
定义:全栈技术方案是前端、后端、数据库的固定搭配组合,经过社区验证,有完整的文档和最佳实践。
为什么重要:使用成熟的技术方案组合比自己东拼西凑更可靠,遇到问题更容易找到解决方案。
| 方案名称 | 前端 | 后端 | 数据库 | 适合场景 |
|---|
| T3 Stack | Next.js | tRPC + Prisma + TypeScript | PostgreSQL | 类型安全全栈 |
| MERN | React | Express | MongoDB | 快速原型,JS全栈 |
| Go + React | React(Vite) | Go(Gin) | PostgreSQL | 高性能API |
| Django + React | React | Django REST | PostgreSQL | Python生态,数据处理 |
| Laravel + Vue | Vue | Laravel(PHP) | MySQL | PHP生态,快速开发 |
| Rails + React | React | Ruby on Rails | PostgreSQL | 快速MVP |
定义:开发工具链是从编码、调试、测试到部署过程中使用的全套工具,好的工具链能显著提升开发效率。
为什么重要:工具选得好,每天节省30分钟,一年就是180小时。
| 类别 | 工具 | 说明 |
|---|
| IDE/编辑器 | VS Code | 最流行,插件生态丰富,免费 |
| JetBrains 系列 | 功能强大但较重,付费 |
| Vim / Neovim | 极高效但学习曲线陡峭 |
| 终端 | iTerm2(Mac) | Mac上最流行的终端 |
| Windows Terminal | Windows默认现代终端 |
| Warp | AI驱动的现代终端 |
| API测试 | Postman | 最流行的API测试GUI工具 |
| Insomnia | 轻量替代品 |
| HTTPie | 命令行HTTP客户端 |
| VS Code REST Client | 编辑器内直接测试API |
| 版本控制 | Git + GitHub / GitLab | 行业标准 |
| 容器 | Docker Desktop | 官方方案 |
| OrbStack(Mac) | 更轻量,启动快 |
| 数据库管理 | DBeaver | 通用,支持所有数据库 |
| pgAdmin | PostgreSQL专用 |
| TablePlus | 界面美观,付费 |
| 设计 | Figma | UI设计行业标准 |
| Excalidraw | 手绘风格架构图 |
定义:AI辅助开发是利用大语言模型在编码、调试、重构等环节提供智能辅助的开发方式,正在重塑软件开发的工作流程。
为什么重要:AI工具能将常规编码效率提升2-5倍,但前提是你知道如何给出好的指令和判断生成结果的质量。
| 工具 | 特点 | 适合场景 |
|---|
| Claude Code | CLI工具,自主编码能力强,支持复杂任务 | 后端/全栈开发,重构,复杂任务 |
| Cursor | VS Code fork,内置AI,Tab补全 | 前端开发,日常编码 |
| GitHub Copilot | IDE插件,代码补全 | 日常编码,行级补全 |
| Windsurf | 类Cursor的AI IDE | 编码+对话 |
- 需求描述越清楚,生成质量越高 — 用本课程的5层框架来组织你的指令
- 分步骤给指令,不要一次要求太多 — 把大任务拆成小步骤,逐步推进
- 生成后检查 — 用 review-checklist.md 逐项核对生成的代码
- AI擅长写代码但不擅长做架构决策 — 这正是你学本课程的意义:你做决策,AI做执行
定义:软件开发领域的常用技术术语中英对照表,按类别分组整理,方便在阅读技术文章时快速查阅。
为什么重要:技术文章中大量使用英文缩写和术语,看不懂术语就无法理解文章,更无法和AI工具有效沟通。
| 术语 | 全称 | 中文含义 |
|---|
| API | Application Programming Interface | 应用程序接口 |
| DNS | Domain Name System | 域名系统 |
| CDN | Content Delivery Network | 内容分发网络 |
| SSL/TLS | Secure Sockets Layer / Transport Layer Security | 安全传输层 |
| CORS | Cross-Origin Resource Sharing | 跨源资源共享 |
| WebSocket | — | 全双工通信协议 |
| gRPC | Google Remote Procedure Call | 远程过程调用 |
| REST | Representational State Transfer | 表述性状态转移 |
| GraphQL | — | 图查询语言 |
| 术语 | 全称 | 中文含义 |
|---|
| ACID | Atomicity, Consistency, Isolation, Durability | 原子性/一致性/隔离性/持久性 |
| ORM | Object-Relational Mapping | 对象关系映射 |
| CRUD | Create, Read, Update, Delete | 增删改查 |
| Sharding | — | 分片/分区 |
| Replication | — | 复制 |
| Index | — | 索引 |
| Migration | — | 数据库迁移 |
| Transaction | — | 事务 |
| Deadlock | — | 死锁 |
| Connection Pool | — | 连接池 |
| 术语 | 全称 | 中文含义 |
|---|
| CI/CD | Continuous Integration / Continuous Deployment | 持续集成/持续部署 |
| Docker | — | 容器化平台 |
| K8s | Kubernetes | 容器编排 |
| IaC | Infrastructure as Code | 基础设施即代码 |
| SLA/SLO/SLI | Service Level Agreement/Objective/Indicator | 服务级别协议/目标/指标 |
| RTO/RPO | Recovery Time Objective / Recovery Point Objective | 恢复时间目标/恢复点目标 |
| Blue-Green Deployment | — | 蓝绿部署 |
| Canary Release | — | 金丝雀发布 |
| Rolling Update | — | 滚动更新 |
| Feature Flag | — | 功能开关 |
| 术语 | 全称 | 中文含义 |
|---|
| JWT | JSON Web Token | JSON网络令牌 |
| OAuth | — | 开放授权 |
| RBAC | Role-Based Access Control | 基于角色的访问控制 |
| XSS | Cross-Site Scripting | 跨站脚本 |
| CSRF | Cross-Site Request Forgery | 跨站请求伪造 |
| SQL Injection | — | SQL注入 |
| HTTPS | — | 超文本传输安全协议 |
| WAF | Web Application Firewall | Web应用防火墙 |
| DDoS | Distributed Denial of Service | 分布式拒绝服务 |
| Encryption | — | 加密 |
| 术语 | 全称 | 中文含义 |
|---|
| Microservices | — | 微服务 |
| Monolith | — | 单体架构 |
| Load Balancer | — | 负载均衡器 |
| Reverse Proxy | — | 反向代理 |
| Message Queue | — | 消息队列 |
| Pub/Sub | Publish / Subscribe | 发布/订阅 |
| Event-Driven Architecture | — | 事件驱动架构 |
| Serverless | — | 无服务器 |
| BaaS | Backend as a Service | 后端即服务 |
| SaaS/PaaS/IaaS | Software/Platform/Infrastructure as a Service | 软件/平台/基础设施即服务 |
| 术语 | 全称 | 中文含义 |
|---|
| MVP | Minimum Viable Product | 最小可行产品 |
| SDK | Software Development Kit | 软件开发工具包 |
| Boilerplate | — | 样板代码 |
| Refactoring | — | 重构 |
| Technical Debt | — | 技术债务 |
| Code Review | — | 代码审查 |
| Linting | — | 代码风格检查 |
| Middleware | — | 中间件 |
| Webhook | — | 网络钩子 |
| Idempotent | — | 幂等的 |
定义:技术选型决策框架是一套结构化的评估方法,通过多维度对比帮助团队在众多技术方案中做出理性选择,而非凭直觉或跟风。
为什么重要:技术选型是影响最深远的决策之一,选型失误的代价往往在项目中后期才暴露,届时更换的成本极高。
| 维度 | 关键问题 | 权重建议 |
|---|
| 团队规模和技能 | 团队熟悉什么技术?招人容易吗? | 最高 |
| 项目阶段 | 是MVP、成长期还是规模化? | 高 |
| 性能需求 | QPS多少?延迟要求?数据量多大? | 中 |
| 生态和社区 | 文档完善吗?第三方库多吗? | 中 |
| 运维成本 | 自托管还是用托管服务?团队有运维能力吗? | 中 |
| 阶段 | 推荐技术栈 | 理由 |
|---|
| MVP(0→1) | Next.js 全栈 或 Supabase + 前端 | 最快出活,一个人能搞定 |
| 成长期(1→100) | Go/Node.js + PostgreSQL + Redis | 性能和可维护性的平衡点 |
| 规模化(100→10000) | 微服务 + K8s + 专用数据库 | 按需扩展各组件,独立部署 |
“技术选型没有银弹,最好的技术是你的团队能驾驭的技术。”
- 先精通一套技术栈,再横向扩展。 比起什么都会一点,深入掌握一套完整方案更有价值。
- 用减法做选型。 不是选最好的技术,而是排除明显不合适的,剩下的都能用。
- 参考但不盲从。 大厂用的技术未必适合你的3人团队,根据自身情况做判断。