Web前端技术概览
web前端历史
浏览器是前端同学的主战场。
链接:浏览器发展简史
标准缺失
浏览器厂商各自实现
直到HTML5草案的出现,标准才逐渐统一。
前端同学开始释放生产力,各种复杂应用出现(gmail 、网页游戏等)。
HTML标签
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
HTML 使用标记标签来描述网页:div 、span 、p 等等。
HTML标签
HTML5标准:
带来更语义化的标签,更丰富的API,可以创建功能更强大的应用。
<nav>
<a href="/html/">HTML</a> |
<a href="/css/">CSS</a> |
<a href="/js/">JavaScript</a> |
<a href="/jquery/">jQuery</a>
</nav>
article、footer、header、nav、section, calendar、date、time、email、url、search等。
CSS
控制网页的样式和布局。
<html>
<head>
<style type="text/css">
h1 {color:red}
</style>
</head>
<body>
<h1>这是 heading 1</h1>
</body>
</html>
CSS
CSS3:
圆角、阴影、动画、2d/3d转换、过渡、布局方案
JavsScript
唯一运行在浏览器环境的语言。
if (time<20){
x="Good day";
}else{
x="Good evening";
}
console.log(x)
JavaScript core
浏览器对象 BOM
文档对象 DOM
前端应用
图形图像/游戏
图形图像
浏览器
问题
工程化
预处理器:
LESS / SASS、Babel、jade、TypeScript
模块化:
JS模块化,项目模块化拆分,css模块化,组件化等。
自动化测试:
UI自动化测试、TDD/BDD测试
前后端分离:
前后端解耦,只通过接口交流,前端MVC框架处理数据界面。
工程化
构建部署:
手动部署早已不适合大用户量的互联网产品。必须有系统支持自动部署等能力。
代码管理:
svn/git
规范:
遵循同一套编码规范。
前端基础设施:
基于以上工程化&非工程化要求,会有一些基础设施来帮助前端更好的完成工作。
性能
用户体验至上,应用性能需要尽可能的好。
浏览器渲染性能:
页面加载速度:
前端类库
为了更快更好的开发应用,我们需要前端框架/类库。