Web前端知识
未分类
1.基本定义
定义:利用Web技术进行客户端产品的开发,完成客户端程序(也就是浏览器端)的开发,即在浏览器端将产品展现给用户。
与后端相比:前端客户端的环境不可预知、代码开源、数据无法隐藏,更关注页面性能和用户体验。
2.浏览器
IE、Chrome、Firefox、Safari、Opera、Edge、Netscape
3.协议
- HTTP/1.1: 
 链接
 会话
 授权
 请求
 响应
 
- HTTP/2 
 压缩
 打包
 服务器端推送
 
- WebSocket 
4.W3C标准
W3C标准主要由结构标准(HTML/XHTML/XML) 表现标准(CSS)、和行为标准(javascript) 三大部分构成。
结构标准(HTML/XHTML/XML)是指标记语言,用于建立网页的骨架,是结构层;(房子的钢筋水泥,肉身)
CSS主要设置html的样式,包括位置、颜色等,是表现层;(房子的装修粉刷,皮肤)
JavaScript是编程语言,用于实现网页的功能,完成一些交互等,是行为层;(房门、空调,灵魂)
5.三大支柱
- HTML 
- JavaScript - Prototype
- Scope
- Closure
- JSON (JavaSript Object Notation)
- AJAX (Asynchronous JavaScript and XML)
 
- CSS - Selector
- Priority
- Specificity
- Box Model
 
6.渲染引擎
- Trident (IE)
- Blink / prev. WebKit (Chrome)
- Gecko (Firefox)
- WebKit (Safari)
- Blink / prev. Presto (Opera)
- EdgeHTML (Edge)
7.JavaScript引擎
- JScript (IE8- / ASP)
- Chakra (IE9+ / Edge)
- V8 (Chrome / Opera / Nodejs / MongoDB)
- SpiderMonkey (Firefox)
- JavaScriptCore (Safari)
8.编辑器
- Sublime Text
- WebStorm
- Vim
- Atom
- Emacs
- Brackets
- Light Table
- Visual Studio
- Visual Studio Code (Linux & Mac)
9.编译任务
10.编译工具
- Grunt
- Gulp
- Brunch
- Yeoman
- Broccoli 
11.包管理
12.调试
13.质量控制
- JSLint 
- JSHint 
- jscs 
- Closure Linter
14.测试工具
- QUnit 
- Jasmine 
- Mocha 
- Selenium 
- WebDriverIO 
- Protractor
- Chai 
- Sinon.JS 
- Karma 
- nodeunit 
- tape 
- nightmare 
15.框架类/库
JS基础类库
- jQuery 
- Prototype
- Zepto
- MooTool 
JS类库
- AngularJS
- Backbone
- Knockout
- Ember
- React 
- polymer
- Deft.js 
- Vue 
- Riot
模块化
- ES6 Module
- CommonJS 
 
- AMD 
 
- UMD
UI框架
- Bootstrap
- Semantic UI 
- Foundation 
- Material UI 
- WinJS 
- Pure 
- Amaze UI 
数据可视化
- D3
- Echarts
- HighCharts
- Vis.js
- Flot
流程控制
CSS3 动画
- Animate.css
- bounce.js
- Effeckt.css
- move.js
函数式编程
- bacon.js 
- immutable.js 
- ramda 
- underscore.js 
- lodash 
- ReactiveX 
手机 UI 框架
- jQuery Mobile 
- Jo 
- Dojo Mobile
- Lungo 
16.CSS预处理器
17.模板引擎
- Handlebars 
- Haml 
- Slim 
- Jade 
- Ejs
- Spacebars
- mustache 
18.统一化
19.最佳实践
20.安全
21.中间语言
- CoffeeScript 
- TypeScript 
- ClojureScript 
- JSX (Facebook)
22.移动应用开发
- PhoneGap / Cordova
- MUI 
- React Native 
- Ionic 
23.桌面应用开发