IT:前端进阶技术路线图(初级→中级→高级)之初级(研发工具/HTML/CSS/JS/浏览器)/中级(研发链路/工程化/库/框架/性能优化/工作原理)/高级(搭建/中后台/体验管理等)之详细攻略

发布时间:2023-08-24 17:30

IT:前端进阶技术路线图(初级→中级→高级)之初级(研发工具/HTML/CSS/JS/浏览器)/中级(研发链路/工程化/库/框架/性能优化/工作原理)/高级(搭建/Node/IDE/中后台/体验管理/数据可视化/工程体系/国际化/跨端技术/互动技术/智能化/多媒体)之详细攻略

目录

初级(前端基础、研发工具、HTML、CSS、JavaScript、浏览器、相关学习资源)

前端基础(客户端/网络/服务端/行业标准/ECMA-TC39)

研发工具(编辑器/调试预览/图片编辑器/版本管理)

HTML(元素/属性/事件/编码)

Html:网站设计的内容概览简介、网页设计流程/工具/内容组成、脚本代码之详细攻略

CSS(语法/选择器/定位/布局/样式/动画/应用)

JavaScript(语法/数据类型深入/对象/函数/原型/类/异步流程控制/模块化/异常捕获)

JavaScript:JavaScript编程语言的简介、安装、学习路线(几十项代码编程案例分析)之详细攻略

浏览器(DOM/浏览器API/网络/权限/安全与隐私/兼容性/开发者工具)

相关学习资源()

中级(研发链路/工程化基础、库、框架、性能优化、工作原理、综合能力、相关学习资源)

研发链路/工程化基础(脚手架(Scaffold),包管理,开发,构建,代码规范,测试,CI/CD)

库(原则,CSS,JS,动画,设计规范/组件,文档)

框架React(基础,组件,状态管理,路由,样式,框架,周边生态)

性能优化(指标,评估工具,优化方案)

工作原理(浏览器,JavaScirpt引擎)

综合能力(知识管理,软件工程,交互设计,开源项目)

相关学习资源

高级(搭建、Node&Serverless、IDE、中后台、体验管理、数据可视化、工程体系、国际化、跨端技术、互动技术、智能化、多媒体)

搭建(搭建标准,搭建过程,终端渲染,搭建物料)

Node&Serverless(Serverless,DevOps,数据库,调度方式,Web Frameworks)

IDE(底层能力,支撑服务,核心能力,功能模块,场景)

中后台(基础概念和规范,基础设施,开箱即用解决方案,SaaS产品)

体验管理(体验模型设计,体验数据采集,体验分析方法,数据洞察方法,体验工具、平台)

数据可视化(技术标准,数理统计,图形美学,可视化基础概念,图表类库/可视化框架,领域方案)

工程体系(初始化,开发,构建,检查,发布)

国际化(多语言,本地化,体验度量,极致性能)

跨端技术(跨端解决方案,一码多端,跨端,API,跨端搭建,跨端组件,跨端性能)

互动技术(技术标准,基础概念,互动引擎,基础知识,工程体系,基础组件,核心能力输出)

智能化(总结展望,前端算法框架,商业化能力,研发能力,业务能力)

多媒体(音视频基础,直播技术,播放器技术,Web媒体技术)


参考文章https://codechina.gitcode.host/developer-roadmap/frontend/intro/

初级(前端基础、研发工具、HTML、CSS、JavaScript、浏览器、相关学习资源)

前端基础(客户端/网络/服务端/行业标准/ECMA-TC39)

客户端

客户端
浏览器:Chrome、Safari、Firefox
APP:小程序、WebView

网络

网络:Domain、TCP/IP、DNS、HTTP

服务端

服务端
WebServer:Nginx、Apache HTTP Server、CDN
服务端语言:PHP、Java、Golang
数据库
操作系统

行业标准行业标准
W3C/WHATWG:CSS标准,HTML、XHTML、XML、HTML5标准,DOM标准,SVG标准,小程序标准
ECMA-TC39ECMA-TC39:EcmaScript标准、JavaScript标准

研发工具(编辑器/调试预览/图片编辑器/版本管理)

编辑器编辑器:Sublime Text、Visual Studio Code、WebStorm
调试预览调试预览
浏览器调试工具:FireBug、Chrome DevTools
本地服务:file://、http://、SimpleHTTPServer
在线服务:CodePen、JSFiddle
网络调试:hosts、Switchhosts,Debugging Proxy、Charles、wireshark
图片编辑器图片编辑器:Photoshop、Sketch
版本管理版本管理:Git、SVN

HTML(元素/属性/事件/编码)

元素

元素
根元素:主根元素 html、分区根元素 body
元数据:base、head
内容分区:header、footer
内容:块级内容 div、dir,文字内容 a、b、strong
图片和多媒体:audio、img
内嵌内容:iframe、object
脚本:canvas、script
表格:table、tbody
表单:button、input
可交互元素:menu、menuitem

属性

属性
常用属性:class、id、style、title
全局属性

事件事件:窗口事件、表单事件、键盘事件、鼠标事件、多媒体事件
编码编码:URL编码、语言代码、字符集

Html:网站设计的内容概览简介、网页设计流程/工具/内容组成、脚本代码之详细攻略

https://blog.csdn.net/qq_42229253/article/details/127028358

CSS(语法/选择器/定位/布局/样式/动画/应用)

语法

语法:@规则、层叠、注释、解释器、继承、简写、优先级、值定义、单位与取值类型

选择器

选择器:元素选择器、选择器分组、类选择器、ID 选择器、属性选择器、后代选择器、子元素选择器、相邻选择器、伪类、伪元素

定位

定位:position,top、left、bottom、right,z-index

布局

布局:Box Model、FlexBox、Grid、Column

样式

样式:背景、文本、轮廓、列表

动画

动画:Animation、transition

应用应用
响应式:em、vh/vw、%
自适应:@media、rem

JavaScript(语法/数据类型深入/对象/函数/原型/类/异步流程控制/模块化/异常捕获)

语法语法
值、变量
数据类型:基本类型、类型判断、类型转换
流程控制
运算(表达式、运算符):数学、比较、逻辑
函数:函数声明、函数表达式、回调函数、箭头函数
数据类型深入数据类型深入:原始类型的方法,数字类型,字符串,数组,数组方法,Iterable object(可迭代对象),Map and Set(映射和集合),WeakMap and WeakSet(弱映射和弱集合),Object.keys、values、entries,解构赋值,日期和时间,JSON序列化、反序列化
对象

对象:属性/字面量,in 、for…in,对象引用,深拷贝、浅拷贝,Symbol,垃圾收集机制,this,new,Optional chaining ‘?.’,类型转换Symbol.toPrimitive,Property flags、descriptors,getters、setters

函数

函数:调用栈,递归、尾递归,arguments、params spread,作用域、闭包,var、变量提升,IIFE、匿名自执行函数,NFE、函数命名表达式,箭头函数,new Function,setTimeout、setInterval,call、apply、bind,部分施用、柯里化

原型

原型:原型链、继承,F.prototype,Object.prototype

类:extend 继承,方法重载,构造函数,Super、[[HomeObject]],静态属性、静态函数,私有属性、私有函数,混合、Mixins

异步流程控制

异步流程控制:Callback,Promise,Promises/A+、Promisification、Thenable,async/await,generator
iterable

模块化模块化:commonJS,amd、cmd、umd、es-module
异常捕获异常捕获:try…catch…finally,throw,Error

JavaScript:JavaScript编程语言的简介、安装、学习路线(几十项代码编程案例分析)之详细攻略

https://blog.csdn.net/qq_42229253/article/details/127030497

浏览器(DOM/浏览器API/网络/权限/安全与隐私/兼容性/开发者工具)

DOM

DOM:DOM Tree,DOM Node,DOM Query,DOM Properties,DOM Modify,Styles,Coordinates、Element Scrolling,DOM Events、UI Event、Bubbling and Capturing、Event Delegate

浏览器API

浏览器API:location,history,navigator,Default Actions,event.preventDefault(),Form、change、focus、blur、submit

网络

网络:XHR,Fetch,JSONP,WebSocket

权限

权限:Cookie,Session,OAuth,SSO,JWT

安全与隐私安全与隐私:Content Security Policy (CSP),CORS,XSS,CSRF,MITM,Samesite
兼容性兼容性:Can I Use,polyfill,shim,browserslist,Autoprefixer
开发者工具开发者工具:设备模式,元素面板,控制台面板,源代码面板,网络面板,性能面板,内存面板,应用面板,安全面板

相关学习资源()

\"\"

中级(研发链路/工程化基础、库、框架、性能优化、工作原理、综合能力、相关学习资源)

研发链路/工程化基础(脚手架(Scaffold),包管理,开发,构建,代码规范,测试,CI/CD)

脚手架 (Scaffold)

脚手架 (Scaffold)
CLI(command-line interface):commander,inquirer,ora,chalk,emoji
初始化(Boilerplate):create-react-app,umi,vue-cli

包管理包管理:NPM、Yarn
开发开发:dev-server,hot-reload,mock,proxy
构建构建
构建器:gulp,Webpack,snowpack,vite
JS编译:tsc,babel,esbuild
CSS编译:Sass,Less,Stylus,PostCSS
代码规范代码规范
业界流行规范:Airbnb Style Guide,StandardJS,Google Style Guide,阿里巴巴前端规约
CSS命名规范:BEM,OOCSS,SMACSS 
工具:ESLint,stylelint,commitlint,Prettier(代码格式化),husky 和 lint-staged(流程控制),F2ELint(阿里前端规约配套的Lint工具)
测试测试
单元测试:jasmine,mocha,jest,enzyme 
E2E测试:Selenium,karma,cypress,Puppeteer,Appium
覆盖率测试:istanbul
CI/CDCI/CD:TravisCI,CircleCI,Codecov,Jenkins

库(原则,CSS,JS,动画,设计规范/组件,文档)

原则

原则:DRY

CSS

CSS
作用域:scoped css,css,modules,css-in-js 
样式库:normalize.css,Bootstrap,Tailwind,Bulma

JS

JS
工具类:history,path-to-regexp,lodash,fastclick,date-fns 
网络:axios,got 
数据流:rxjs,Immer
模板引擎

动画动画:CSS动画,JS动画,Lottie
设计规范/组件设计规范/组件:Material Design,Apple Human Interface Guidelines,Ant Design,WeUI,mini-ali-ui
文档文档:jsdoc,bisheng,dumi,Storybook

框架React(基础,组件,状态管理,路由,样式,框架,周边生态)

基础基础:JSX,生命周期,Hooks,Immutable 
组件组件:AntDesign,material-ui
状态管理状态管理:Redux,Dva,Mobx,xState
路由路由
样式样式:classnames,styled-components 
框架框架:Next.js,Gatsby,react-admin,Ant Design Pro
周边生态周边生态:React Native,preact、remax、rax、taro

性能优化(指标,评估工具,优化方案)

指标

指标
真实指标:First Contentful Paint (FCP),Largest Contentful Paint (LCP),First Input Delay (FID),Cumulative Layout Shift (CLS)
实验室指标:Total Blocking Time (TBT),Time to Interactive (TTI)

评估工具

评估工具:Chrome DevTools,LightHouse,PageSpeed Insights,WebPageTest

优化方案优化方案
压缩:代码压缩,文本压缩(gzip、Brotli、Zopfli等),Tree-shaking,Code-splitting
图片优化:小图优化(css sprite、iconfont、dataURI、svg),图片格式选择,压缩(如tinypng),响应式 
加载策略:懒加载,DNS预解析、预加载、预渲染,离线化(ServiceWorker、AppCache、离线包等),HTTP缓存,数据缓存(localStorage、sessionStorage),资源加载(顺序、位置、异步等),请求合并 HTTP2,CDN,服务端渲染
执行渲染:CSS代码优化(选择器、启用GPU、避免表达式等),JS代码优化及评估
感官体验优化:骨架屏,Snapshot,Loading

工作原理(浏览器,JavaScirpt引擎)

浏览器浏览器:DOM Tree、CSSOM 渲染、绘制,会话,事件循环,垃圾回收,Webkit 深入
JavaScirpt引擎JavaScirpt引擎:V8,SpiderMonkey,JavaScriptCore

综合能力(知识管理,软件工程,交互设计,开源项目)

知识管理知识管理:Markdown,脑图,wiki,GitBook
软件工程软件工程:过程模型,需求分析,概念设计,体系结构设计,项目管理
交互设计交互设计:交互原型,视觉还原
开源项目开源项目:GitHub,OpenJS,Apache

相关学习资源

\"\"

高级(搭建、Node&Serverless、IDE、中后台、体验管理、数据可视化、工程体系、国际化、跨端技术、互动技术、智能化、多媒体)

搭建(搭建标准,搭建过程,终端渲染,搭建物料)

搭建标准

模块研发规范:Webpack Module Fedoration

模块依赖关系描述规范:Kissy Seed

模块数据描述规范:JSON Schema 规范

搭建过程模块化搭建
数据投放
页面主题
页面插件
区块搭建
终端渲染SSR
数据接口网关
国际化:跨国文件同步,多语言/多地区/多货币
多端渲染:终端识别
CDN+源站缓存架构
搭建物料模块
区块
源码页面
页面容器

Node&Serverless(Serverless,DevOps,数据库,调度方式,Web Frameworks)

Serverless

Serverless 框架:Midway Serverless
应用:云端一体化研发,服务编排,App Serverless

云平台
公有云平台AWS Lambda、阿里云 FC、腾讯 SCF
私有化平台K8S + KNative + ServiceMesh

DevOps进程管理:PM2、forever
日志
负载均衡
Shell 命令
Docker
性能监控:Alinode,Easy Monitor
web 服务器:Nginx,Tengine
数据库关系型数据库:MySQL、PostgreSQL
非关系型数据库:MongoDB、Redis、LiteDB
API Clients:REST、GraphQL
调度方式RPC:gRPC,dubbo,dnode
任务调度:Agenda
实时通信:Socket.io
消息:RabbitMQ,Kafka,mqtt
Web FrameworksExpress.js
Koa.js
Sails.js
Egg.js
Midway.js
Meteor.js
Fastify
Next.js

IDE(底层能力,支撑服务,核心能力,功能模块,场景)

底层能力Command:IDE基础功能模块之间一种解耦方式,同时提供部分内置命令供插件调用
File Service:文件服务抽象,提供FS Provider接口,可以基于 Node.js fs实现本地文件读写,或基于BrowserFS、MemoryFS等实现纯前端的- 文件系统
Storage:IDE存储服务,管理IDE如用户设置及插件配置等缓存内容
Theme/Syntax highlighting:CSS variables、Textmate、vscode-oniguruma
支撑服务插件市场:Egg、OSS 、权限管控,Group、Client分组
日志服务:spdlog
更新服务:electron-updater、差量更新
容器服务:K8S、Docker、Pounch
核心能力通信服务:遵循基于JSONRPC 2.0协议,使用vscode-jsonrpc
插件体系:兼容VS Code插件协议,自有KAITIAN插件API扩展
编辑器(LSP):Monaco Editor、Language Server Protocol
调试服务:Debug Adapter Protocol
功能模块资源管理:文件树虚拟列表
Terminal:node-pty、xterm、断连恢复
SCM 源代码管理:源代码管理抽象接口,通过Git等插件实现
Layout:可扩展、高自由度、配置化插槽
场景Local:小程序开发者工具,ProCode开发
Cloud:模块搭建,D2C,LowCode开发

中后台(基础概念和规范,基础设施,开箱即用解决方案,SaaS产品)

基础概念和规范中后台领域名词定义:物料(组件/区块/模板)、低代码引擎、微前端
中后台物料规范:文件目录、API、国际化、无障碍
中后台低代码搭建协议规范:协议结构、低代码物料描述、应用描述
微前端规范:主应用、子应用、微模块、生命周期函数
模型驱动数据模型描述协议规范:协议元信息、业务模型、API实例描述
基础设施基础UI组件库:aterial UI、AntD
物料脚手架:组件开发、模板开发
物料中心 / 资产中心:资产包
lowcode 引擎:入料模块、编排模块、渲染模块、出码模块、大纲面板、编辑面板、属性面板、属性设置器
开箱即用解决方案表单组件:动态表单
列表组件
图表组件库:ECharts、AntV、BizCharts
WebExcel SDK:SpreadJS
场景设计器 SDK:页面设计器、表单设计器、流程设计器、图表设计器
UIPaaS
微前端:single-spa、qiankun、icestark
模型驱动 SDK
工作台 SDK
SaaS产品在线设计:Figma
在线研发(Web IDE):阿里云开发平台
No-Code / Low-Code 研发平台:Power Apps、outsystems、salesforce lightning、云凤蝶、宜搭

体验管理(体验模型设计,体验数据采集,体验分析方法,数据洞察方法,体验工具、平台)

体验模型设计体验指标
体验模型
体验数据采集行为数据采集
稳定性数据采集
性能数据采集
体验分析方法任务分析:任务耗时、任务转化率、任务完成数等
表单分析:表单提交耗时、表单提交成功率、表单出错率等
主观分析:满意度(PSAT、CSAT)、净推荐值(NPS)、客户费力度(CES)等
用户反馈:工单、评价、反馈等
行为分析:行为流、热力图、网站旅程等
可用性测试
用户验收
数据洞察方法多维分析:指标、维度、筛选项概念;数据立方(cube)的旋转(rotation)、切片与切块(slice and dice)、钻取(drill-down)等操作
驱动因子分析(归因分析):启发式归因、算法归因(logistics回归、生存模型、probabilistic模型等)
行为预测:FM模型、FNN模型、PNN模型等
体验工具、平台APM平台:Sentry、ARMS、Fundebug等
体验数据平台:hotjar、fullstory、mixpanel等
综合数据平台:GrowingIO、友盟、Google Analytics等

数据可视化(技术标准,数理统计,图形美学,可视化基础概念,图表类库/可视化框架,领域方案)

技术标准Canvas
SVG
WebGL/2
WebGPU
OpenGL
数理统计统计学
平面几何
线性代数
离散数学
图形美学色彩
图形
动画
格式塔理论
可视化基础概念

数据类型
视觉通道与映射
信息密度
可视化隐喻
图形符号学与图形语法
基础图表类型:折线图,柱形图(条形图),饼状图(环型图),散点图(气泡图),雷达图,地图,多维表格,其他

绘图引擎:2D、3D

图表类库/可视化框架基础可视化框架:D3,G2,Vega
常用统计图表:Chartjs,ECharts,Highcharts
图分析与编排:Cytoscape,G6,mxGraph,Sigma.js,X6
地理空间可视化:Leaflet,L7,Mapbox,PolyMaps
领域方案监控可视化
关系可视分析
金融数据可视化
商业智能可视化

工程体系(初始化,开发,构建,检查,发布)

初始化工程模板
物料
最佳实践
开发Code Lint
Mock
Debug/Preview
构建前端资源构建
其他语言如(Typescript)
检查单测/E2E
安全扫描
CI & CD
Code Review
发布监控:上报标准,监控平台,告警诊断
安全生产:前端安全环境,攻防演练,变更管控
自动化

国际化(多语言,本地化,体验度量,极致性能)

多语言标准文案
翻译术语库
文案本地化测试
自动文案溯源
多语言banner
RTL
本地化本地化通用组件
Locale Data
CLDR-SDK
全球化数字地图
本地化开发规约
 
体验度量标准设计规范
体验度量
用研工具
极致性能CDN&网络链路
资源域名
海外性能监控
地区化实验环境
端性能
差异化投放

跨端技术(跨端解决方案,一码多端,跨端,API,跨端搭建,跨端组件,跨端性能)

跨端解决方案跨平台:Web,Electron
移动端:Hybrid,ReactNative/Weex,Flutter
一码多端规范:W3C/WHATWG,小程序,其他(XML、Dart)
框架:增强型,编译时,运行时
跨端 API桥接与通信:JSBridge
跨端 API 规范
平台配套:BridgeSDK,自动化测试,CanIUse
跨端搭建标准与规范:物料规范,搭建协议
一码多搭:Web,小程序,原生 Native
跨端调试:DevTools,模拟器调试,真机调试
统一发布
跨端组件标准与规范:脚手架,文件结构,属性与 API,发布与引用
视觉交互:自适应,平台特性
跨端组件:跨容器(H5/小程序),跨平台(PC/无线)
跨端性能性能优化最佳实践:CSR,NSR,SSR,渲染容器优化
性能指标:FCP,LCP,TTI,TBT
性能采集:性能埋点,SDK,采样与分析
性能大盘:OLAP,数据可视化

互动技术(技术标准,基础概念,互动引擎,基础知识,工程体系,基础组件,核心能力输出)

技术标准

CSS,Canvas,SVG,WebGL,WebGPU,OpenGL,Metal,Vulkan

基础概念

通用概念:场景,节点,组件,
3D概念:相机,灯光,材质,着色器,网格,后处理,环境渲染

互动引擎渲染引擎:2D,3D
物理引擎
动画引擎
声音引擎
GUI,引擎
VR/AR,引擎
基础知识图形学
数学
物理学
工程体系工具:调试工具,脚手架,IDE,插件
可视化编辑器:
资产库:美术资产,玩法资产
搭建体系:
研发平台:
基础组件降级方案:机型设备降级,特性降级,客户端版本降级
设备特性:设备输入,传感器,VR/AR
容器适配:Web,小程序/轻应用,小游戏
核心能力输出动画
微交互
游戏
VR/AR、全景
工业化渲染
多媒体:直播、音频、长短/视频等

智能化(总结展望,前端算法框架,商业化能力,研发能力,业务能力)

总结展望

理论
技术
工程体系

前端算法框架

Tensorflow.js
datacook:特征工程,数据可视化,传统机器学习算法
Pipcook:神经网络算法概述,如何定义神经网络,前端机器学习生态(Boa),模型部署,模型优化

商业化能力

数据
模型

研发能力

D2C视觉稿转编码:imgcook代码生成原理
P2C PRD转编码
S2C服务转编码:业务逻辑点识别与生成能力
C2C编码转编码

业务能力C端研发解决方案:自定义DSL,自定义组件,自定义Model,自定义编辑器插件,接口服务调用
B端研发解决方案:多场景组件识别样本制造,目标检测与图片分类模型训练,代码转换器
端智能解决方案:模型运算框架,常见业务模型能力,端智能工程能力

多媒体(音视频基础,直播技术,播放器技术,Web媒体技术)

音视频基础基础概念
容器格式
编码格式
直播技术推流
流媒体协议
流媒体服务
播放器技术拉流
Demux
解码
Remux
渲染
Web媒体技术流操作基础
WebRTC
MSE
WebAssembly
WebXR
WebGL
开源产品和框架
flv.js
hls.js
video.js
FFmpeg
OBS
MLT

\"\"

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号