关于先后端分离与模板引擎

随着不一样终端(Pad/Mobile/PC)的兴起,对开发人员的要求愈来愈高,纯浏览器端的响应式已经不能知足用户体验的高要求,每每须要针对不一样的终端开发定制的版本,为了提高开发效率,先后端分离的须要愈来愈被重视,后端负责业务/数据接口,前端负责展示、交互逻辑,同一份数据接口,可用于多个终端。html

传统的先后端:前端

  后端是跟数据库跟服务器打交道的,前端是跟浏览器打交道的。但彷佛他们的职责在之前甚至于如今都并不明确,虽然前端是跟浏览器打交道,可是最终浏览器拿到的页面是服务器经过模板生成的一个临时静态页面而已。因此,实际上后端也掺和进来了,由于他要处理模板。固然,通常传统上的开发协做模式有两种:数据库

  • 一种是前端先写一个静态页面,写好后,让后端去套模板。静态页面能够本地开发,也无需考虑业务逻辑只须要实现View便可。不足是还须要后端套模板,这些前端代码后端须要浏览一遍,以避免出错。编程

  • 另外一种协做模式是,前端直接去写模板,这样作的问题在于,前端编写过程当中很依赖与后端环境,若是当后端没写完的状况下,前端几乎无法干活。json

在作先后端分离时,第一个关注到的问题就是 渲染,也就是 View 这个层面的工做,模板引擎、先后端分离、单页模式,它们本应是三个彻底分离的概念,但确实有不少现代 Web 项目同时使用了这些技术,因而它们的概念就常常被混淆。虽然它们各自并不闪耀,但当它们一块儿使用时确实能够成为现代 Web 中一种优秀的实践。

模板引擎后端

  模板引擎是至关古老的东西了,如今能看到的不少后端编程语言其实都是基于模板引擎的。但这种语言级的模板引擎其实很难让开发者满意。之前写 ASP 的时候以为用程序把数据库查询出来的数据填入页面中是一件很痛苦的事情。不是写出一堆凌乱的标签就是程序里作一堆字符串拼接。若是再考虑上内容的安全性,要作各类过滤和转义,简直会让人奔溃。

先后端分离浏览器

  先后端分离的故事得从 Ajax 提及。在 Ajax 流行起来后,你们都开始了「无刷新」之旅。当时大部分网站都是以连接形式跳转的时候,本身使用「无刷新翻页」以为已经很先进了。后来无刷新翻页也渐渐开始烂大街,百度搜一下能够搜出一坨东西,因而就开始考虑全页面的无刷新操做。渐渐地「Web 接口」这种东西出现,可是此时的「接口」其实主要仍是直接输出 HTML,并无考虑结构化之类的东西

单页模式安全

  单页模式是先后端分离的一种应用。而单页应用最主要的特色就是局部刷新,这经过前端控制路由调用AJAX,后台提供接口即可以实现,并且这样的方式用户体验更加友好,网页加载更加快速,开发和维护成本也下降了很多,效率明显提高。
 
 
先后端分离的实现对技术人员尤为是前端人员的要求会上升一个层次,前端的工做不仅是切页面写模板或是处理一些简单的js逻辑,前端须要处理服务器返回的各类数据格式,还须要掌握一系列的数据处理逻辑、MVC思想和各类主流框架。
 
优点与意义
一、完全解放前端
  前端再也不须要向后台提供模板或是后台在前端html中嵌入后台代码
二、提升工做效率,分工更加明确
  先后端分离的工做流程可使前端只关注前端的事,后台只关心后台的活,二者开发能够同时进行,在后台尚未时间提供接口的时候,前端能够先将数据写死或者调用本地的json文件便可,页面的增长和路由的修改也没必要再去麻烦后台,开发更加灵活。
三、局部性能提高
  经过前端路由的配置,咱们能够实现页面的按需加载,无需一开始加载首页便加载网站的全部的资源,服务器也再也不须要解析前端页面,在页面交互及用户体验上有所提高。
4.下降维护成本
   经过目前主流的前端MVC框架,咱们能够很是快速的定位及发现问题的所在,客户端的问题再也不须要后台人员参与及调试,代码重构及可维护性加强。
相关文章
相关标签/搜索