什么是前后端模板引擎?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
beetl 是后端模板引擎,就你看到的绝大部分互联网页面都是后台模板引擎生成,还有不少传统管理系统也有后端模板引擎发挥的地方,后端模板引擎有些地方是不能代替的,如果站在前端模板引擎看后端:
1.内容生成静态页面,大部分网站还需要后端生成静态页面分发。
2.后段发送的邮件,微信,短信等还只能后端模板引擎生成,一些框架代码生成功能也需要
3.对于SEO 优化来说,前端模板引擎对搜索引擎不友好。
4.传统IT应用来说,后端模板引擎可以和前端模板引擎混合使用,后段模板引擎可以从布局等入手,前端模板引擎可以从页面片段入手,比如你看到的一个网页,用户登录信息现实可能是后段模板引擎渲染出来的,显示的Top10新闻既可以是后端渲染,也可以是前端模板引擎渲染。
5.就模板引擎功能而言,后端模板引擎功能还是强大很多
前后端模板引擎主要区别来源于,前者更接近UI,后者更接近数据,因此,使用起来效果很不一样。
比如用户登录成功功能后,管理系统会在顶部显示登录用户的名称,性别,所属公司,这是用后端模板引擎渲染还是前端模板引擎渲染好呢?无论从UI体验,还是系统效率来说,后端模板引擎更合适,当用户看到页面,就能看到自己信息,而不需要另外一次JSON加载和前端渲染,这在计算机网络中,叫着“”捎带“,普遍用于互联网传输,用于提高效率
再比如,要是显示此登录用户性别,我们知道,性别肯定以数字存放到数据库,如果是后段模板引擎渲染,可以从数据字典缓存里取出置换成性别。如果是前端模板引擎,由于远离数据,因此必须要求后端准备好一切数据(即显示模型),略有点麻烦。
另外,从页面整体布局来看,这还是后段模板引擎强项,提供layout,include等布局方式,并可以灵活切换布局风格,对于前端模板引擎,这方面功能还是很弱,或者还没有精力完善。
业界趋势上我认为前端模板引擎逐渐从页面的小片段渲染过渡到整体渲染,使用的情况越来越多。但就我上面所说的那样,后端模板引擎也不可替代。无论你看到的oschina,或者taobao,拉钩网等等,总有后端模板引擎的影子,你的工作经验越丰富,就越有用到后端模板引擎的地方。
在你具备强大的前端团队情况下,使用前后端分离,前端模板引擎更好。这就不在技术讨论范围里了。