1. 程式人生 > >對於產品型初創團隊的我們,是如何做介面管理的

對於產品型初創團隊的我們,是如何做介面管理的

今天我想從一個真實的案例來和大家聊聊我們團隊是如何在開發過程中做介面管理這一塊的。

       我們公司雖然人數將近100了,但是技術團隊還算是一個初創團隊,主打產品一個網際網路駕培app,但是有很多衍生產品,比如給駕校用的駕校管理後臺,給客服用的客服管理後臺,給我們自己用的運營總後臺。我們技術部麻雀雖小五腑俱全,後端,前端,app開發人員應有盡有,所以我們在做系統開發的時候就用了前後端分離開發的模式,前端有專門的h5開發人員和js開發人員組成,h5專門負責編寫頁面樣式,而js開發人員專門負責和後端進行資料互動,這個資料互動的橋樑就是介面,後端人員只要開發介面即可。同時,在我的推廣下,後端很多業務從java轉變到了輕量級的nodejs,前端從jquery逐漸向元件化,mvvm靠攏,一段時間相互合作分工下來,效率提升很高,雖然有過不少坑,比如cors,首屏渲染效率等,但是都一一踩過,也算收貨不少,這些之後都會和大家做詳盡的分享。

        首先在工具的選擇上,我們使用了SBDoc來作為我們的介面管理平臺,因為當初開發它的時候就是為了解決前後端在介面交流問題上的不暢。

  1. 專案啟動階段:

    這個階段我們首先在SBDoc上面新建一個專案



       建立好專案後,我們會把組裡面的成員拉進來,然後分配好不同的許可權,後臺開發的分配管理員許可權,可以增刪改查專案介面,而前端開發的分配觀察者許可權,只能檢視和測試介面,不能增刪改介面資訊。


       每個專案的開發都對應著相應的環境,我們團隊的專案有測試環境,對等環境和生產環境三種,每種環境下介面的根url都一樣,但是後面介面路徑是一樣的,在SBDoc裡,根url我們稱作為BaseUrl,所以我們還需要設定一下BaseUrl


2.專案開發階段

       首先建立完專案以後,在每一個專案專案下會有兩個預設的分組,一個是回收站,用於存放刪除的介面資訊,一個是未命名的分組,需要你重新命名。


       因為我們團隊是前後端分離開發,所以後端開發的任務相對來說還是比較輕的,對於後端開發來說只需要設計好資料庫,然後定義好介面文件,開始編碼就可以了,使用SBDoc的優勢就是實時編寫實時預覽實時測試,同時支援內網環境。




       在上圖中,我們看到了,我們只定義了輸入引數,沒有定義輸出引數,對於開發前期來說,引數可能會經常變化,而且輸出不穩定,所以我們在SBDoc裡面新增一個功能就是可以根據測試時候輸入和輸出引數動態的生成介面文件資訊。


       這樣的話整個介面文件的編寫就非常直觀簡潔,而且很智慧,一旦介面在開發中有任何改動,都可以自動的生成新的文件資訊。下面是完整的預覽介面


       以上只是文件編寫功能的冰山一角,SBDoc在檔案上傳,介面欄位加密,Raw資料傳送,程式碼注入等功能上同樣也很出色。

       值得一提的是,雖然市面上有不少同類產品,但是他們在除錯介面這一塊都是基於web本地環境的,所以避免不了要安裝外掛,不同瀏覽器的相容也是一個問題,SBDoc採用的是後端proxy代理模式,所有的介面資料都是通過SBDoc自身的後端進行透明代理,解決了很多其他產品難以解決的問題,同時更強大,更靈活,可配置性更高。

       話說回來,在開發的時候前端往往都會有一個痛點,我們之前每次在前後端分離開發的時候,前端總是要等待後端的介面開發完成才能進行開始前端頁面的資料填充,邏輯編寫,這樣耗費了很多時間精力,有沒有辦法達到前後端並行開發呢,答案是肯定的,就是mock,什麼是mock,就是根據一定的規則生成假資料給前端返回,那麼SBDoc也集成了mock的功能,同時更簡單,更強大~


       上圖就是在介面編輯的時候定好了mock規則,然後每個介面都有一個選項,開發狀態,分為開發中和開發完成,而每一個專案也都有自己專屬的mock server地址,前端需要做的就是在前端工程裡將根url地址改成SBDoc提供給你的mock地址,當你執行工程的時候,SBDoc會在背後判斷你請求的每個介面狀態 ,如果他是開發中,那麼就會返回定義好規則的mock資料,如果是開發完成,那麼就會去請求真實的地址返回真實的資料。

3.專案開發完成

       專案開發完成,那麼進入的就是測試階段,人工測試?nonono,SBDoc提供了智慧化一體式的自動化測試,根據您的測試需求隨意迴歸,大大減輕了測試成本,目前該功能正在內測中,敬請期待!

       以上介紹的只是我們團隊在實踐SBDoc的過程中的冰山一角,更多更強大的功能還期待大家的使用。

       介面管理看似簡單,實際上裡面有很多學問,而我們團隊也是伴隨著SBDoc的完善一同成長起來,所以我覺得一定也有更多的團隊和我們一樣需要一個強大簡單的管理工具來提升我們的開發效率,減少我們的除錯時間,所以我將SBDoc的原始碼全部開放出來,掛在了github上面,並且提供了非常簡單的本地部署方案,歡迎各位多提建議,一同進步!