国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷資訊 > 網(wǎng)站運(yùn)營(yíng) > 現(xiàn)在開(kāi)發(fā)網(wǎng)站web應(yīng)用一定要前后端分離嗎?

現(xiàn)在開(kāi)發(fā)網(wǎng)站web應(yīng)用一定要前后端分離嗎?

時(shí)間:2023-11-29 16:12:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-11-29 16:12:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)

現(xiàn)在開(kāi)發(fā)網(wǎng)站web應(yīng)用一定要前后端分離嗎?:前后端分離架構(gòu)有利有弊,需要根據(jù)具體場(chǎng)景來(lái)判斷。前后端分離比較適合中大型公司,或者中大型項(xiàng)目。因?yàn)樵谥写笮凸纠锩?,開(kāi)發(fā)人員較多,分工明確。前后端分離可以讓不同的人專注在自己擅長(zhǎng)的領(lǐng)域。當(dāng)然也存在一些問(wèn)題,比如溝通成本也成本會(huì)增加,全鏈路優(yōu)化成本會(huì)變高。大公司普遍的項(xiàng)目架構(gòu)是前端 + BFF(Backend for frontend)+ 微服務(wù),其中前端包括 h5 、移動(dòng)端、pc 端等等。業(yè)界說(shuō)的大前端可以理解為前端 + BFF。

如果你開(kāi)發(fā)的是個(gè)人小項(xiàng)目,或者是小公司的一些小項(xiàng)目,完全沒(méi)有必要用前后端項(xiàng)目分離開(kāi)發(fā),因?yàn)榍昂蠖说拇a可能就是一個(gè)人完成的。前后端分離反而降低了開(kāi)發(fā)效率,需要在不同項(xiàng)目之間來(lái)回切換,甚至還需要定義各種類,如 DTO、VO、DO、BO 等等類。至于是否需要項(xiàng)目分離部署,這也要看情況,如果你希望通過(guò) CDN 加速的話,那就分離部署,把前端部署到 CDN 上。不過(guò)小項(xiàng)目,也不是特別需要。

現(xiàn)在大公司,特別是國(guó)外,更喜歡全棧工程師,因?yàn)榍昂蠖朔蛛x架構(gòu)帶來(lái)的弊端越發(fā)明顯了。將完整的項(xiàng)目縱向分工越細(xì),帶來(lái)的溝通成本越大,成本呈指數(shù)增加。如果你以前是全棧工程師,然后進(jìn)入大公司后,負(fù)責(zé)一小塊技術(shù)領(lǐng)域,你會(huì)感覺(jué)自己就像被捆綁住了手腳在做事一樣,受多方牽制,效率極低。比如全鏈路 BUG 修復(fù)時(shí),需要多方一起合作才能定位問(wèn)題,甚至上游會(huì)要求你提供明確的證據(jù)證明使上游的問(wèn)題,上游才愿意幫你調(diào)查,踢皮球是常有的事。另外,全鏈路優(yōu)化變得十分困難,因?yàn)殚_(kāi)發(fā)人員只負(fù)責(zé)很小的一部分,不了解其他部分,這樣就沒(méi)辦法從一個(gè)上帝視角看整個(gè)項(xiàng)目。

前后端分離架構(gòu)解決了大規(guī)模開(kāi)發(fā)、人員合理分工、項(xiàng)目性能等問(wèn)題,但是也帶來(lái)了不少問(wèn)題,讓項(xiàng)目架構(gòu)變得復(fù)雜,對(duì)開(kāi)發(fā)、維護(hù)、運(yùn)維都帶來(lái)不少挑戰(zhàn),特別是人員之間的溝通成本。

有沒(méi)有更好的解決方案呢?

我覺(jué)得可以在框架層面解決上面的問(wèn)題,通過(guò)技術(shù)層面去解決。既然溝通成本很大,那么我們就減少溝通,將一個(gè)大的項(xiàng)目橫向拆分成一個(gè)個(gè)小的微應(yīng)用,每個(gè)全棧開(kāi)發(fā)人員負(fù)責(zé)其中一個(gè)完整的微應(yīng)用的開(kāi)發(fā)。這樣就可以充分發(fā)揮出全棧工程師的效率,通過(guò)局部最優(yōu),達(dá)到全局最優(yōu)。不管項(xiàng)目有多大,開(kāi)發(fā)人員有多少,只要我們能合理拆分成微應(yīng)用,我們溝通成本將是穩(wěn)定可控的。

我最近在嘗試做這樣的一個(gè)框架 Malagu。首先,它是一個(gè)全方位漸進(jìn)式的框架,你可以按傳統(tǒng)前后端分離的方式開(kāi)發(fā)應(yīng)用,你也可以按全棧的方式開(kāi)發(fā)應(yīng)用,這兩者之間是可以漸進(jìn)式切換。如果你擔(dān)心未來(lái)規(guī)模大了,想前后端分離開(kāi)發(fā),你可以先全棧模式開(kāi)發(fā),后期再切換為前后端分離開(kāi)發(fā)。前后端分離部署也是一樣,完全可以自由漸進(jìn)式控制。

其次,它也是一個(gè)全棧框架,你可以用它來(lái)開(kāi)發(fā)前端應(yīng)用、后端應(yīng)用、微服務(wù)、前后端一體化應(yīng)用。為了讓全棧開(kāi)發(fā)體驗(yàn)達(dá)到極致,前后端開(kāi)發(fā)語(yǔ)言都是用了 Typescript,這樣我們就不用來(lái)回切換開(kāi)發(fā)語(yǔ)言上下文了。了解更多有關(guān) Malagu 框架背景。

基于 Malagu 已經(jīng)上線不少業(yè)務(wù)項(xiàng)目,其中 Cellbang Cloud | 細(xì)胞云 應(yīng)該算是最為復(fù)雜的項(xiàng)目了。

總的來(lái)說(shuō)

Malagu 是基于 TypeScript 的 Serverless First、組件化、平臺(tái)無(wú)關(guān)的漸進(jìn)式應(yīng)用框架。

特征





關(guān)鍵詞:分離,發(fā)網(wǎng)

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉