什么是前端工程师?
使用web技术栈,解决多端的图形界面交互问题的工程师。前端工程师在保证基础功能的同时,应围绕功能,深入性能、安全性、兼容性和体验等领域。
上图展示了前端的基础技术栈,如今前端远远超过了页面的范畴。包括但不限于:
- 使用Node.js开发服务端的内容;
- 使用Electron开发客户端的内容;
- 使用WebRTC实现P2P在线传输(例:多人会议);
- 使用WebGL实现3D场景可视化;
- 使用WebAssembly使得C++编写的代码可以高效的运行在浏览器上;
- ...
HTML
HTML概述
HTML传达内容,而非样式。
<!DOCTYPE html> <!-- html版本选择 -->
<html lang="en"> <!-- 根标签 -->
<head> <!-- 放置源数据(功能需要,但不需要呈现) -->
<meta charset="UTF-8">
<title>页面标题</title>
</head>
<body> <!-- 放置呈现内容 -->
<h1>一级内容</h1>
<p>段落内容</p>
</body>
</html>
浏览器对HTML解析生成DOM树:
HTML语法与规范
- 原生标签与属性值小写(大写表示自定义组件);
HTML语义化
HTML的作用是表达页面的内容与结构,在使用HTML时,能否清晰的表达出一个页面的内容与结构至关重要。清晰表达的关键就是遵循语义(元素、属性和属性值)编写HTML。具体来说,语义化HTML的优势有:
- 便于开发者维护和修改(可读性);
- 便于浏览器展示页面;
- 便于搜索引擎提取关键词、建立索引并排序(搜索引擎优化);
- 便于残疾人(正常人在特殊场景下也应被视为残疾人,如拥挤的公交车上)通过辅助设备阅读页面内容(无障碍性);