大家好,我是ITCJF ~~
最近家里的事情太多了,很久没更新技术文了。期间,也收到了很多小伙伴的鼓励,谢谢大家的帮助和支持,我想感谢大家最好的方式就是持续分享好的技术文章了吧,让自己和他人持续有所收获。
好了,我们开始今天的正文。
前言
一直以来都有很多想学习Web的朋友们问我,学Web怎么学?web开发的学习路线能教教我吗?
我先告诉大家一个点,不管你是报了什么培训班,还是自己在通过各种渠道自学,你一定要注重一个东西:完整的知识体系。
感觉很迷茫?学了一段时间还是不入流?很大一部分原因是因为你没有一个完整的知识体系,你不知道自己现在的进度、未来的方向。
前言 - 学编程需要的特质
相信自己有能力,那么你就真的会有!
- 兴趣
- 坚持
- 付出
- 心态
一、前端入门
开发工具
-
VSCode
-
WebStorm
-
Atom
-
Sublime Text
-
HBuilder X
-
记事本
-
在线 IDE
HTML
- 基本语法
CSS
- 盒子模型
- 内联元素/块状元素
- 文档流
- 浮动 float
- 元素堆叠
- 块格式化上下文(BFC)
- 响应式布局
- Flex 布局
- Grid 布局
- CSS 动画
- 瀑布流
JavaScript
- 基本语法
- 基本类型
- Javascript 对象
- 原型和继承
- 作用域
- 闭包
- this
- ES6+
- 单线程与异步 Javascript
- DOM/BOM API
二、巩固基础
前端基础知识
-
互联网
-
域名
-
DNS
-
服务器
-
浏览器
- 浏览器 DOM 事件流/事件委托
- 浏览器加载顺序
- 浏览器渲染过程
- 浏览器 EventLoop
- 浏览器同源策略
- 跨域方案/CORS
- 浏览器缓存
- 常见调试技巧
-
HTTP
- HTTP 请求过程
- 常见 HTTP 协议
- HTTP 1.0/HTTP 1.1/HTTP2/HTTP3
- Ajax
- WebSocket
计算机基础
算法和数据结构
计算机网络
操作系统
软件开发基础
设计模式
Git 版本控制
Linux 服务器
三、前端工程化
研发流程
- 技术选型
- 初始化
- 开发
- 本地测试
- 代码提交
- 编译、打包、构建
- 部署
- 集成测试
- 发布上线
代码托管
- GitHub
- Gitee
- GitLab
Node.JS
包管理
- npm
- yarn
- bower
- npx
开发框架
JavaScript 框架
Vue
- Vue Router
- Vuex
- SSR
- vue-loader
React
- React DOM
- React Router
- Redux
- MobX
- React Hooks
Angular
- RxJS
- NgRx
Svelte
CSS 框架
- BootStrap
- Tailwind CSS
封装库
组件库
- Ant Design
- ElementUI
- VantUI
数据可视化
- AntV
- HighChart
- D3.js
- Echart
工具库
- jQuery
- moment
- lodash
- axios
字体图标库
- IconFont
- IconPark
- Font Awesome
脚手架
-
vue-cli
-
create-react-app
-
Yeoman
前端架构
- 前端模块化
- SPA
- 多页应用
- 前端路由
- PWA
服务端渲染
- Next.js(React)
- Nuxt.js(Vue)
- Universal(Angular)
BFF
- GraphQL
前端微服务
- qiankun
CSS in JS
- 内联样式
- 声明样式
- 引入样式
CSS 模块化
- CSS Modules
- styled-components
- Styled JSX
- Emotion
开发调试
- webpack-dev-server
- serve
内网穿透
- Ngrok
- NATAPP
CSS 预编译
- SASS
- PostCSS
- Stylus
- LESS
测试
测试分类
- 单元测试
- 集成测试
- E2E 测试
Mock
测试框架
-
Jest
-
Enzyme
-
Puppeteer
-
Mocha
-
Chai
-
Jasmine
-
Headless Browser
代码质量
开发规范
- Style Guide
类型校验
- TypeScript
代码检查
- ESLint
- StyleLint
代码风格
- Prettier
提交规范
- pre-commit
提交检查
- hosky
构建工具
自动化构建
- Gulp
- npm script
- grant
打包工具
- Webpack
- Rollup
- Vite
- Parcel
- Snowpack
CI / CD
- GitLab CI
- Jenkins
部署
Web 服务器
- Nginx
- Apache
容器
- Docker
- K8s
部署策略
- 全量发布
- 蓝绿部署
- 滚动发布
- 灰度发布
监控告警
- 前端埋点
- 错误监控
- 性能监控
- 行为监控
四、前端优化
性能优化
性能指标
- FP
- FCP
- FMP
- TTI
优化手段
-
性能监控
- Performance API
-
样式优化
-
JavaScript 优化
-
代码分割
-
资源压缩
-
打包优化
-
服务器优化
-
缓存优化
- Service Worker
-
动画性能
-
dns-prefetch
-
Lazy loading
-
优化启动性能
- 异步化
-
渲染优化
-
网络优化
-
移动端性能优化
用户体验
- 骨架屏
兼容性
浏览器兼容性
- normalize.css
- html5shiv.js
- respond.js
- Babel
- Polyfill
屏幕分辨率兼容性
跨平台兼容性
SEO
安全
- XSS
- CSRF
- 反爬虫
- SQL 注入
- DDoS
五、前端生态
静态站点构建
开发
- react-static
博客
- Gatsby.js
- Docusaurus
- Hugo
- Hexo
文档
- JekyII
- Docsify
- VuePress
- Dumi
大前端
移动应用
- Hybrid
- WebView
- React Native
- Flutter
移动应用打包
- Week
- Cordova
- Phonegap
- Ionic
桌面应用
- Electron
- NW.js
- Proton Native
小程序
- 原生
- WebView
跨端开发框架
- uni-app
- Taro
- Flutter
- Chameleon
- Wepy
- Rax
移动端调试
- Chrome Dev Tools
- Android Simulator
- IOS Simulator
Serverless
云开发
- 腾讯云云开发
- 阿里云云开发
低代码
零代码
- 腾讯云低码
- 阿里宜搭
六、前端未来
-
WebAssembly
-
智能 UI
-
CSS Houdini
WebComponents
- HTML templates(HTML模板)
- Custom elements(自定义元素)
- Shadow DOM(影子DOM)
尾声 - 持续学习