您好,登錄后才能下訂單哦!
大家好,初來乍到,有點(diǎn)小緊張,寫得不好的請各位大佬多多批評指正。
我老板是個不懂技術(shù)的 boss,前天他找我去負(fù)責(zé)一個新項(xiàng)目,我內(nèi)心一想,勞資早受夠了這些老古董項(xiàng)目的苦了,這次肯定要按我想法來搞了,開心。這里說一下,我是寫Java的,之前一直在公司一直是維護(hù)別人寫的項(xiàng)目,祖?zhèn)鞔a那種,啥玩意都丟在jsp里面,一坨坨的,每天讓我在里面改哪些不可描述的代碼,此處手動微笑。
第二天,我屁顛屁顛地拿著俺的計(jì)劃和方案給他看,老板看完眉頭一皺,這種前后端完全分離的開發(fā)方式我們沒做過,為什么要選擇這種方式?前后端分離對實(shí)際開發(fā)有什么好處?還有后期維護(hù)怎么保證呢?嗶哩嗶哩,老板日常的三連問,瞬間讓沒有準(zhǔn)備的我尷尬了三秒,還好我機(jī)智,編了個分析文檔放在我私人MacBook的借口,趕緊溜掉,回到位置的我以迅雷不及掩耳之勢找到了資料,給他發(fā)了過去,然后再走過去,開始安利。
為什么選擇前后端分離?
這種搞法早已成為互聯(lián)網(wǎng)項(xiàng)目開發(fā)的業(yè)界標(biāo)準(zhǔn)使用方式,你這山村野夫真落后!那究竟前后端分離有什么優(yōu)勢呢?看看張大佬是怎么描述的。
1、為優(yōu)質(zhì)產(chǎn)品大招精益團(tuán)隊(duì)
通過將開發(fā)團(tuán)隊(duì)前后端分離化,讓前后端工程師只需要專注于前端或后端的開發(fā)工作,實(shí)現(xiàn)前后端工程師實(shí)現(xiàn)自治,培養(yǎng)其獨(dú)特的技術(shù)特性,然后構(gòu)建出一個全棧式的精益開發(fā)團(tuán)隊(duì)。
2、提升開發(fā)效率
前后端分離以后,可以實(shí)現(xiàn)前后端代碼的解耦,只要前后端溝通約定好應(yīng)用所需接口以及接口參數(shù),便可以開始并行開發(fā),無需等待對方的開發(fā)工作結(jié)束。與此同時,即使需求發(fā)生變更,只要接口與數(shù)據(jù)格式不變,后端開發(fā)人員就不需要修改代碼,只要前端進(jìn)行變動即可。如此一來整個應(yīng)用的開發(fā)效率必然會有質(zhì)的提升。
3、完美因?qū)?fù)雜多變的前端需求
如果開發(fā)團(tuán)隊(duì)能完成前后端分離的轉(zhuǎn)型,打造優(yōu)秀的前后端團(tuán)隊(duì),開發(fā)獨(dú)立化,讓開發(fā)人員做到專注專精,開發(fā)能力必然會有所提升,能夠完美應(yīng)對各種復(fù)雜多變的前端需求。
如何做到前后端分離?
任何一項(xiàng)技術(shù)以及架構(gòu)都不是適用于任何場景,前后端分離同樣也是如此。雖然前后端分離架構(gòu)能帶來許多的好處,但前提是建立在開發(fā)團(tuán)隊(duì)合適的基礎(chǔ)上的。當(dāng)我們前端比較重,也就是說頁面布局和業(yè)務(wù)邏輯復(fù)雜,渲染數(shù)據(jù)量大的時候,就應(yīng)該使用前后端分離架構(gòu)。
1、數(shù)據(jù)接口規(guī)范
在開發(fā)期間前后端共同商定好數(shù)據(jù)接口的交互形式和數(shù)據(jù)格式。然后實(shí)現(xiàn)前后端的并行開發(fā),其中前端工程師再開發(fā)完成之后可以獨(dú)自進(jìn)行mock測試,而后端也可以使用接口測試平臺進(jìn)行接口自測,然后前后端一起進(jìn)行功能聯(lián)調(diào)并校驗(yàn)格式,最終進(jìn)行自動化測試。
2、并行分離開發(fā)模式
前端的主要工作是在實(shí)現(xiàn)整一個前端頁面以及交互邏輯,利用ajax和服務(wù)端進(jìn)行交互,而后端主要為前端提供API接口,與數(shù)據(jù)庫進(jìn)行交互。前后段分離不僅僅只是工程師的分工開發(fā),更重要的意義在于實(shí)現(xiàn)了前后端的并行開發(fā),簡化了開發(fā)流程。
3、部署分離
前后端分離之后,應(yīng)用在部署時也需要進(jìn)行前后端分離。在進(jìn)行前后端分離方案選擇時,需要結(jié)合項(xiàng)目的實(shí)際情況和用戶來考慮。
對后期項(xiàng)目維護(hù)有什么好處?
前后端分離后,應(yīng)用的代碼不再是前后端混合,只有在運(yùn)行期才會有調(diào)用依賴關(guān)系。其實(shí),后端和前端工程師的追求點(diǎn)不同,分離開發(fā)有助于專精,前端模塊化,后端系統(tǒng)進(jìn)行分布式和微服務(wù)架構(gòu)等等。分離之后應(yīng)用代碼將會變得整潔清晰,不論是代碼閱讀還是代碼維護(hù)都會比以前輕松。
最后,老板滿意的點(diǎn)了三下頭,臉上還掛著一絲不可描述的微笑,仿佛在告訴我,勞資已經(jīng)對這個項(xiàng)目的了如指掌了,你可以滾蛋了。呵呵噠,反正老板同意了,我就開干了,和那些老古董分開的感覺真好,身心愉悅!說到這里就差不多結(jié)束了,對編程有興趣的盆友可以關(guān)注我的公眾號 “實(shí)訓(xùn)邦”哦!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。