利用vue和php前后端分离

一.为什么要前后端分离

      业务越来越复杂,端上的产品越来越多,展现层的变化越来越快越来越多,站点层存在大量代码拷贝,数据获取复杂性成为通用痛点的时候,就应该进行前后端分离分层抽象,简化数据获取过程,提高数据获取效率,向上游屏蔽底层的复杂性。

二.分工

这里后端的工作一般是:

  • 编写Lumen代码,提供服务
  • 写好Restful的API文档
  • 用postman进行测试

前端的工作一般是:

  • 编写Vue代码
  • 打包编译
  • 使用Node转发API请求,解决跨域问题
  • 使用PM2处理并发请求

三.好处

    一切的架构设计都是为了更好服务实际的业务场景,实现利益的最大化。前后端分离后可以使前后端工程师分工更加明确,让后端工程师专注于业务逻辑的实现以及性能优化,安全。前端工程师专注于用户体验,交互模式。大家各司其职,提高工作效率,充分发挥各自的长处。  

四.坏处

   任何脱离业务发展,业务特点的架构设计都是耍流氓,不是任何公司在任何阶段都适用“前后端分离”分层架构的。

1、SEO上的考虑

   如果是 PC 端的站点,需要考虑是否需要强支持 SEO ,前后端分离的架构,很可能需要搜索引擎的 spider 执行完 js 才能得到完整的可收录的页面,而“执行 js ”并不是所有搜索引擎都支持的,此时势必影响站点的收录当然,如果是原生 APP ,后端 node.js 只返回 json 数据,或者单页应用 SPA (对百度来说就是一个页面),则不太需要考虑这方面的问题。

2、产品特性的考虑

   很多产品追求酷炫的前端效果,并且对前端兼容性要求很高,前端产品改版频率很高,那么前后端分离是有必要的。否则,前后端分离只会带来更多系统架构的复杂性 

3、公司发展阶段的考虑

   公司发展的初级阶段,人比较少,对产品迭代速度的要求较高,此时更多的需要一些全栈的工程师,一个人开发从前到后全搞定。如果此时实施前后端分离,将引入“联调”一说,并且增加了沟通成本比,可能导致产品迭代的速度降低

4、人员技能考虑

   传统 FE 与后端PHP工程师的合作方式, FE工程师不需要有很深的后端功底,一旦引入前后端分离, node.js 层的前端同学需要了解更多的后端知识体系,不排除有 FE 同学对后端技能的排斥,引发人员的不稳定


你可能感兴趣的:(软件开发)