【F2E】2021大前端学习路线

2021大前端学习路线

好长时间没有进行技术总结了,今天在与老同学闲聊中被问到前端相关的学习资料,也是时候对大前端相关技术做一个梳理了,说干就干。前端生态丰富多彩,要学的东西很多,自己不懂的也很多,有些技术栈也是浅尝辄止,以下内容为个人见解并基于优先级排序。

web 发展历程

前端发展经历了一个比较漫长的发展过程,大致历程可以分为以下几个阶段:上古时代、铁器时代、小前端时代、全能前端时代

  • HTML 起源
  • HTML 2.0 规范发布
  • 万维网联盟 W3C(World Wide Web Consortium)成立
  • 网景推出 JavaScript
  • 第一次浏览器战争
  • XHTML
  • 动态页面的崛起
  • AJAX 的流行
  • 第二次浏览器大战
  • HTML 5
  • Node.js 的爆发
  • 前端 MVVM 架构
  • 移动 Web 和 Hybrid App
  • 前端为王时代

HTML5 + CSS3

HTML5 是构建 Web 内容的一种语言描述方式,CSS3 是 CSS(层叠样式表)技术的升级版本

  • HTML 基本标签和属性
  • HTML5 新标签和属性
  • CSS 样式(选择器、常用属性...)
  • CSS3 新特性(过渡、动画、2D/3D 转换、边框、圆角、背景、渐变...)
  • DIV 布局(盒模型、flex 布局、瀑布流、圣杯布局、双飞翼布局...)
  • 表单验证
  • 音视频基本操作
  • Canvas 基础(动画、游戏...)

JavaScript 基础

一种具有函数优先的轻量级,解释型或即时编译型的编程语言

  • 语法及语句
  • 内置对象
  • 函数、事件
  • 变量、作用域
  • DOM、BOM
  • OOP(面向对象)
  • 闭包
  • 数据结构
  • 常见算法
  • ES6+
  • Ajax(同源策略及处理)
  • jQuery
  • 设计模式
  • 常用正则

ES6+ 基础

既是一个历史名词,也是一个泛指

  • 变量及常量
  • 箭头函数
  • 模板字符串
  • 解构赋值(数组解构、对象解构、赋值解构...)
  • 扩展运算符(对象、数组、函数扩展...)
  • Promise 异步编程
  • generator 生成器函数
  • async/await
  • JavaScript 异步发展历程
  • Class(JavaScript 中的类)
  • 接口的制作和引用

web 及移动端

移动端 Web 其实指的是 World Wide We 全球广域网网页

  • web 基本布局及移动端布局
  • @media 媒体查询
  • flex 弹性布局
  • 响应式布局
  • 移动端事件
  • zepto.js
  • 终端设备检测
  • 性能优化

Node.js 基础

一个基于 Chrome V8 引擎的 JavaScript 运行环境

  • node 发展历程
  • 常用模块
  • 基础服务搭建
  • npm 包管理器
  • 事件驱动
  • 非阻塞异步 I/O
  • npm 包管理器
  • 事件循环及消息队列

webpack

一个模块打包器

  • 基础配置(入口、出口...)
  • 服务及热更新
  • 文件打包相关
  • 图片打包
  • webpack 模块化
  • 第三方库打包
  • webpack 打包原理
  • 前端工程化
  • CommonJS/AMD/ES Module 规范

Git

一个开源的分布式版本控制系统

  • Git 基础命令及使用场景
  • 版本推送、回退、管理、撤销、删除...
  • 远端操作
  • 分支管理

Vue.js

一套用于构建用户界面的渐进式 JavaScript 框架

  • Vue 发展历程
  • MVVM 原理及相较于 MVC 的区别
  • 虚拟 DOM 及 diff 算法
  • 组件化思想
  • 生命周期
  • 响应式原理
  • 事件处理
  • Vue 全家桶
  • Vuex 状态管理模式
  • vue-router 路由
  • 常用组件库(element、iview、Ant Design Vue...)
  • Nuxt.js 服务端渲染框架

小程序开发

一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想

  • 小程序发展历程
  • 开发环境搭建
  • 常用 API
  • 基础组件
  • 列表及条件渲染
  • 数据绑定
  • 组件与生命周期
  • 路由与事件
  • 小程序原生业务(付款、授权...)
  • uniapp 多端框架

React.js

用于构建用户界面的 JavaScript 库,起源于 Facebook 的内部项目

  • React 发展历程
  • 虚拟 DOM 及 diff 算法
  • JSX
  • 事件处理
  • 生命周期
  • 组件分类及编写
  • Redux 状态管理模式
  • React Hooks
  • 常用组件库(Ant Design、Bulma、Chakra UI、Material UI、Semantic UI...)
  • Next.js 服务端渲染框架
  • Taro 多端框架

Node.js 深入

使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效

  • Node 爬虫
  • Node 服务与高并发处理
  • Express 进阶
  • Koa 进阶
  • MySQL 关系型数据库
  • MongoDB 非关系型数据库
  • Egg/Nest 框架

ReactNative

使用 React 来编写原生应用的框架

  • RN 发展历程
  • 开发环境搭建
  • RN 布局
  • 列表组件
  • 导航相关操作

TypeScript 基础

TypeScript 是微软开发的一个开源的编程语言,通过在 JavaScript 的基础上添加静态类型定义构建而成

  • TypeScript 发展历程
  • 原始数据类型
  • 任意值
  • 类型推论
  • 联合类型
  • 对象的类型-接口
  • 数组的类型
  • 函数的类型
  • 类型断言
  • 声明文件
  • 内置对象

TypeScript 进阶

TypeScript 通过 TypeScript 编译器或 Babel 转译为 JavaScript 代码,可运行在任何浏览器,任何操作系统。

  • 类型别名
  • 字符串字面量类型
  • 元组
  • 枚举
  • 类与接口
  • 泛型
  • 声明合并

Flutter

由 Google 的工程师团队打造,用于创建高性能、跨平台的移动应用

  • Dart 基础
  • Flutter 开发环境搭建
  • Flutter 常用组件
  • Flutter 布局
  • 导航及其他扩展...

Linux 运维基础

与研发、测试、系统管理同为互联网产品技术支撑的 4 大部门

  • Linux 安装及配置
  • Linux 基础知识和命令
  • 远程连接及 SSH
  • 文本编辑及版本控制
  • 网络安全
  • Shell 脚本编写
  • 服务器管理
  • 内存与磁盘管理
  • Nginx 服务器配置

前端测试

写一些代码来验证所谓的可以交付的代码是所预期的设计

  • 单元测试
  • 性能测试
  • 大规模并发测试
  • 接口测试

编程相关

技多不压身

  • OOP/AOP
  • 数据结构与算法
  • 设计模式

计算机相关

技多不压身

  • 软件工程/软件测试原理
  • 编译原理
  • 计算机原理
  • 计算机网络
  • 操作系统
  • 算法原理

代码组织相关

技多不压身

  • 类库模块化(CommonJS/AMD/ES Module/YUI3 模块)
  • 业务逻辑模块化(Bower/Component)
  • 文件加载(LABjs/SeaJS/Require.js)
  • 模块化预处理器(Browserify)

可视化相关

技多不压身

  • SVG/Canvas/VML
  • SVG: D3/Raphael/Snap.svg/DataV
  • Canvas: CreateJS/KineticJS
  • WebGL/Three.JS

网络安全相关

技多不压身

  • CSRF/XSS
  • CSP
  • Same-origin policy
  • ADsafe/Caja/Sandbox

性能相关

技多不压身

  • JSPerf
  • YSlow 35 rules
  • PageSpeed
  • HTTPWatch
  • DynaTrace's Ajax

部署相关

技多不压身

  • YUI Compressor
  • Google Clousure Complier
  • UglifyJS
  • CleanCSS
  • JSDoc

书籍推荐

腹有诗书气自华

  • 《JavaScript 语言精粹》
  • 《JavaScript 高级程序设计(第 3 版)》
  • 《JavaScript 高级程序设计(第 4 版)》
  • 《JavaScript 权威指南》
  • 《你不知道的 JavaScript》
  • 《学习 JavaScript 数据结构与算法》
  • 《Web 性能权威指南》
  • 《深入浅出 Node.js》

Keep Learning

posted @ 2021-04-21 21:02  [ABing]  阅读(105)  评论(0编辑  收藏  举报