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