我理解的前端模板技术
前端模板技术分为两个层面,服务器端模板技术和客户端模板技术,模板技术是一种技术发展的产物,目的是复用,依据是动静分离原则,什么是动,什么是静,什么是复用,什么是关注点分离。
1、基于服务器端的java模板技术。比如:FreeMarker,velocity 等,目的是替代jsp或者提高jsp的开发效率,本质仍然是jsp,通过java的DTO与业务逻辑,控制html页面或者元素的生成,最终能够动态的根据java业务逻辑和bean的属性值生成浏览器能够解释的html,只不过这个过程中生成的html并没有真正的保存成我们看到的xxx.html。
2、基于客户端javascript的模板技术。比如angularjs、backbonejs、emberjs等,他们各有特点,本质也很明确,就是替代传统的模板技术,将前端展示与业务模型彻底分离,并将复用技术推到极致,带宽复用,动静分离,数据与展示逻辑分离。这种技术是基于客户端设备的处理能力、html的能力、http协议的能力、浏览器的实现能力为基础,逐步发展形成的。从软件技术发展的角度看,更像是基于流的、增量下载增量更新的、跨平台的C/S技术的一种表现形式。从客户端的角度看,这种html+css+div+js的技术会取代以古老的applet、swing,以及不太老的flash,flex技术,这得归功于上面提到的各种能力的支持。
目前来看,rich client的技术还在发展,html的通用框架模式和最佳实践会不会成为下一代的标准?浏览器的能力可以提供更多地展现交互形式?进一步提升开发者的开发效率?
浏览器是个平台,我们都是上面的应用。