成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

《從零構(gòu)建前后分離web項目》探究 - 深入聊聊前后分離架構(gòu)

Corwien / 3226人閱讀

摘要:什么是前后分離前后端分離并不是什么新鮮事,到處都是前后端分離的實踐。然而一些歷史項目在從一體化設(shè)計轉(zhuǎn)向前后端分離的架構(gòu)時,不可避免的會遇到各種各樣的問題。搞了一個前后分離,需要分離部署。

探究 :深入聊聊前后分離架構(gòu)

前后分離,一直是一個相當(dāng)泛泛的問題,前后分離到底好不好?沒有絕對的對,沒有絕對的錯,業(yè)界就這個問題已經(jīng)激烈的探討幾年了.出現(xiàn)討論的點在于:分離當(dāng)然是好的,但是以什么樣的服務(wù)需要進行前后拆分?拆分到什么粒度?前后端如何配合?

截圖時間: 2018-08-30 - Github

我們隨意在 Github 輸入前后分離關(guān)鍵字,看下搜索的結(jié)果: 1K 的庫 11kIssues 足以說明前后分離的趨勢,可以想象激烈程度,業(yè)界比較有名的討論:Web 前后端分離的意義大嗎?,值得一提的是:前排對于這個問題討論比較深刻的大部分都是全棧工程師。因為全棧對全局的了解相對比單純做前端、后端全局觀念更強一些,考慮的問題更多一些。

篩簡歷引發(fā)的思考和分析 后端職位的怪圈

在公司的簡歷庫隨手截幾個局部的圖,近兩年面試過很多的 1-3java 開發(fā)者,在篩選簡歷和面試過程中,也發(fā)現(xiàn)了幾個問題:相當(dāng)多一部分 javaer 技術(shù)棧上總是多了那么個 HTML ajax jquery bootstrap easyUi ,看起來很唐突,如果面試提到了前端技術(shù)棧,基本沒有能答的很好的,甚至有的人連 原型鏈 都不知道。這也是大部分人對全棧的誤解,其實我是不太感冒這樣的簡歷的,因為沒有什么亮點,技術(shù)棧不是寫的越多越好,總結(jié)起來:他們對前端的掌握很基礎(chǔ),勉強能勝任一些業(yè)務(wù)上的工作。那為什么這么多人都掌握一些前端技術(shù)呢?我分析可能有三點:

思考原因:

培訓(xùn)機構(gòu)的興起,機械化的教學(xué)

求職者自身的興趣

一些公司的技術(shù)棧不全,對技術(shù)沒有追求,大部分用的幾年前的架構(gòu),前后業(yè)務(wù)耦合很大,市場缺口大

分析

因為我也維護過幾個月的敏感項目,深有體會,只寫服務(wù)端的人是無法勝任這項工作的,
如果多數(shù)的 開發(fā)者 這樣的簡歷,可以推測:現(xiàn)在的 IT 行業(yè)中前后端糅雜一起的架構(gòu)還是存在、并且有一個量級,這導(dǎo)致他們不得不尋找一些懂得一點前端技術(shù)的人來開發(fā)項目,減少溝通的成本,加快項目的進度,這也就催生了很多所謂的 web 開發(fā)培訓(xùn)機構(gòu)。

你問我當(dāng)年維護的開心嗎?一會告訴你。
什么是前后分離

前后端分離并不是什么新鮮事,到處都是前后端分離的實踐。然而一些歷史項目在從一體化 Web 設(shè)計轉(zhuǎn)向前后端分離的架構(gòu)時,不可避免的會遇到各種各樣的問題。由于層出不窮的問題,甚至?xí)袌F隊質(zhì)疑,一體化好好的,為什么要搞前后端分離?說到底,還是技術(shù)和思維方式?jīng)]轉(zhuǎn)變過來。

一體化模式其實在上一開篇:縱觀歷史演變 中已經(jīng)提到過了,不在贅述。

前后分離看起來應(yīng)該是這樣的:

前后分離就是在架構(gòu)層次上 構(gòu)建項目或?qū)ΜF(xiàn)有的項目 客戶端 服務(wù)端 分離開,減少前后端代碼的耦合度,大家一致認同的前后端分離的例子就是SPA(Single-page application) ,所有用到的展現(xiàn)數(shù)據(jù)都是后端通過 JSON 但不僅限于 JSON 的方式提供的,前端只管展現(xiàn),提供更好更絢的交互,后端只管提供更健壯的高可用服務(wù)。

千萬不要有先寫項目,寫完再重構(gòu)的想法,項目初期能一步到位最好,何必再去重構(gòu),然后不得已拋棄一些已經(jīng)寫完的組件、庫浪費人力呢?

前后分離解決了什么問題 每個人各盡其職

好的開發(fā)者是可與不可求的,若尋找一個 優(yōu)秀的 full_stack 更是難,從校招進行培養(yǎng)也不太實際,招一個能力一般的程序員,技術(shù)驅(qū)動性比較差,甚至拖慢產(chǎn)品迭代。分離開來我們就可以專注于 前端、 服務(wù)端 領(lǐng)域去尋找專業(yè)的人才。

解耦

前端后端代碼大量耦合代碼看起來是這樣的:

看看簡單例子吧:

//(node端處理)
if (is_weixin()) {
init([
"api",
"image",
"xxx",
"...",
], function () {
<%- doSomeGloble %>
});
} else {

}
//接收node端一些數(shù)據(jù)
let blogs = <%- blogs %>;

let users = <%- users %>;
                     

這還不是 JAVA 模板 而是相對輕量、優(yōu)雅的 NODEEJS 渲染的,這還好,我見過更令人難受的代碼,經(jīng)常為了一個問題要回頭看 N 多代碼,這里就不寫了。

那么前后分離如何讓它們解耦變得更清晰?后面會結(jié)合服務(wù)端統(tǒng)一補充。

什么項目不適合前后分離 blog、文檔

你說你搭建一個博客、 API 文檔系統(tǒng) 這種小項目,一個人就可以開發(fā)。搞了一個前后分離,需要分離部署。又增加了 SEO 的復(fù)雜度,增加了開發(fā)的周期、增加了用戶部署的難度,何必呢?當(dāng)然,如果只是技術(shù)實踐的一種學(xué)習(xí)方式,還是歡迎的。

前后分離帶來的問題,如何解決? 溝通成本問題
前端妹子:哥,獲取全部博客調(diào)哪個接口?

哦,昨天不是發(fā)你文件了嗎

前端妹子:我找不到了

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/97304.html

相關(guān)文章

  • 從零構(gòu)建前后分離web項目探究 - 深入聊聊前后分離架構(gòu)

    摘要:什么是前后分離前后端分離并不是什么新鮮事,到處都是前后端分離的實踐。然而一些歷史項目在從一體化設(shè)計轉(zhuǎn)向前后端分離的架構(gòu)時,不可避免的會遇到各種各樣的問題。搞了一個前后分離,需要分離部署。 探究 :深入聊聊前后分離架構(gòu) 前后分離,一直是一個相當(dāng)泛泛的問題,前后分離到底好不好?沒有絕對的對,沒有絕對的錯,業(yè)界就這個問題已經(jīng)激烈的探討幾年了.出現(xiàn)討論的點在于:分離當(dāng)然是好的,但是以什么樣的服...

    whinc 評論0 收藏0
  • 從零構(gòu)建前后分離web項目探究 - 深入聊聊前后分離架構(gòu)

    摘要:什么是前后分離前后端分離并不是什么新鮮事,到處都是前后端分離的實踐。然而一些歷史項目在從一體化設(shè)計轉(zhuǎn)向前后端分離的架構(gòu)時,不可避免的會遇到各種各樣的問題。搞了一個前后分離,需要分離部署。 探究 :深入聊聊前后分離架構(gòu) 前后分離,一直是一個相當(dāng)泛泛的問題,前后分離到底好不好?沒有絕對的對,沒有絕對的錯,業(yè)界就這個問題已經(jīng)激烈的探討幾年了.出現(xiàn)討論的點在于:分離當(dāng)然是好的,但是以什么樣的服...

    lunaticf 評論0 收藏0
  • 從零構(gòu)建前后分離web項目》:前端了解過關(guān)了嗎?

    摘要:前端基礎(chǔ)架構(gòu)和硬核介紹技術(shù)棧的選擇首先我們構(gòu)建前端架構(gòu)需要對前端生態(tài)圈有一切了解,并且最好帶有一定的技術(shù)前瞻性,好的技術(shù)架構(gòu)可能日后會方便的擴展,減少重構(gòu)的次數(shù),即使重構(gòu)也不需要大動干戈,我通常選型技術(shù)棧會參考以下三點一提出自身業(yè)務(wù)的需求是 # 前端基礎(chǔ)架構(gòu)和硬核介紹 showImg(https://segmentfault.com/img/remote/146000001626972...

    lbool 評論0 收藏0
  • 從零構(gòu)建前后分離web項目》:前端了解過關(guān)了嗎?

    摘要:前端基礎(chǔ)架構(gòu)和硬核介紹技術(shù)棧的選擇首先我們構(gòu)建前端架構(gòu)需要對前端生態(tài)圈有一切了解,并且最好帶有一定的技術(shù)前瞻性,好的技術(shù)架構(gòu)可能日后會方便的擴展,減少重構(gòu)的次數(shù),即使重構(gòu)也不需要大動干戈,我通常選型技術(shù)棧會參考以下三點一提出自身業(yè)務(wù)的需求是 # 前端基礎(chǔ)架構(gòu)和硬核介紹 showImg(https://segmentfault.com/img/remote/146000001626972...

    cgspine 評論0 收藏0
  • 從零構(gòu)建前后分離web項目》:前端了解過關(guān)了嗎?前端基礎(chǔ)架構(gòu)和硬核介紹

    摘要:前端準(zhǔn)備前端了解過關(guān)了嗎前端基礎(chǔ)架構(gòu)和硬核介紹技術(shù)棧的選擇首先我們構(gòu)建前端架構(gòu)需要對前端生態(tài)圈有一切了解,并且最好帶有一定的技術(shù)前瞻性,好的技術(shù)架構(gòu)可能日后會方便的擴展,減少重構(gòu)的次數(shù),即使重構(gòu)也不需要大動干戈,我通常選型技術(shù)棧會參考以下三 # 前端準(zhǔn)備 :前端了解過關(guān)了嗎?前端基礎(chǔ)架構(gòu)和硬核介紹 showImg(https://segmentfault.com/img/remote/...

    SwordFly 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<