摘要:什么是前后分離前后端分離并不是什么新鮮事,到處都是前后端分離的實踐。然而一些歷史項目在從一體化設計轉向前后端分離的架構時,不可避免的會遇到各種各樣的問題。搞了一個前后分離,需要分離部署。
探究 :深入聊聊前后分離架構
前后分離,一直是一個相當泛泛的問題,前后分離到底好不好?沒有絕對的對,沒有絕對的錯,業界就這個問題已經激烈的探討幾年了.出現討論的點在于:分離當然是好的,但是以什么樣的服務需要進行前后拆分?拆分到什么粒度?前后端如何配合?
截圖時間: 2018-08-30 - Github
我們隨意在 Github 輸入前后分離關鍵字,看下搜索的結果: 1K 的庫 11k 的 Issues 足以說明前后分離的趨勢,可以想象激烈程度,業界比較有名的討論:Web 前后端分離的意義大嗎?,值得一提的是:前排對于這個問題討論比較深刻的大部分都是全棧工程師。因為全棧對全局的了解相對比單純做前端、后端全局觀念更強一些,考慮的問題更多一些。
篩簡歷引發的思考和分析 后端職位的怪圈在公司的簡歷庫隨手截幾個局部的圖,近兩年面試過很多的 1-3 年 java 開發者,在篩選簡歷和面試過程中,也發現了幾個問題:相當多一部分 javaer 技術棧上總是多了那么個 HTML ajax jquery bootstrap easyUi ,看起來很唐突,如果面試提到了前端技術棧,基本沒有能答的很好的,甚至有的人連 原型鏈 都不知道。這也是大部分人對全棧的誤解,其實我是不太感冒這樣的簡歷的,因為沒有什么亮點,技術棧不是寫的越多越好,總結起來:他們對前端的掌握很基礎,勉強能勝任一些業務上的工作。那為什么這么多人都掌握一些前端技術呢?我分析可能有三點:
思考原因:培訓機構的興起,機械化的教學
求職者自身的興趣
一些公司的技術棧不全,對技術沒有追求,大部分用的幾年前的架構,前后業務耦合很大,市場缺口大
分析因為我也維護過幾個月的敏感項目,深有體會,只寫服務端的人是無法勝任這項工作的,
如果多數的 開發者 這樣的簡歷,可以推測:現在的 IT 行業中前后端糅雜一起的架構還是存在、并且有一個量級,這導致他們不得不尋找一些懂得一點前端技術的人來開發項目,減少溝通的成本,加快項目的進度,這也就催生了很多所謂的 web 開發培訓機構。
你問我當年維護的開心嗎?一會告訴你。什么是前后分離
前后端分離并不是什么新鮮事,到處都是前后端分離的實踐。然而一些歷史項目在從一體化 Web 設計轉向前后端分離的架構時,不可避免的會遇到各種各樣的問題。由于層出不窮的問題,甚至會有團隊質疑,一體化好好的,為什么要搞前后端分離?說到底,還是技術和思維方式沒轉變過來。
一體化模式其實在上一開篇:縱觀歷史演變 中已經提到過了,不在贅述。
前后分離看起來應該是這樣的:
前后分離就是在架構層次上 構建項目或對現有的項目 客戶端 服務端 分離開,減少前后端代碼的耦合度,大家一致認同的前后端分離的例子就是SPA(Single-page application) ,所有用到的展現數據都是后端通過 JSON 但不僅限于 JSON 的方式提供的,前端只管展現,提供更好更絢的交互,后端只管提供更健壯的高可用服務。
千萬不要有先寫項目,寫完再重構的想法,項目初期能一步到位最好,何必再去重構,然后不得已拋棄一些已經寫完的組件、庫浪費人力呢?
前后分離解決了什么問題 每個人各盡其職好的開發者是可與不可求的,若尋找一個 優秀的 full_stack 更是難,從校招進行培養也不太實際,招一個能力一般的程序員,技術驅動性比較差,甚至拖慢產品迭代。分離開來我們就可以專注于 前端、 服務端 領域去尋找專業的人才。
解耦前端后端代碼大量耦合代碼看起來是這樣的:
看看簡單例子吧:
//(node端處理) if (is_weixin()) { init([ "api", "image", "xxx", "...", ], function () { <%- doSomeGloble %> }); } else { } //接收node端一些數據 let blogs = <%- blogs %>; let users = <%- users %>;
這還不是 JAVA 模板 而是相對輕量、優雅的 NODE 的 EJS 渲染的,這還好,我見過更令人難受的代碼,經常為了一個問題要回頭看 N 多代碼,這里就不寫了。
那么前后分離如何讓它們解耦變得更清晰?后面會結合服務端統一補充。
什么項目不適合前后分離 blog、文檔你說你搭建一個博客、 API 文檔系統 這種小項目,一個人就可以開發。搞了一個前后分離,需要分離部署。又增加了 SEO 的復雜度,增加了開發的周期、增加了用戶部署的難度,何必呢?當然,如果只是技術實踐的一種學習方式,還是歡迎的。
前后分離帶來的問題,如何解決? 溝通成本問題前端妹子:哥,獲取全部博客調哪個接口?哦,昨天不是發你文件了嗎
前端妹子:我找不到了
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76997.html
摘要:什么是前后分離前后端分離并不是什么新鮮事,到處都是前后端分離的實踐。然而一些歷史項目在從一體化設計轉向前后端分離的架構時,不可避免的會遇到各種各樣的問題。搞了一個前后分離,需要分離部署。 探究 :深入聊聊前后分離架構 前后分離,一直是一個相當泛泛的問題,前后分離到底好不好?沒有絕對的對,沒有絕對的錯,業界就這個問題已經激烈的探討幾年了.出現討論的點在于:分離當然是好的,但是以什么樣的服...
摘要:什么是前后分離前后端分離并不是什么新鮮事,到處都是前后端分離的實踐。然而一些歷史項目在從一體化設計轉向前后端分離的架構時,不可避免的會遇到各種各樣的問題。搞了一個前后分離,需要分離部署。 探究 :深入聊聊前后分離架構 前后分離,一直是一個相當泛泛的問題,前后分離到底好不好?沒有絕對的對,沒有絕對的錯,業界就這個問題已經激烈的探討幾年了.出現討論的點在于:分離當然是好的,但是以什么樣的服...
摘要:前端基礎架構和硬核介紹技術棧的選擇首先我們構建前端架構需要對前端生態圈有一切了解,并且最好帶有一定的技術前瞻性,好的技術架構可能日后會方便的擴展,減少重構的次數,即使重構也不需要大動干戈,我通常選型技術棧會參考以下三點一提出自身業務的需求是 # 前端基礎架構和硬核介紹 showImg(https://segmentfault.com/img/remote/146000001626972...
摘要:前端基礎架構和硬核介紹技術棧的選擇首先我們構建前端架構需要對前端生態圈有一切了解,并且最好帶有一定的技術前瞻性,好的技術架構可能日后會方便的擴展,減少重構的次數,即使重構也不需要大動干戈,我通常選型技術棧會參考以下三點一提出自身業務的需求是 # 前端基礎架構和硬核介紹 showImg(https://segmentfault.com/img/remote/146000001626972...
摘要:前端準備前端了解過關了嗎前端基礎架構和硬核介紹技術棧的選擇首先我們構建前端架構需要對前端生態圈有一切了解,并且最好帶有一定的技術前瞻性,好的技術架構可能日后會方便的擴展,減少重構的次數,即使重構也不需要大動干戈,我通常選型技術棧會參考以下三 # 前端準備 :前端了解過關了嗎?前端基礎架構和硬核介紹 showImg(https://segmentfault.com/img/remote/...
閱讀 3728·2021-11-24 09:39
閱讀 2609·2019-08-30 15:54
閱讀 1148·2019-08-30 13:01
閱讀 3429·2019-08-28 18:30
閱讀 1622·2019-08-26 17:44
閱讀 3591·2019-08-26 11:31
閱讀 2412·2019-08-26 10:40
閱讀 1239·2019-08-26 10:27