專訪彭星老師:探究前後端分離存在的意義

你的團隊是否出現過以下的問題:

  • 隨著業務複雜度增加,前後端職責漸漸分工不清

  • 傳統開發模式下,團隊整體開發效率低下。

  • 項目代碼的可維護性很差

  • 由於後端框架限制,無法應對前端開發複雜多變的需求

如果你的團隊遇到了以上的問題,那麼是時候考慮用前後端分離來解決了。對於目前的 web業務場景來說,前後端分離已經變得越來越流行了,究其原因,正是這幾年隨著互聯網業務呈幾何式增長,對開發人員的要求越來越高,純瀏覽器端的響應式已經不能滿足企業對用戶體驗的高要求,往往工程師們不得不針對不同的終端來定製新的版本,為了提高開發效率,前後端分離的需求越來越被重視。

专访彭星老师:探究前后端分离存在的意义
专访彭星老师:探究前后端分离存在的意义

能否先簡單的自我介紹一下。

您在前後端分離方面有多年的經驗,您感覺為什麼現在大家都要做前後端分離,這麼做的動機是什麼?

彭星老師:這個問題很大,做前後端分離還是要看具體的應用場景,大部分情況下,還是為了讓前後端分工更明確,從而提高開發合作效率。因為以前的開發模式中經常存在前後端職責不清楚的狀況,經過這幾年的摸索,業內達成的共識是,前後端分離的核心在於在於模板的與數據結合的位置,以及模板的控制權在誰手裡,現在統一的做法是模版的控制權在前端這邊,這樣後端可以專心於業務邏輯、數據處理和持久化等。前端更專心於呈現,著重處理用戶體驗相關的問題。

那前後端分離主要解決了哪些問題呢?

彭星老師:有一點在之前已經說過,就是讓前後端的分工更明確了,除此之外,我認為它還解決了以下幾個問題:

  1. 減小前後端的耦合度,降低開發聯調環境部署成本,讓前端開發不依賴後端環境,提升開發效率;

  2. 前端發揮空間更大,解鎖很多能力,前端能夠結合後端能力做一些以前做不到的優化工作;

  3. 代碼維護成本相比之前降低很多;

在企業中,什麼樣子的技術團隊規模適合做前後端分離,一定要是團隊規模很大的大公司麼?

彭星老師:我覺得只要團隊內有能夠 Hold 住前後端分離的人,就應該做前後端分離,和團隊規模並沒太大關係。有的人會說,創業團隊追求的簡單快速上線,不應該做前後端分離,這其實是一種錯誤的認知。首先,前後端分離難度並不高,前後端分離有很多種形式,SPA 也是前後端分離的一種形態;其次,從業務發展來看,創業團隊的業務追求快速迭代,前後端分離也非常適合這種模式;最後,業務發展到最後再來做前後端分離,不如一開始就打好基礎。

您在做前後端分離中遇到過最大的阻礙和問題有哪些?

最後一個問題,目前的前後端分離方案,比如 SPA,基於 Node.js 等,這些解決方案都有哪些優缺點?

彭星老師:SPA 和基於 Node.js 的前後端分離都是前後端分離的一種形態,兩者都做到了前後端分離,在前後端分離的層面上,並沒有太大不同,主要的不同還是體現在技術形態上,一個是前端 JS 渲染,一個是後端 JS 渲染。

SPA(Single Page Application)。前後端分工很明確,後端負責數據接口,前端負責展現和交互,而且體驗很好,它的缺點是首屏加載資源較多,導致首屏渲染慢,白屏時間長,而且,一個很關鍵的點,SPA 對 SEO 支持的不是很好。

基於 Node.js 的前後端分離(這裡需要解釋一些,這裡說的基於 Node.js 的前後端分離不是指的類似於 Vue SSR 這樣的結構,而是用 Node.js 渲染的多頁應用)。這種方式的好處是白屏時間短,SEO 支持的很好,但是頁面與頁面切換開銷比較大,沒有平滑的過渡動畫,這點不比 SPA。

結束了對彭星老師的採訪,我們可以看出,隨著前端的豐富,前後端分離已經是必然的一個趨勢。各種技術如雨後春筍一般,層出不窮。而 Node.js的出現,是前端真正意義上變成了大前端。回首 Node.js這門語言的發展,起初作為一門後端語言,但是無心插柳的成為了前端工程師提高效率的工具,成為大前端發展的基石。

在大前端的趨勢下,無論你是後端工程師,亦或是前端工程師,前後端分離都是一個永遠繞不過去的問題,而 Node.js亦逐漸成為一個成熟的前後端分離的解決方案。但 Node.js究竟在前後端分離當中還有哪些更深層的應用?前後端分離的解決辦法究竟是什麼?前後端分離會給業務或者項目管理上帶來哪些收益?以上都可能是你現在心中的疑惑。

专访彭星老师:探究前后端分离存在的意义

現在掃描下方二維碼進行報名,可享 8折優惠,立省 960元


分享到:


相關文章: