前后端分离之前

在前后端分离观点出现之前,我们往往都是后端直接使用后端模板引擎渲染出html页面,当然这个时候对于前端来说是异常痛苦的,他们不仅需要学习后端模板引擎的语法还得配置后端的开发环境。

前后端分离的萌芽

为了让前端无需配置后端开发环境和学习后端的模板引擎,一个简单的前后端分离方案出现了,它就是前端编写静态页面,然后通过ajax从后端拉取数据,然后渲染页面即可,而渲染方法往往就是拼接字符串或者使用js的dom操作。

前端模板渲染的进化

拼接字符串的方法对于后期维护来说是灾难性的,根本没有可读性。而js操作dom需要大量的代码量,对于开发效率来说是低效的。所以前端模板引擎应运而生,使用模板引擎往往只需要引入一个js即可,学习门槛也非常低,渲染出html之后,只需要替换特定的dom元素即可。

前端工程化

在前端进入ajax拉取数据,通过模板引擎渲染页面的时期之后。前端还存在一个亟需要解决的问题,就是多个页面之间往往存在重叠的部分,一开始前端是copy重叠部分代码到每一个页面,弊端也显而易见,就是这重叠部分一旦需要需改的话,每个页面都会被牵连到,这工作量是巨大的,这个时候前端打包技术出现了,能够让前端像后端一样页面可以引用,js和css可以合并。

Angular,React,VUE

前端圈子最热的三个框架莫过于Angular,React,VUE,从使用难度来说vue入门门槛最低,所以虽然最晚出现,但是普及相当的快。

正所谓存在即合理,那么这三个框架的出现是为了解决什么问题呢?

  • 模板渲染
  • 前端路由
  • 能够组件化开发(需要配合打包工具)
  • 更好的维护

世间没有完美的事物,这三个框架也不例外:

  • 哪怕是最简单的vue也是有一定的学习门槛
  • 要使用它们进行组件化开发,还需要额外学习打包工具的使用
  • 对于小工程来说,工作量还加大了,没体现出开发优势
一点点想说的
  • 对于管理后台开发来说,就不要用前后端分离了,只会白白增加工作量。
  • 对于临时的,或者以后无需频繁修改的页面,也考虑一下有没有必要上前后端分离。
  • 对于小型应用或者小公司而言,考虑一下有没有必要使用vue等框架(注意前后端分离还是必须的),因为越使用这些框架的高级部分,就意味着对团队的技术能力要求越高,还需要考虑以后能否找到有能力维护的人。
  • 商业产品,业务为主,不要为了技术而技术
  • 每种技术都有自己存在的意义,本文只是作者个人观点,不是说这样做就是对的,请按实际环境确定自家产品的技术平台。

更多内容请点击这里关注公众号