从软件技术发展至今,会发现每一种信息数据类型,都会有对应的信息处理工具:
信息处理工具 | 信息数据类型 | 代码混合 |
---|---|---|
javascript | 基本数据类型 | 否 |
html dom api | HTML数据模型 | 是 |
css api | CSS数据模型 | 是 |
服务器动态页面 (ASP、JSP、PHP) | 后端数据类型、HTML数据模型、CSS数据模型、前端逻辑代码 | 是 |
JQuery | HTML数据模型 | 是 |
JSX | HTML数据模型 | 是 |
MV模板引擎 | HTML数据模型 | 否 |
MVVM模板引擎 | HTML数据模型 | 否 |
less、scss | CSS数据模型 | 否 |
其中服务器动态页面技术,已经不是主流的前端信息处理工具,因为业务逻辑容易跑到表现层中,甚至业务逻辑代码与前端代码聚集在一起,不利于可读和模块化的理解。
JQuery使用函数式编程处理HTML数据模型的集合,简单理解就是代码量更少的处理相同的功能,代码量更少代码就越容易观察可读,更容易理解。JQuery相对于“html dom api”处理信息的性能要慢比较多。
JSX是一种可以在javascript上写html标签来创建HTML数据模型,也就是在js中的嵌入式模块,简单理解就是代码量更少的创建HTML数据模型,代码量更少代码就越容易观察可读,更容易理解,同时保证了HTML数据模型创建的性能,但HTML信息的处理依然使用javascript。
MV模板引擎使HTML信息处理与javascript分离,使HTML信息更聚集在一块,更容易观察可读,更容易理解。
MVVM模板引擎是在MV模板引擎的基础上改进,具备MV模板引擎的特点的同时,使HTML数据模型的修改性能更快,因为数据的修改不需要HTML数据模型重建。
“less、scss”用于处理CSS信息数据,使得避免使用服务器动态页面技术来处理CSS信息数据,避免业务逻辑代码混入其中。并且“less、scss”是预处理,服务器动态页面技术属于动态处理,预先处理的每次请求CSS文件无需计算,动态处理的每次请求都需要重新计算。
可以发现,为了使某些常用的信息具备更高的可读性,会对信息采用代码量越少可读性更高的表达形式,不同的表达还需要独立的信息处理。