课程介绍
主要内容
全栈式:
- HyperText Markup Language (HTML)
- Cascading Style Sheets (CSS)
- JavaScript
- Asynchronous JavaScript and XML (Ajax)
- Nodejs
- Structured Query Language (SQL) for interacting with databases
性能优化:
- http
- 方法、理论和实践
浏览器
拥抱不确定性
十年前:微软垄断下严格限定的边界
现在:
- 宽松
- 比如响应式 web 设计、渐进渐强
- 放弃所谓绝对的解决方案……
- 不同设备,不同的浏览器,不同规格的屏幕访问
从微软独家垄断到今天百花齐放
- 第一次浏览器大战:1995 - 1999
- 后 .com 时代:2000 - 2005,IE 占据了 90% 左右的市场份额
- 今天:
- Chrome,Firefox,Opera,Safari,IE
- 移动设备的大规模增长
- 浏览器版本更新频率极快
我们现在所处的位置
可变因素:
- 屏幕分辨率
- 像素深度
- 浏览器兼容性
- 屏幕大小
- 人机交互输入框类型
浏览器
四大派系,核心是布局引擎,用以决定文档和样式如何渲染:
- 微软的 Trident,IE 的内核
- 基于开源项目 WebKit 的浏览器
- 基于 Blink 开源项目的浏览器
- 2013 从 Webkit 中派生,是最新版的 Chrome 和 Opera 的布局引擎
- Mozilla 公司的 Gecko,Firefox 的内核
JavaScript 引擎
- Chakra,IE
- SquirrelFish Extreme/Nitro,Webkit
- V8,Chrome 和 Opera:第一个在执行前将 JS 编译为原生代码的 JS 引擎
- SpiderMonkey,Firefox
浏览器市场份额
因此,测试尽可能多的浏览器是必要。然而为特定浏览器或浏览器版本开发或写特定的代码,很少奏效。这是一个过于庞大的清单。需要考虑的是特性,特性检测。
学习资源
Recommended Text
侯策著,《前端开发核心知识进阶:从夯实基础到突破瓶颈》。电子工业出版社,2020。
Others:参见各章
电子资源
- https://devdocs.io/
- MDN Web Docs,https://developer.mozilla.org/zh-CN/
- W3C Documentation,http://www.w3.org/
- http://www.w3schools.com/
- <www.stackoverflow.com>
- https://frontendchecklist.io/
- https://scotch.io/
- Egghead
- https://frontendmasters.com/
Software
- VS code/Atom.io/Sublime Text/JetBrains WebStorm
- Chrome:开发者工具,便于调试,与标准兼容性好,Web 开发的首选浏览器。