任何脱离业务发展,业务特点的架构设计都是耍流氓 ,不是任何公司在任何阶段都适用“前后端分离”分层架构的,今天简单聊聊实施“前后端分离”需要考虑的一些要素,供大家参考。
一、SEO上的考虑
如果是 PC 端的站点, 需要考虑是否需要强支持 SEO ,前后端分离的架构,很可能需要搜索引擎的 spider 执行完 js 才能得到完整的可收录的页面,而“执行 js ”并不是所有搜索引擎都支持的,此时势必 影响站点的收录 。
当然,如果是原生 APP ,后端 node.js 只返回 json 数据,或者单页应用 SPA (对百度来说就是一个页面),则不太需要考虑这方面的问题。
二、产品特性的考虑
很多产品追求 酷炫的前端效果 ,并且对前端 兼容性要求很高 ,前端产品改版频率很高 ,那么前后端分离是有必要的。
否则,前后端分离只会带来更多 系统架构的复杂性 。
三、公司发展阶段的考虑
公司发展的初级阶段,人比较少,对 产品迭代速度的要求较高 ,此时更多的需要一些全栈的工程师,一个人开发从前到后全搞定。如果此时实施前后端分离,将引入“联调”一说,并且增加了沟通成本比,可能导致 产品迭代的速度降低 。
四、人员技能考虑
传统 FE 与后端 Java/PHP 工程师的合作方式, FE 工程师不需要有很深的后端功底,一旦引入前后端分离, node.js 层的前端同学 需要了解更多的后端知识体系 ,不排除有 FE 同学对后端技能的排斥, 引发人员的不稳定 。
结论 :前后端分离 不只是一个分层架构的技术决策 ,和 SEO、产品特性、公司发展阶段、人员知识体系 相关,千万不可一概而论。
本文转载自网络,版权归原作者所有!文章转载请保留网址:http://www.iswweb.com/news/industry/1946.html