使用open-slim-mock讓Android開發變得優雅

簡介

open-slim-mock是我在開發的一款基於nodejs的服務端程序,用於在app的開發調試階段更好的與後端人員協作,便於前後端分離,快速定位接口問題。經過一年的使用,提高了我們的開發效率。現在代碼經過完全重構,代碼更清晰,功能更強大,現在開業開源出來,用於學習研究。

動機

在日常開發中,遇到一些與開發無關但是非常影響開發效率的事情:

並行開發

經常項目時間被壓縮的很緊,通常一個功能接口和app同時開發,這時候會做好數據結構的約定,造一些mock數據,兩邊獨立開發,寫好後就可以聯調了。

幫我打個包地址是xxx

後端發現自己的功能有問題,又不想寫單元測試(什麼單元測試是什麼),就喜歡找你打一個包,地址寫他的本機地址,這在別人看來舉手之勞的事你不幫?然而打包隨着項目的複雜,越來越耗時不說,地址經常改來改去還容易忙中出錯。

三英戰呂布

項目老闆很重視,給你安排了劉關張三個後臺來寫接口,每人負責一個模塊,這時候要聯調了,發現功能需求要求你去劉那裏拿到A數據,再把A給關那裏拿到B數據,在把B數據提交給張,每個接口運行在不同的測試環境,你怎麼辦?

跨域訪問

app項目包含HTML5頁面,想先在先進的瀏覽器Chrome環境下調試好再集成到app中,發現後臺數據無法訪問,跨域被拒絕,如何解決?

解決之道

  • open-slim-mock如何解決並行開發問題?
    open-slim-mock就是盛放mock數據而生的,可以進預先準備好的文本、二進制數據作爲結果返回。
  • open-slim-mock如何解決幫我打個包地址是xxx問題?
    open-slim-mock使用反向代理技術將請求轉發到遠端服務器,在將結果轉發給app。
  • open-slim-mock如何解決三英戰呂布問題?
    open-slim-mock的反向代理任意顆粒度小到單個請求,即可以對A接口代理到A服務器,B接口代理到B服務器。
  • open-slim-mock如何解決跨域訪問問題?
    open-slim-mock可以動態配置對響應頭進行注入,強制允許跨域訪問

Q&A

  • Q:阿里/騰訊/** 已經有類似項目了,又好又強大
    A: 響應號召,研究自主可控的技術,專注代碼之上的思想和解決問題的方法,不被一些KPI驅動的開源項目遮擋了雙眼
  • Q: 有bug/缺少xx功能
    A: 會盡力修復bug,不會做大而全什麼功能都往裏面加,建議fork。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章