前端语言基本能力
CSS
developer.mozilla.org/zh-CN/docs/…
JavaScript
- 借鉴C语言的基本语法
- 借鉴Java语言的数据类型和内存管理
- 借鉴Scheme语言,将函数提升到“第一等公民”(first class)的地位
- 借鉴Self语言,使用基于原型(prototype)的继承机制
Browser
前端语言协作能力
Trending
CSS in HTML
Inline CSS
<p style="color: blue;">This is a paragraph.</p>
Internal CSS
<head>
<style type = text/css>
body {background-color:blue;}
p{ color: yellow;}
</style>
</head>
External CSS
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
JavaScript in HTML
to-do
HTML in JavaScript
//file: render.js
function renderHello() {
var template = document.getElementById('template').innerHTML;
var rendered =Mustache.render(template, { name: 'Luke' });
document.getElementById('target').innerHTML = rendered;
}
<html>
<body onload="renderHello()">
<div id="target">Loading...</div>
<script id="template" type="x-tmpl-mustache">
Hello {{ name }}!
</script>
<script src="https://unpkg.com/mustache@latest"></script>
<script src="render.js"></script>
</body>
</html>
JSX
class HelloMessage extends React.Component {
render() {
return(
<div>
Hello{this.props.name}
</div>
);
}
}
ReactDOM.render(
<HelloMessage name="Taylor" />,
mountNode
);
CSS in JavaScript
to-do
HTML5
HTML DTD
HTML不是图灵完备,只是标记语言。
WebAssembly
拓展
对用户友好
- 无需安装
- 无需强大硬件
- 升级非常方便
- 容错率强
- 传播方便
对开发者友好
- 心智模型成熟
- 丰富的API能力
- 框架、工具标准化
- 开发、调试简单
- 具备跨平台能力
领域成熟度
- whatwg/w3c/ecma
- 浏览器厂商整合
- 各类Web应用风靡
- 商用平面设计标准化
- 全面组件化
未来的方向
- 效率工具(Rust)
- JS 2 Anything
- 服务端容器化
- 低(无)代码站点
- 大前端的统一
- 三维可视化