直擊靈魂深處的拷問:「爲何先後端分離,你比之前更痛苦」

1、先後端分離痛點剖析前端

一、你有沒有遇到過:正則表達式

· 前端代碼剛寫完,後端的接口又變了。
· 接口文檔永遠都是不對的。
· 測試工做永遠只能臨近上線才能開始。後端

二、爲何先後端分離了,你比從前更痛苦?瀏覽器

先後端分離早已經不是新聞,當真正分離以後確遇到了更多問題。要想解決如今的痛,就要知道痛的緣由:框架

①爲何接口會頻繁變更?前後端分離

· 設計之初沒有想好。 這須要提升需求的理解能力和接口設計能力。
· 變更的成本較低。德國有句諺語:「朝湯裏吐口水。」 只有這樣,才能讓人們放棄那碗湯,中止不合理的行爲。運維

先後端同窗坐在一塊兒工做的時候效率會有提高,當後端同窗接口變化時,只須要口頭上通知一下便可,咱們沒有文檔,咱們很敏捷啊。編輯器

沒錯,咱們須要認可這樣配合開發的效率會很高,可是頻繁的變更會致使不斷返工,形成了另外一種浪費,這種浪費是能夠被減小,甚至是被消除的。工具

②爲何接口文檔永遠都是不對的?測試

接口文檔在定接口時起到必定做用,寫完接口就沒有用了。後面接口的頻繁變化,文檔一定會永遠落後於實際接口,維護文檔的帶來了必定的成本卻沒能帶來價值。除非對外提供的接口,不然文檔誰來看呢?沒人看,用處又在哪?

有些公司乾脆丟掉接口文檔,說咱們要擁抱敏捷。因此接口文檔落後的緣由在於沒有給咱們帶來價值。

③爲何測試工做永遠只能臨近上線才能開始?

一個需求,後端開發 4 天,前端開發 4 天,聯調 4 天,留給測試同窗只有2天時間甚至更少,測不完只能帶 bug 上線。

三、現有開發流程

在開發階段測試同窗沒法介入,接口在變,前端也在變, 「提測」 以前只能喝茶,「提測」 以後又忙的要命。

1.jpg

自動化?想都別想,空有一身好本領,在 「擁抱變化」 以後只能手工測試。偶爾還要拉上前臺美眉客串一下測試小妹。手工測試枯燥乏味,乏味的工做就容易出錯,並且還不能快速重複,沒法對測試過的功能快速回歸。

四、怎麼破?

解決以上問題要讓接口文檔發揮價值,提升變更接口的成本,測試儘早介入。

接口文檔發揮出價值,就要賦予契約的意義,就如同簽字畫押誰也不準變,來約束咱們只認契約不認人。

契約應該由前端同窗來驅動,先後端共同協商。因爲前端同窗與 UX 接觸比較緊密,更瞭解頁面所需的數據以及總體的 User Journey,前端同窗驅動會更加合理。

契約敲定以後要幫助咱們生成 Mock Server,先後端同窗就要依照契約各自開發。

注:

資料來源於謝小呆的《爲何先後端分離了,你比從前更痛苦?》

原文連接:https://my.oschina.net/xbl/bl...

2、先後端分離痛點如何破冰?

原做者介紹了一種工具Mock Server,來解決先後端分離所帶來的問題:前端驅動契約,契約敲定後,建立Mock Server環境,先後端依照契約各自開發。接下來,小編給你們介紹另外一種解決問題的方法。

首先,看下改進後的開發流程:

部署一個CEAMS通用企業應用接口管理系統(簡稱「CEAMS系統」)而後前端提出業務需求,後端經過系統上的規範以及工具將這個需求整理成契約,根據契約,自動生成API(Application Programming Interface,應用程序接口)文檔,以後先後端依據契約相互獨立開發。

2.jpg

傳統作法是建立Mock Server環境,給前端提供API,而後經過 mock作出來的靜態的僞數據,提供給前端作測試。本文介紹的方法,經過CEAMS系統來實現先後端互相獨立開發,與Mock Server類似,實際上它也是一個server服務,其模塊上的代碼能夠隨意寫,在後端開發尚未完成的狀況下,能夠在其模塊上先寫僞代碼,而後返回符合接口契約的JSON對象,從而提供給前臺使用。也就是說,只要保持接口的數據規範統一,那麼先後端就能夠相互獨立工做,且減小彼此之間的依賴性。不過,在這以前,前端的接口規範,即契約,要先後端互相協調定下來,一旦契約定下來以後,你們就能夠各自按照這個契約去作本身的事情了。這種方法不用額外去建立mock環境,簡易的操做流程,大大下降先後端溝通成本,提升開發運維效率。

如今給你們介紹一下CEAMS系統的四大核心亮點:

一、統一標準的應用接口規範。依靠靈長科技公司自主開發的核心技術通用設備互聯框架(Common Device Interconnect Framework,CDIF),實現設備、服務和數據的統一規範,實現標準統一的調用接口。從這個規範出發,使用CEAMS系統上的工具,能夠完美地解決常常改接口的問題。

3.jpg

二、API文檔自動化。自動生成的文檔裏包含了完整的應用裏全部的API,以及API上傳輸的數據的類型定義,他比傳統人工手寫的文檔更嚴謹清晰,對於JSON數據裏每一個字段的類型定義,他的取值範圍或者正則表達式等等都有清晰的定義,並且是保證不會出錯的。這樣也避免了人工手寫的API文檔在更新過程當中由於編輯錯誤致使的接口聯調錯誤問題和溝通成本。

4.jpg

三、自動化測試工具。接口測試工具界面也自動根據規範參數生成。用生成的測試表單,能夠一鍵導入測試數據,實現全自動的API僞數據測試,無需人工干預。

5.jpg

四、雲端一體化的集成開發環境。集成自動化開發環境,平臺的開發者門戶,開發人員無需下載安裝配置任何開發環境,登錄瀏覽器,便可以隨時隨地在線開發,能夠大大的提升開發者對應用的開發和運維管理工做效率。

6.jpg

3、CEAMS系統開發流程簡介

下面簡單介紹一下CEAMS系統上的應用基本開發流程。開發一個API應用主要須要如下五步:

· 填寫應用的基本信息,包括應用的名稱、製造廠商、應用簡單說明等;
· 填寫應用中各個服務和API的名稱;
· 使用系統提供的JSON schema可視化編輯器在線編輯API裏各個數據字段的規範;
· 系統會從前面步驟裏獲得的API規範爲應用自動生成框架代碼,用戶只須要打開在線開發環境,在線編輯,開發和調試應用的代碼;
· 應用開發調試完成後,就能夠從系統裏一鍵部署和升級應用。接下來就能夠重複迭代這個過程,在線編輯開發和升級應用而且一鍵部署生效。整個開發過程不須要和HTTP接口打任何交道,這些都已經由咱們的系統自動幫助完成。


7.jpg

8.jpg

想了解更多信息,能夠點擊下方連接:

官方網站:靈長科技​www.apemesh.com
官方郵箱:mailto:sales@apemesh.com
掃碼下載軟件試用:
v2-428ae887a2fee66c51bf2ceda2324212_hd.png
(完)

未經贊成,本文禁止轉載或摘編。

相關文章
相關標籤/搜索