技术栈选型、组合案例与学习路径。
本文件是技术栈参考入口,帮助读者理解软件系统通常由哪些技术层组成、不同场景如何组合技术栈、初学者应该如何选择学习路径。
技术栈不是单个框架或语言,而是一组完成系统交付所需的技术组合,包括前端、后端、数据库、缓存、部署、监控、测试、AI、数据工程、安全和运维工具。选择技术栈时,不只看技术是否流行,还要看项目目标、团队能力、维护成本、生态成熟度、部署环境、合规要求和替换路径。
本文件适合三类场景:新手建立技术全景,开发者为项目选型,Agent 在生成方案前理解“应该优先复用哪些成熟技术组合”。
| 主题 | 用途 |
|---|---|
| 什么是技术栈 | 建立基本概念,理解技术组合而非单点技术 |
| 技术栈通常包含哪些部分 | 前端、后端、数据库、部署、AI、数据、安全等层级 |
| 常见项目对应技术栈 | Web、移动端、桌面端、全栈、游戏、数据工程等组合案例 |
| 如何选择技术栈 | 从目标、约束、团队能力、生态成熟度和长期维护评估方案 |
| 初学者应该学什么技术栈 | 从可交付项目出发,选择最小必要技术路线 |
- 做新项目选型时,先按项目类型定位候选技术栈,再用维护成本和成熟度筛选。
- 给 AI 提需求时,把目标平台、团队能力、部署环境、数据规模和必须规避的技术写清楚。
- 当成熟技术栈能满足需求时,遵循拼好码原则,优先复用成熟方案,不默认自研底层能力。
技术栈,英文叫 Technology Stack,指开发一个软件系统时使用的一整套技术、框架、语言、工具和平台。
它不是单独某一种技术,而是一个组合。
例如,一个网站可能会用:
- 前端:React、TypeScript、Tailwind CSS
- 后端:Java、Spring Boot
- 数据库:MySQL、Redis
- 部署:Docker、Nginx、Kubernetes
- 云服务:AWS
- 工具:Git、GitHub Actions
这些合起来,就是这个项目的技术栈。
前端负责用户看到的页面和交互。
常见内容包括:
- HTML:页面结构
- CSS:页面样式
- JavaScript:页面交互
- TypeScript:JavaScript 的增强版,更适合大型项目
- React
- Vue
- Angular
- Svelte
- SolidJS
- Tailwind CSS
- Bootstrap
- Ant Design
- Element Plus
- Material UI
- Shadcn UI
- Vite
- Webpack
- Rollup
- Parcel
- esbuild
- Redux
- Zustand
- Pinia
- Vuex
- MobX
- Recoil
- React Router
- Vue Router
- Next.js Router
- Nuxt Router
- Fetch API
- Axios
- TanStack Query
- SWR
- Jest
- Vitest
- Cypress
- Playwright
- Testing Library
React 技术栈:
React + TypeScript + Vite + Tailwind CSS + Zustand + Axios
Vue 技术栈:
Vue 3 + TypeScript + Vite + Pinia + Vue Router + Element Plus
企业级前端技术栈:
React + TypeScript + Next.js + Tailwind CSS + Shadcn UI + TanStack Query
后端负责业务逻辑、接口、权限、数据处理、文件处理、支付、消息通知等。
- Java
- Python
- JavaScript / TypeScript
- Go
- PHP
- C#
- Ruby
- Rust
- Kotlin
- Scala
常见技术:
- Spring Boot
- Spring MVC
- Spring Cloud
- MyBatis
- MyBatis-Plus
- Hibernate / JPA
- Maven
- Gradle
常见组合:
Java + Spring Boot + MyBatis-Plus + MySQL + Redis
适合场景:
- 企业系统
- 电商平台
- 金融系统
- 大型后台系统
- 微服务架构
常见技术:
- Django
- Flask
- FastAPI
- SQLAlchemy
- Celery
- Pydantic
- Poetry
常见组合:
Python + FastAPI + PostgreSQL + Redis + Celery
适合场景:
- API 服务
- 数据平台
- AI 应用
- 自动化工具
- 中小型 Web 后端
常见技术:
- Express
- NestJS
- Koa
- Fastify
- Prisma
- TypeORM
- Sequelize
常见组合:
Node.js + NestJS + TypeScript + Prisma + PostgreSQL
适合场景:
- 前后端统一 TypeScript
- 实时应用
- 中台系统
- API 服务
- 初创项目
常见技术:
- Gin
- Echo
- Fiber
- GORM
- Go kit
- gRPC
常见组合:
Go + Gin + PostgreSQL + Redis + Docker
适合场景:
- 高并发服务
- 云原生系统
- 微服务
- 网关
- 基础设施工具
常见技术:
- Laravel
- Symfony
- ThinkPHP
- Composer
常见组合:
PHP + Laravel + MySQL + Redis
适合场景:
- 内容管理系统
- 企业官网
- 电商网站
- 快速 Web 开发
常见技术:
- ASP.NET Core
- Entity Framework Core
- LINQ
- NuGet
常见组合:
C# + ASP.NET Core + SQL Server + Redis
适合场景:
- 企业系统
- Windows 生态
- 内部管理系统
- 大型后端服务
数据库负责存储、查询和管理数据。
适合结构化数据。
常见数据库:
- MySQL
- PostgreSQL
- SQL Server
- Oracle
- SQLite
- MariaDB
适合存储:
- 用户信息
- 订单信息
- 商品信息
- 交易记录
- 权限数据
常见组合:
MySQL + Redis PostgreSQL + Prisma SQL Server + Entity Framework
适合灵活结构、文档、键值、图数据等。
- MongoDB
- CouchDB
适合:
- 内容数据
- 配置数据
- 半结构化数据
- Redis
- Memcached
适合:
- 缓存
- Session
- 排行榜
- 验证码
- 分布式锁
- Elasticsearch
- OpenSearch
- Solr
适合:
- 全文搜索
- 日志检索
- 商品搜索
- 数据分析
- Neo4j
- ArangoDB
适合:
- 社交关系
- 推荐系统
- 知识图谱
- 风控关系分析
- InfluxDB
- TimescaleDB
- Prometheus
适合:
- 监控数据
- 物联网数据
- 设备指标
- 时间序列分析
移动端负责开发手机 App。
语言和工具:
- Swift
- Objective-C
- Xcode
- SwiftUI
- UIKit
适合:
- iPhone App
- iPad App
- Apple Watch App
- 高性能 iOS 应用
组合:
Swift + SwiftUI + Combine + CoreData
语言和工具:
- Kotlin
- Java
- Android Studio
- Jetpack Compose
- XML Layout
适合:
- Android 手机 App
- 平板 App
- Android TV
- 原生高性能应用
组合:
Kotlin + Jetpack Compose + Retrofit + Room
一套代码开发多个平台。
常见技术:
- Flutter
- React Native
- Ionic
- Expo
- Kotlin Multiplatform
- .NET MAUI
常见组合:
Flutter + Dart + Firebase React Native + TypeScript + Expo
适合:
- 初创产品
- 多端快速开发
- 中小型 App
- 需要同时支持 iOS 和 Android 的项目
桌面端用于开发 Windows、macOS、Linux 软件。
常见技术:
- Electron
- Tauri
- Qt
- WPF
- WinUI
- JavaFX
- Avalonia
- Flutter Desktop
常见组合:
Electron + React + TypeScript Tauri + Rust + Vue C# + WPF + SQL Server Qt + C++
适合:
- 桌面客户端
- 编辑器
- 企业内部软件
- 跨平台工具
- 即时通讯软件
全栈是指前端、后端、数据库、部署都能覆盖。
常见全栈组合:
MongoDB + Express + React + Node.js
适合:
- 初创项目
- SaaS
- Web 应用
- 快速原型
MongoDB + Express + Angular + Node.js
适合:
- 企业级前端
- 大型后台系统
MongoDB + Express + Vue + Node.js
适合:
- Vue 项目
- 中小型 Web 应用
PostgreSQL + Express + React + Node.js
适合:
- 结构化数据较多的 Web 应用
- SaaS
- 管理后台
TypeScript + Next.js + tRPC + Prisma + Tailwind CSS
适合:
- 类型安全的全栈项目
- 现代 Web 应用
- 快速开发
Python + Django + PostgreSQL + Redis + Celery
适合:
- 内容平台
- 管理系统
- 数据型应用
- 中小企业系统
Java + Spring Boot + Vue / React + MySQL + Redis
适合:
- 企业系统
- 电商平台
- 后台管理系统
- 中大型项目
DevOps 负责让项目自动化构建、测试、部署、监控和运维。
- Linux
- Ubuntu
- CentOS
- Debian
- Alpine Linux
- Windows Server
- Nginx
- Apache
- Caddy
- IIS
- Docker
- Docker Compose
- Podman
- Kubernetes
- Docker Swarm
- Nomad
- OpenShift
- GitHub Actions
- GitLab CI
- Jenkins
- CircleCI
- Travis CI
- Argo CD
- Tekton
- AWS
- Microsoft Azure
- Google Cloud
- 阿里云
- 腾讯云
- 华为云
- Cloudflare
- Vercel
- Netlify
- Railway
- Render
- Fly.io
- Terraform
- Pulumi
- Ansible
- Chef
- Puppet
- Prometheus
- Grafana
- ELK Stack
- Loki
- Datadog
- New Relic
- Sentry
- OpenTelemetry
常见部署组合:
Docker + Nginx + GitHub Actions + AWS Kubernetes + Helm + Argo CD + Prometheus + Grafana Vercel + Next.js + Supabase
AI 技术栈用于机器学习、深度学习、大模型应用、数据处理等。
- Python
- R
- Julia
- C++
- Scala
- NumPy
- Pandas
- Polars
- Dask
- Spark
- Scikit-learn
- XGBoost
- LightGBM
- CatBoost
- PyTorch
- TensorFlow
- Keras
- JAX
- OpenAI API
- Anthropic API
- Gemini API
- LangChain
- LlamaIndex
- Haystack
- Transformers
- vLLM
- Ollama
- Hugging Face
- Pinecone
- Weaviate
- Milvus
- Qdrant
- Chroma
- FAISS
- MLflow
- Kubeflow
- Weights & Biases
- DVC
- Airflow
- Prefect
常见 AI 应用栈:
Python + FastAPI + OpenAI API + PostgreSQL + Redis + Docker
RAG 应用栈:
LangChain + OpenAI API + Chroma / Pinecone + FastAPI + React
机器学习训练栈:
Python + Pandas + Scikit-learn + XGBoost + MLflow
深度学习训练栈:
Python + PyTorch + Transformers + Hugging Face + Weights & Biases
数据工程负责采集、清洗、存储、计算和分析数据。
- Kafka
- RabbitMQ
- Flume
- Logstash
- Debezium
- Hadoop HDFS
- Amazon S3
- MinIO
- Hive
- HBase
- Spark
- Flink
- Presto
- Trino
- Beam
- Snowflake
- BigQuery
- Redshift
- ClickHouse
- Doris
- StarRocks
- Airflow
- Prefect
- Dagster
- DolphinScheduler
- Azkaban
- Tableau
- Power BI
- Superset
- Metabase
- Looker
常见组合:
Kafka + Spark + Hive + Airflow + Superset dbt + Snowflake + Airflow + Tableau Flink + Kafka + ClickHouse + Grafana
游戏开发技术栈包括游戏引擎、图形渲染、物理系统、网络通信等。
- Unity
- Unreal Engine
- Godot
- Cocos Creator
- C#
- C++
- Lua
- GDScript
- JavaScript
- Python
- OpenGL
- Vulkan
- DirectX
- Metal
- WebGPU
Unity 游戏:
Unity + C# + Blender + Photon
Unreal 游戏:
Unreal Engine + C++ + Blueprint + Quixel
Web 游戏:
Phaser + JavaScript + WebGL
用于硬件设备、传感器、智能家居、工业控制等。
- C
- C++
- Rust
- MicroPython
- Assembly
- Arduino
- Raspberry Pi
- ESP32
- STM32
- Nordic nRF
- Jetson Nano
- FreeRTOS
- Zephyr
- Embedded Linux
- RT-Thread
- MQTT
- CoAP
- Bluetooth
- Zigbee
- LoRa
- Modbus
- CAN
- HTTP
常见组合:
ESP32 + FreeRTOS + MQTT + AWS IoT STM32 + C + FreeRTOS + CAN Raspberry Pi + Python + MQTT + Home Assistant
用于开发智能合约、钱包、去中心化应用等。
- Solidity
- Rust
- Move
- Vyper
- Ethereum
- Solana
- Polygon
- BNB Chain
- Aptos
- Sui
- Hardhat
- Foundry
- Truffle
- Remix
- ethers.js
- web3.js
- wagmi
- viem
- RainbowKit
常见组合:
Solidity + Hardhat + ethers.js + React Rust + Solana + Anchor + React Move + Aptos + TypeScript
用于安全测试、防护、审计和监控。
- Burp Suite
- OWASP ZAP
- Nmap
- Metasploit
- Wireshark
- SQLMap
- OAuth 2.0
- OpenID Connect
- JWT
- HTTPS / TLS
- RBAC
- ABAC
- SIEM
- Wazuh
- Splunk
- ELK
- Suricata
- Zeek
- SonarQube
- Snyk
- Dependabot
- Trivy
- Checkmarx
简单版:
HTML + CSS + JavaScript
现代版:
Next.js + Markdown + Tailwind CSS + Vercel
后端版:
Django + PostgreSQL + Nginx + Docker
Vue / React + Tailwind CSS + Nuxt / Next.js + Vercel
Vue 3 + TypeScript + Vite + Pinia + Element Plus React + TypeScript + Ant Design + React Router + Axios
React / Vue + Java Spring Boot + MySQL + Redis + Elasticsearch + RabbitMQ
React + Node.js + WebSocket + Redis + MongoDB
React + Spring Boot + MySQL + Redis + OSS + WebRTC
Next.js + TypeScript + PostgreSQL + Prisma + Stripe + Vercel
React + FastAPI + OpenAI API + PostgreSQL + Redis + Vector Database
Flutter / React Native + Go / Java + MySQL + Redis + Kafka + CDN + Object Storage
ESP32 + MQTT + Node.js / Go + TimescaleDB + Grafana
选择技术栈时,主要看以下因素:
不同项目适合不同技术。
网站:
React、Vue、Next.js、Nuxt
企业系统:
Java、Spring Boot、Vue、MySQL
AI 应用:
Python、FastAPI、PyTorch、OpenAI API
移动 App:
Flutter、React Native、Swift、Kotlin
高并发服务:
Go、Java、Redis、Kafka
如果团队熟悉 Java,就优先选 Java。
如果团队熟悉 JavaScript,就可以选:
React + Node.js
如果团队熟悉 Python,就可以选:
Django / FastAPI
技术栈不是越新越好,而是团队能不能稳定开发和维护。
小项目:
Vue / React + Firebase / Supabase
中型项目:
React / Vue + Node.js / Django / Spring Boot + PostgreSQL
大型项目:
Spring Boot / Go + 微服务 + Kubernetes + Redis + Kafka + Elasticsearch
普通网站:
Node.js、Python、PHP、Java 都可以
高并发系统:
Go、Java、Rust、Redis、Kafka
计算密集型系统:
C++、Rust、Go、Python + C++ 扩展
AI 训练:
Python + PyTorch + GPU
低成本上线:
Next.js + Vercel + Supabase Vue + Firebase Django + SQLite / PostgreSQL
企业级部署:
Kubernetes + 云服务器 + 数据库集群 + CI/CD
成熟生态通常意味着:
- 教程多
- 问题容易搜索
- 招人容易
- 插件多
- 社区活跃
- 维护成本低
比如:
- Java + Spring Boot
- Python + Django / FastAPI
- JavaScript + React / Vue
- Go + Gin
- PHP + Laravel
推荐路线:
- HTML
- CSS
- JavaScript
- TypeScript
- React 或 Vue
- Vite
- Tailwind CSS
- Git
- 一个后端基础
推荐组合:
HTML + CSS + JavaScript + React + TypeScript + Vite
推荐路线:
- 一门后端语言
- 数据库
- Web 框架
- API
- 权限认证
- 缓存
- Docker
- 部署
Java 路线:
Java + Spring Boot + MySQL + Redis
Python 路线:
Python + FastAPI / Django + PostgreSQL + Redis
Node.js 路线:
TypeScript + Node.js + NestJS + PostgreSQL
Go 路线:
Go + Gin + PostgreSQL + Redis
推荐两条路线:
HTML + CSS + JavaScript + TypeScript + React + Node.js + PostgreSQL
进阶:
Next.js + Prisma + PostgreSQL + Tailwind CSS
Vue + Java + Spring Boot + MySQL + Redis
推荐路线:
- Python
- NumPy
- Pandas
- Scikit-learn
- PyTorch
- FastAPI
- 向量数据库
- 大模型 API
- Docker
推荐组合:
Python + PyTorch + FastAPI + OpenAI API + PostgreSQL + Vector Database
可以把技术栈理解成这样:
应用层:
React、Vue、Flutter、Spring Boot、Django、FastAPI
语言层:
JavaScript、TypeScript、Java、Python、Go、C#、C++
数据层:
MySQL、PostgreSQL、MongoDB、Redis、Elasticsearch
基础设施层:
Linux、Docker、Kubernetes、Nginx、云服务器
工程工具层:
Git、GitHub、CI/CD、测试工具、监控工具
更完整的结构:
用户界面
↓
前端框架
↓
API 通信
↓
后端服务
↓
业务逻辑
↓
数据库 / 缓存 / 消息队列
↓
服务器 / 容器 / 云平台
↓
监控 / 日志 / 安全 / 自动化部署
| 项目类型 | 推荐技术栈 |
|---|---|
| 个人博客 | Next.js + Markdown + Tailwind CSS + Vercel |
| 企业官网 | Vue / React + Nuxt / Next.js + Tailwind CSS |
| 后台管理系统 | Vue 3 + TypeScript + Vite + Pinia + Element Plus |
| 电商系统 | Spring Boot + MySQL + Redis + Elasticsearch + RabbitMQ |
| SaaS | Next.js + TypeScript + Prisma + PostgreSQL + Stripe |
| AI 应用 | Python + FastAPI + OpenAI API + PostgreSQL + 向量数据库 |
| 移动 App | Flutter / React Native / Swift / Kotlin |
| 桌面软件 | Electron / Tauri / Qt / WPF |
| 高并发服务 | Go / Java + Redis + Kafka + Kubernetes |
| 数据平台 | Kafka + Spark + Airflow + ClickHouse |
| 游戏 | Unity + C# / Unreal + C++ |
| 物联网 | ESP32 + MQTT + Go / Node.js + TimescaleDB |
| 区块链 | Solidity + Hardhat + ethers.js + React |
不是。
技术栈越多,维护成本越高。
小项目不要一上来就用:
Kubernetes + 微服务 + Kafka + Elasticsearch
可能会过度设计。
新技术不一定稳定。
选技术时要考虑:
- 是否成熟
- 是否有人维护
- 是否容易招聘
- 是否适合项目
- 是否容易部署
- 是否容易排错
React、Vue 很重要,但 HTML、CSS、JavaScript 基础更重要。
后端必须理解:
- SQL
- 索引
- 事务
- 缓存
- 并发
- 安全
- 日志
- 部署
会技术只是第一步。
真正做项目还需要:
- 需求分析
- 数据库设计
- 接口设计
- 权限设计
- 异常处理
- 测试
- 部署
- 维护
- 性能优化
假设做一个在线商城。
- React
- TypeScript
- Vite
- Tailwind CSS
- React Router
- Zustand
- Axios
- TanStack Query
负责:
- 商品列表
- 购物车
- 登录注册
- 订单页面
- 支付页面
- 用户中心
- Java
- Spring Boot
- Spring Security
- MyBatis-Plus
- Maven
负责:
- 用户管理
- 商品管理
- 订单管理
- 支付接口
- 权限认证
- 后台管理接口
- MySQL:存储用户、商品、订单
- Redis:缓存、验证码、购物车、Session
- Elasticsearch:商品搜索
- RabbitMQ:订单消息、库存扣减
- 阿里云 OSS / AWS S3
负责:
- 商品图片
- 用户头像
- 视频资料
- Linux
- Docker
- Nginx
- GitHub Actions
- 云服务器
- Prometheus
- Grafana
- Sentry
- ELK
完整技术栈可以写成:
React + TypeScript + Vite + Tailwind CSS + Java + Spring Boot + MySQL + Redis + Elasticsearch + RabbitMQ + Docker + Nginx + GitHub Actions + Prometheus + Grafana
可以这样说:
我主要使用 Java 后端技术栈,熟悉 Spring Boot、MyBatis、MySQL、Redis,也了解消息队列、Docker 和 Linux 部署。前端方面使用过 Vue 3、TypeScript、Vite 和 Element Plus,能够独立完成后台管理系统的前后端开发。
前端方向可以这样说:
我主要使用 React / Vue 前端技术栈,熟悉 HTML、CSS、JavaScript、TypeScript,掌握组件化开发、路由、状态管理、接口请求、前端工程化和基础性能优化。
全栈方向可以这样说:
我熟悉 TypeScript 全栈开发,前端使用 React 和 Next.js,后端使用 Node.js、NestJS,数据库使用 PostgreSQL,ORM 使用 Prisma,部署方面了解 Docker、Vercel 和 GitHub Actions。
技术栈就是软件开发中使用的一整套技术组合。
它通常包括:
编程语言
前端框架
后端框架
数据库
缓存
消息队列
搜索引擎
测试工具
构建工具
部署工具
云平台
监控工具
安全工具
开发协作工具
学习技术栈时,不要只背名字,而要理解:
它解决什么问题?
它适合什么场景?
它和其他技术怎么配合?
它在项目中处于哪一层?
它有什么优点和缺点?
对初学者来说,推荐先掌握一条主线:
前端路线:
HTML + CSS + JavaScript + TypeScript + React / Vue
后端路线:
Java + Spring Boot + MySQL + Redis
Python 路线:
Python + FastAPI / Django + PostgreSQL
全栈路线:
TypeScript + React + Node.js + PostgreSQL
AI 路线:
Python + PyTorch + FastAPI + 大模型 API
真正重要的不是“知道很多技术名词”,而是能用合适的技术栈,把一个项目稳定、清晰、可维护地做出来。