目录
- 概述
- 学习路线 (Learning Route)
- 阶段 0:Web 基石 (The Bedrock)
- 阶段 1:现代开发生态与工具链 (The Modern Toolkit)
- 阶段 2:UI 实现与 CSS 架构 (Styling & UI Architecture)
- 阶段 3:现代 JS 框架 (The Frameworks - Choose Your Path)
- 阶段 4:专业应用开发 (Professional Application Development)
- 阶段 5:测试与质量保证 (Testing & QA)
- 阶段 6:高级架构与性能 (Advanced Architecture & Performance)
- 阶段 7:部署与前端 DevOps (Frontend Deployment & DevOps)
- 平行专业领域 (Vertical Specializations - Deep Dive Tracks)
- 贯穿始终的核心素养 (Cross-Cutting Concerns)
- 职业核心素养 (Professional Core Competencies)
- 开发环境与辅助工具 (Development Environment & Supporting Tools)
概述
浅浅整理一下前端开发的技术栈吧~
第一部分是学习路线(分 8 阶段),第二部分是专精方向(分 4 个),第三部分是前端开发需要具备的某些能力,第四部分是程序员需要具备的某些能力,第五部分是前端开发工具。对于每个概念,只列出了概念的名称,有的给出英文翻译,而没做进一步的解释。我把我个人认为比较重要的技术栈加粗了。
能力有限,肯定有遗漏之处,敬请广大读者提出宝贵的意见和建议!
OK,我们开始——
学习路线 (Learning Route)
阶段 0:Web 基石 (The Bedrock)
- HTML: 超文本标记语言
- 核心: 语义化 (Semantics), 文档大纲
- 交互: 表单 (Forms), 各类
<input>
及其属性 - 可访问性 (Accessibility): a11y, ARIA Roles, 屏幕阅读器
- CSS: 层叠样式表
- 核心原理: 层叠 (Cascade), 特异性 (Specificity), 继承 (Inheritance), 盒模型
- 现代布局: Flexbox, Grid
- 响应式设计: 媒体查询 (Media Queries), 移动优先
- 单位与函数:
rem
,em
,vw/vh
,clamp()
,calc()
- JavaScript: 核心语言 (ECMAScript)
- 基础语法: ES6+ (let/const, 箭头函数, 解构, 扩展语法)
- 核心概念: 作用域与闭包,
this
与原型链 - 异步编程: Promise,
async/await
, 事件循环 (Event Loop), 宏任务/微任务 - 数据结构与方法: Array, Object, Map, Set, 迭代器
- 模块化:
import
/export
阶段 1:现代开发生态与工具链 (The Modern Toolkit)
- JavaScript 运行时 (Runtimes)
- 主流: Node.js
- 新一代: Deno, Bun
- 包管理器 (Package Managers)
- 常用: npm, pnpm, yarn
- 版本控制 (Version Control)
- 核心: Git
- 平台: GitHub, GitLab, Gitee
- 语言扩展 (Supersets)
- 主流: TypeScript
- 构建与编译 (Build & Compilation)
- 现代构建工具: Vite, esbuild
- 传统构建工具: Webpack, Rollup
- Rust 驱动工具: Turbopack, SWC
- 代码质量与格式化 (Linting & Formatting)
- JS/TS: ESLint
- CSS: StyleLint
- 格式化: Prettier
阶段 2:UI 实现与 CSS 架构 (Styling & UI Architecture)
- 高级 CSS (Advanced CSS)
- 关系选择器:
:has()
- 响应式增强: 容器查询 (Container Queries)
- 动态化: 自定义属性 (CSS Variables)
- 现代特性: CSS Grid subgrid, CSS Nesting
- 关系选择器:
- CSS 预处理器 (Preprocessors) :Sass/SCSS, Less
- CSS 架构与方法论
- Utility-First: Tailwind CSS
- CSS 组件/UI 模式库: HeroUI, Tailwind UI, DaisyUI
- CSS-in-JS: Styled-Components, Emotion
- 作用域化: CSS Modules
- 传统方法论: BEM
- Utility-First: Tailwind CSS
- 设计工程化 (Design Engineering)
- 概念: 设计系统, 设计令牌 (Design Tokens)
- 组件驱动开发 (CDD): Storybook
- UI 组件库 (UI Component Libraries): Ant Design, Material-UI (MUI), Chakra UI, Element Plus, Mantine UI
阶段 3:现代 JS 框架 (The Frameworks - Choose Your Path)
- A. 编译优先型 (Compiler-First)
- 框架: Svelte/SvelteKit, SolidJS, Vue (Vapor 模式)
- B. React 生态 (The React Ecosystem)
- 核心库: React, Preact (轻量级)
- 元框架: Next.js, Remix
- C. 内容优先型 & 静态站点生成 (Content-First & SSG)
- 概念: 静态站点生成 (SSG), Jamstack
- 现代框架: Astro (岛屿架构)
- React 生态 SSG: Gatsby
- 非 JS 框架 SSG: Hugo, Jekyll
- D. 标准驱动型 (Standards-Based)
- 核心库: Lit
- 底层标准: Web Components
- E. 理念创新型 (Innovative Concepts)
- 可恢复性: Qwik
- 超媒体驱动: htmx
阶段 4:专业应用开发 (Professional Application Development)
- 状态管理 (State Management)
- Vue 生态: Pinia
- React 生态: Zustand, Redux Toolkit, Recoil, Jotai
- 数据请求与缓存 (Data Fetching & Caching)
- 主流库: TanStack Query (React Query), SWR, Apollo Client (GraphQL)
- HTTP 客户端:Axios
- API 范式 (API Paradigms)
- 查询: REST, GraphQL, gRPC-Web
- 实时通信: WebSockets (Socket.IO), WebRTC, Server-Sent Events (SSE)
- 浏览器数据持久化 (Client-Side Data)
- 友好封装: Dexie.js (IndexedDB)
- 离线同步: PouchDB
- 浏览器内 SQL: sql.js (SQLite/Wasm), Absurd-SQL
- 前端数据层分离 (Frontend Data Layer Separation)
- 核心概念: 理解并区分服务端状态 (Server State) 与客户端状态 (Client State)
- 实践: 将 TanStack Query / SWR 等库用于管理异步获取的“服务端状态”,而将 Zustand / Redux 等库用于管理纯粹的、同步的“客户端 UI 状态”。
阶段 5:测试与质量保证 (Testing & QA)
- 测试策略: 测试金字塔
- 单元/组件测试 (Unit/Component Testing)
- 运行器: Vitest, Jest
- 核心库: Testing Library
- 端到端测试 (End-to-End Testing)
- 主流工具: Playwright, Cypress
- 视觉回归测试 (Visual Regression Testing)
- 平台: Chromatic, Percy
阶段 6:高级架构与性能 (Advanced Architecture & Performance)
- 性能优化 (Performance Optimization)
- 度量标准: Core Web Vitals (LCP, INP, CLS)
- 分析工具: Lighthouse, WebPageTest, Chrome DevTools Performance Panel
- 优化技术: 代码分割, 懒加载, 预加载, 缓存策略
- 前端架构模式 (Architectural Patterns)
- 宏观架构: 微前端 (Module Federation, Single-SPA), Jamstack
- 微观架构: 原子设计, 复合组件模式
- 状态架构: Flux, Redux 模式, 状态机
- 前端 SEO 策略 (Frontend SEO Strategy)
- 核心技术: 结构化数据 (Schema.org), 预渲染 (Prerendering), 动态渲染 (Dynamic Rendering), 站点地图 (Sitemap)。
阶段 7:部署与前端 DevOps (Frontend Deployment & DevOps)
- CI/CD (持续集成/部署)
- 平台: GitHub Actions, GitLab CI, Jenkins
- 容器化 (Containerization)
- 核心: Docker
- 单体仓库 (Monorepos)
- 工具: Turborepo, Nx
- 部署平台 (Hosting Platforms)
- 主流: Vercel, Netlify, Cloudflare Pages, AWS Amplify
- 前端监控 (Monitoring)
- 性能监控: Real User Monitoring (RUM)
- 错误追踪: Sentry, Bugsnag
- 用户行为分析: 前端埋点, 热图分析
- 发布策略 (Release Strategies)
- 核心实践: 功能开关 (Feature Flags), 灰度发布/金丝雀发布 (Canary Releases), 蓝绿部署 (Blue-Green Deployment)。
平行专业领域 (Vertical Specializations - Deep Dive Tracks)
在掌握阶段 0-7 的核心能力后,可以选择以下领域进行深入学习。
专精方向 A:移动端与跨平台 (Mobile & Cross-Platform)
- 移动端 Web 开发
- PWA (Progressive Web Apps): Service Workers, Web App Manifest, Push Notifications
- 适配与交互: Viewport, Touch Events, 手势识别
- 混合应用前端 (Hybrid Apps)
- JavaScript 驱动原生: React Native
- Web 技术打包: Ionic, Capacitor
- 桌面应用前端 (Desktop Apps)
- 主流框架: Electron
- 轻量级替代: Tauri
专精方向 B:富交互、图形与多媒体 (Rich Interactions, Graphics & Media)
- 数据可视化 (Data Visualization)
- 数据驱动文档: D3.js
- 图表库: ECharts, Chart.js, AntV
- 流程图:Vue Flow, React Flow, Svelte Flow
- 科学内容渲染:Katex, MathJax
- 2D 图形与动画
- API: Canvas 2D Context, SVG, Web Animations API
- 渲染引擎:PixiJS(高性能 2D WebGL/WebGPU 渲染器)
- 动画库:Motion (Framer Motion)
- 3D 图形与游戏
- 底层 API: WebGL, WebGPU
- 高层库: Three.js, Babylon.js, TresJS
- 游戏引擎: Phaser (2D), PlayCanvas (3D)
- 音视频处理 (Audio/Video)
- API: Web Audio API, Media Streams API
- 实时通信核心: WebRTC
专精方向 C:Web3 与去中心化应用 (Web3 & DApps)
- 区块链交互
- 协议库: ethers.js, web3.js, viem
- 钱包连接: MetaMask, WalletConnect, Web3Modal
- Hooks 库: wagmi, RainbowKit
- DApp UI 开发
- 核心: 智能合约交互, 交易签名, 事件监听
- 场景: DeFi 界面, NFT 画廊与市场
- 去中心化生态
- 存储: IPFS
- 身份: ENS, DID
专精方向 D:新兴 Web 技术与 AI (Emerging Tech & AI)
- 高性能与底层 API
- WebAssembly (Wasm):
- JS 生态:Rust, Go, C++ (Emscripten)
- .NET 生态:Blazor
- WebAssembly (Wasm):
- 沉浸式体验 (Immersive Web)
- 核心: WebXR
- 框架: A-Frame
- 设备集成 (Device Integration)
- API: Web Bluetooth, Web USB, WebHID, Generic Sensor API
- 前端 AI 集成 (Frontend AI)
- 浏览器内机器学习: TensorFlow.js, ONNX.js
- 计算机视觉: MediaPipe
- 后端 AI 服务调用: LangChain, Pinecone, LlamaIndex
- 边缘计算 (Edge Computing)
- 平台: Cloudflare Workers, Vercel Edge Functions, Deno Deploy
贯穿始终的核心素养 (Cross-Cutting Concerns)
- Web 标准与可访问性 (Standards & Accessibility)
- WCAG 2.1/2.2: 完整的无障碍开发指南
- 屏幕阅读器兼容: NVDA, JAWS, VoiceOver 测试
- 键盘导航: 焦点管理、快捷键支持
- 色彩无障碍: 对比度、色盲友好设计
- 国际化 (Internationalization - i18n)
- 库: react-i18next, vue-i18n, FormatJS
- 布局: RTL (Right-to-Left) (阿拉伯语、希伯来语等)适配
- 格式: 日期、数字、货币本地化
- Web 安全 (Security)
- 漏洞: OWASP Top 10 (XSS, CSRF)
- 策略: CSP, CORS, SRI
- 用户体验工程 (UX Engineering)
- 交互反馈: 加载状态、错误处理、成功提示
- 响应式交互: 触摸友好、手势支持
- 性能感知: 骨架屏、渐进式加载
- 代码健壮性 (Code Robustness)
- 实践: 防御性编程 (Defensive Programming), 优雅的错误处理 (Graceful Error Handling), 错误边界 (Error Boundaries in React), API 数据校验。
职业核心素养 (Professional Core Competencies)
- 技术决策与权衡 (Technical Decision-Making & Trade-offs)
- 能力: 基于业务需求、项目周期、团队技能栈和长期可维护性,进行合理的技术选型(如:框架、架构、工具链选型)。
- 代码抽象与设计能力 (Code Abstraction & Design)
- 能力: 将复杂的业务逻辑提炼为高内聚、低耦合、可复用的模块、服务或组件 API。
- 沟通、协作与文档 (Communication, Collaboration & Documentation)
- 能力: 清晰地阐述技术方案,高效地与产品、设计、后端及测试人员协作,并能编写高质量的技术文档(如:README, 设计方案, RFC)。
开发环境与辅助工具 (Development Environment & Supporting Tools)
- 代码编辑器与 IDE
- 主流编辑器: VS Code
- Web IDE: CodeSandbox, StackBlitz
- 国产 IDE: HBuilderX
- 全功能 IDE: WebStorm
- AI 工具: Cursor, Windsurf, Trae, Kiro
- 浏览器与开发者工具 (Browsers & DevTools)
- 主流浏览器: Chrome, Firefox, Edge, Safari
- 核心工具: 熟练使用 DevTools (Elements, Console, Sources, Network, Performance)
- API 测试与调试
- 工具: Postman, Insomnia, Hoppscotch
- 设计与协作
- UI/UX 设计工具: Figma, Sketch
- 设计稿交接: Zeplin