84

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

 6 years ago
source link: http://mp.weixin.qq.com/s/ZKjKUkWkNqxiwNEjBDXtiQ
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

Original 58沈剑 架构师之路 2017-11-07 12:21 Posted on

前文《互联网分层架构,为啥要前后端分离?》详细介绍了前后端分离的缘起,很多朋友在评论中留言,纷纷表示,要往前后端分离架构上转型。

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

一、SEO上的考虑

如果是 PC 端的站点,需要考虑是否需要强支持 SEO ,前后端分离的架构,很可能需要搜索引擎的 spider 执行完 js 才能得到完整的可收录的页面,而“执行 js ”并不是所有搜索引擎都支持的,此时势必影响站点的收录

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

二、产品特性的考虑

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

否则,前后端分离只会带来更多系统架构的复杂性

三、公司发展阶段的考虑

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

四、人员技能考虑

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

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

前后端分离,你的意见呢?

阅读前序文章,“分层架构设计”的背景与来龙去脉更加清晰:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK