前端技术总结

前端技术查询

📍 一、 核心前端基础 (必学,几乎所有公司都要求)

  1. HTML (HyperText Markup Language):
    • 作用: 网页内容的骨架和语义结构。
    • 要求: 精通语义化标签、常用元素、表单等。div 只是其中一个布局元素。
  2. CSS (Cascading Style Sheets):
    • 作用: 控制网页的样式、布局和外观。
    • 要求: 精通盒模型、选择器、定位、布局技术(特别是 FlexboxGrid)、响应式设计(媒体查询)。flex 是 Flexbox 布局的一部分。Sass/Less 是 CSS 预处理器(提升效率,必学其一,Sass 更主流)。Bootstrap/Tailwind 是 CSS 框架(非常常用,了解或掌握其一,Tailwind 增长快)。
  3. JavaScript (ECMAScript):
    • 作用: 实现网页的交互逻辑、动态内容、数据处理。
    • 要求: 精通核心语法、DOM/BOM 操作、事件处理、异步编程(Promise, async/await)、ES6+ 新特性(箭头函数、解构、模块化等)、基础数据结构与算法。
  4. 浏览器工作原理与 API:
    • 作用: 理解页面如何加载、渲染、执行;利用浏览器提供的能力。
    • 要求: 了解关键渲染路径、事件循环。熟悉常用 Web API:Fetch API (替代老旧的 XMLHttpRequest/Ajax)、JSON 处理、本地存储 (localStorage, sessionStorage)。

📍 二、 核心前端框架/库 (必学,主流公司要求掌握至少一个)

  1. React:
    • 作用: 主流 UI 库,用于构建组件化、高效的单页应用 (SPA)。生态极其庞大。
    • 相关: React Router (路由), Redux/MobX/Context API (状态管理,虽未列出但几乎必学), Axios (HTTP 客户端库,常用), Ant Design/Material UI (UI 组件库,非常常用)。Umi/DVA 是国内基于 React 的特定框架/方案。
  2. Vue:
    • 作用: 另一个极其流行的渐进式 UI 框架,易学易用,生态丰富。
    • 相关: Vue Router (路由), Vuex/Pinia (状态管理), Axios, Element UI/Element Plus/Ant Design Vue (UI 组件库,非常常用)。uni-app 是基于 Vue 的跨端框架。
  3. Angular:
    • 作用: 一个更重量级、全功能的 SPA 框架,由 Google 维护,在企业级应用常见。
    • 相关: Angular Router, RxJS (响应式编程库,核心), Angular Material (UI 组件库)。AngularJS (v1.x) 已过时,除非维护老项目否则不必学。
  4. TypeScript:
    • 作用: JavaScript 的超集,添加了静态类型系统。在现代前端开发中,已成为事实上的必备技能或强烈推荐技能。
    • 要求: 越来越多的公司,尤其是使用 React 和 Angular 的公司,要求或强烈推荐使用 TS。它能显著提高代码质量和可维护性。

📍 三、 前端工程化 (非常重要,大中型公司普遍要求)

  1. 包管理:
    • npm (或 yarn, pnpm): 管理项目依赖的基石,必学。
  2. 版本控制:
    • Git: 绝对必备! 代码管理、协作的基础工具。需要熟练掌握常用命令和工作流 (如 Git Flow)。
  3. 构建工具:
    • Webpack: 目前最主流、最强大的模块打包器和构建工具。理解其核心概念 (入口、出口、loader、plugin) 非常重要。
    • Vite: 新一代构建工具,基于原生 ES 模块,开发速度极快,越来越流行。是 Webpack 的有力竞争者/补充。
    • Rollup: 常用于库/组件打包,输出更精简。
    • Gulp: 基于流的任务运行器,用于自动化任务 (如压缩、编译、拷贝)。虽被 Webpack/Vite 部分取代,但仍常见于老项目或特定任务。RequireJS 是较老旧的模块加载器,现代项目基本不用。
  4. 脚手架/框架集成:
    • Create React App (CRA), Vue CLI, Vite 本身的脚手架等:快速初始化项目结构的工具,必会使用。

📍 四、 特定领域/加分项 (根据公司和项目需求)

  1. 移动端/跨端开发:
    • React Native, Flutter (未列出但重要), uni-app, ionic, NativeScript 等:用于开发原生或接近原生体验的移动应用。Cordova/WebView/HybridApp 是较老的 WebView 套壳方案。
    • Android/IOS 原生知识:对跨端开发理解底层有帮助,但纯前端岗通常不要求精通。
    • HBuilder 是 uni-app 的官方 IDE。
  2. Node.js 与全栈/后端基础:
    • Node.js: 让 JavaScript 运行在服务端。对现代前端至关重要! 即使不做后端,也需要用它来运行构建工具、开发服务器、编写脚本、理解 BFF (Backend For Frontend)。
    • 相关框架/库:
      • Express/Koa: 轻量级 Node.js Web 框架 (必学基础)。
      • NestJS: 更现代化、架构清晰的 Node.js 框架 (TypeScript 友好,企业级流行)。
      • Next.js (React), Nuxt.js (Vue): 服务端渲染 (SSR) / 静态站点生成 (SSG) 框架 (提升 SEO 和首屏速度,非常重要!SSR 就是其关键能力)。
    • 后端语言 (Java, C#, Go, Python, PHP, Ruby): 纯前端岗位通常不要求精通! 但了解一门(尤其是项目后端用的语言)有助于联调、理解接口、向全栈发展。Spring Boot, Spring Cloud, MyBatis, Django, Flask 都是后端框架,前端无需掌握。
    • C, C++, VC, Delphi: 与前端开发基本无关,除非涉及非常底层的浏览器引擎开发或特定桌面应用集成(如 Electron 底层),否则可以忽略。
  3. 数据可视化:
    • ECharts, AntV (G2, G6, X6): 强大的图表库。GIS 地图相关。
  4. UI 框架/组件库:
    • 除了框架配套的 (Ant Design, Element, Material UI),还有 layUI, mUI, Bootstrap (前面提过) 等。掌握 1-2 个主流即可,原理相通。
  5. 状态管理:
    • Redux (React), Vuex/Pinia (Vue), MobX。复杂应用必备。
  6. CSS 方法论/架构:
    • BEM, CSS Modules, CSS-in-JS 等,用于管理大型项目的 CSS。
  7. 测试:
    • Jest, React Testing Library, Vue Test Utils, Cypress, Puppeteer 等 (单元测试、组件测试、E2E 测试)。越来越被重视。
  8. 性能优化:
    • 前端核心架构设计、性能优化: 这是高级/资深前端工程师的核心能力要求。包括加载性能、渲染性能、代码分割、缓存策略、监控等。需要深入理解浏览器、网络、框架本身。
  9. 运维/基础设施基础 (DevOps Lite):
    • Docker: 容器化部署,越来越普及,掌握基础概念和使用很有帮助。
    • Linux 基础命令: 服务器环境大多是 Linux,掌握基础命令是必要的。
    • Nginx: 常用 Web 服务器/反向代理,前端需要了解基本配置(如静态资源服务、反向代理 API、负载均衡)。
    • CI/CD: 持续集成/持续部署概念和实践 (如 Jenkins, GitLab CI, GitHub Actions)。了解流程很有价值。
    • DevOps: 理念,前端也需要参与其中。
    • CDN: 内容分发网络原理,前端部署需要考虑。
  10. 数据库基础:
    • MySQL, MongoDB 等:纯前端不要求会写复杂 SQL 或 NoSQL 查询! 但需要理解基本概念(表、文档、CRUD)、知道如何通过 API 与后端交互操作数据。
  11. 老技术/特定技术:
    • jQuery: 曾经是霸主,现在新项目很少用,但维护老项目可能需要了解。
    • zepto: 类似 jQuery,更轻量,用于移动端,现在也较少。
    • Gulp (前面提过), RequireJS (前面提过)。
    • LayUI, mUI: 特定 UI 框架。
    • OTT: 过顶内容,与前端技术本身关系不大,可能指特定业务场景。
    • GUI agent, AI agent: 概念宽泛,非前端通用技术,可能指特定应用场景(如自动化测试工具、集成AI功能)。

📍 五、 软技能与附加要求

  1. 计算机/软件工程专业: 很多公司要求,但不是绝对门槛(优秀自学/培训班出身也有机会),扎实的基础知识更重要。
  2. 技术博客/开源项目贡献: 是重要的加分项! 体现技术热情、学习能力、沟通能力和技术影响力。不是硬性要求,但能显著提升竞争力。
  3. 沟通协作能力: 与设计师、后端、产品、测试协作必备。
  4. 学习能力: 前端技术日新月异,持续学习是必须的。
  5. 解决问题能力: 核心能力。

📍技术查询渠道

PC端网站

  • 掘金社区
  • CSDN社区
  • 博客园
  • 菜鸟教程
  • 张鑫旭的个人空间(CSS完美世界作者)
  • 阮一峰的个人主页(ES6标准入门作者)
  • Stack Overflow(国外技术社区)
  • GItHub
  • 鸠摩搜书
  • BiliBili
  • LeetCode(算法)

手机APP

  • 掘金社区
  • 简书
  • CSDN
  • 微信读书

公众号类

  • 前端大学
  • 前端之巅
  • 程序人生

推荐书籍

  • JavaScript高级程序设计4(红宝书)
  • JavaScript权威指南(犀牛书)
  • JavaScript-DOM编程艺术
  • ES6教程入门
  • 深入浅出Vuejs
  • Vuejs实战
  • 图解HTTP
  • 图解TCP/IP
  • 深入浅出Node.js
  • 我的第一本算法书
  • 算法4
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

You Found Me.

支付宝
微信