分层架构,先后端分离有啥坏处?

任何脱离业务发展,业务特色的架构设计都是耍流氓,不是任何公司在任何阶段都适用“先后端分离”分层架构的,今天简单聊聊实施“先后端分离”须要考虑的一些要素,供你们参考。前端

 

1、SEO上的考虑node

若是是 PC 端的站点,须要考虑是否须要强支持 SEO ,先后端分离的架构,极可能须要搜索引擎的 spider 执行完 js 才能获得完整的可收录的页面,而“执行 js ”并非全部搜索引擎都支持的,此时势必影响站点的收录json

 

固然,若是是原生 APP ,后端 node.js 只返回 json 数据,或者单页应用 SPA (对百度来讲就是一个页面),则不太须要考虑这方面的问题。后端

 

2、产品特性的考虑架构

不少产品追求酷炫的前端效果,而且对前端兼容性要求很高,前端产品改版频率很高,那么先后端分离是有必要的。前后端分离

 

不然,先后端分离只会带来更多系统架构的复杂性ide

 

3、公司发展阶段的考虑搜索引擎

公司发展的初级阶段,人比较少,对产品迭代速度的要求较高,此时更多的须要一些全栈的工程师,一我的开发从前到后全搞定。若是此时实施先后端分离,将引入“联调”一说,而且增长了沟通成本比,可能致使产品迭代的速度下降spa

 

4、人员技能考虑架构设计

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

 

结论:先后端分离不仅是一个分层架构的技术决策,和SEO、产品特性、公司发展阶段、人员知识体系相关,千万不可一律而论。

相关文章
相关标签/搜索