任何脫離業務發展,業務特點的架構設計都是耍流氓 ,不是任何公司在任何階段都適用“前后端分離”分層架構的,今天簡單聊聊實施“前后端分離”需要考慮的一些要素,供大家參考。
一、SEO上的考慮
如果是 PC 端的站點, 需要考慮是否需要強支持 SEO ,前后端分離的架構,很可能需要搜索引擎的 spider 執行完 js 才能得到完整的可收錄的頁面,而“執行 js ”并不是所有搜索引擎都支持的,此時勢必 影響站點的收錄 。
當然,如果是原生 APP ,后端 node.js 只返回 json 數據,或者單頁應用 SPA (對百度來說就是一個頁面),則不太需要考慮這方面的問題。
二、產品特性的考慮
很多產品追求 酷炫的前端效果 ,并且對前端 兼容性要求很高 ,前端產品改版頻率很高 ,那么前后端分離是有必要的。
否則,前后端分離只會帶來更多 系統架構的復雜性 。
三、公司發展階段的考慮
公司發展的初級階段,人比較少,對 產品迭代速度的要求較高 ,此時更多的需要一些全棧的工程師,一個人開發從前到后全搞定。如果此時實施前后端分離,將引入“聯調”一說,并且增加了溝通成本比,可能導致 產品迭代的速度降低 。
四、人員技能考慮
傳統 FE 與后端 Java/PHP 工程師的合作方式, FE 工程師不需要有很深的后端功底,一旦引入前后端分離, node.js 層的前端同學 需要了解更多的后端知識體系 ,不排除有 FE 同學對后端技能的排斥, 引發人員的不穩定 。
結論 :前后端分離 不只是一個分層架構的技術決策 ,和 SEO、產品特性、公司發展階段、人員知識體系 相關,千萬不可一概而論。
本文轉載自網絡,版權歸原作者所有!文章轉載請保留網址:http://waterplane.cn/news/industry/1946.html